A method and apparatus for collaborative planning of a robot with an external axis
Patent Information
- Application Number
- CN202611303363.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-26
- Publication Date
- 2026-10-20
AI Technical Summary
若将机器人与外部轴分开规划,容易出现相邻轨迹点轴值跳变、外部轴往复运动、机器人接近关节限位或奇异位、轨迹速度和加速度不连续以及人工调参工作量大等问题,难以满足连续加工任务对稳定性和一致性的要求
[0022]本发明实施例的技术方案,通过获取多轴联动系统所对应目标轨迹点的目标位姿;基于正运动函数确定所述机器人末端TCP对应当前轨迹点的当前位姿;确定目标位姿与当前位姿之间的当前位姿误差;在位姿误差大于或等于预设误差阈值时,基于多轴联动系统的初始轴值以及轴值更新公式迭代逆解对应的轴值增量,并根据轴值增量更新初始轴值,返回位姿误差的确定步骤迭代执行,直至当前位姿误差小于预设误差阈值,输出多轴联动系统的协同逆解结果,将协同逆解结果作为多轴联动系统对应的协同运动轴值,能够实现机器人与附加外部轴的高效协同规划,从而满足连续加工任务对稳定性和一致性的要求。
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This invention relates to the field of industrial robot motion control and intelligent path planning technology, and in particular to a collaborative planning method and apparatus for a robot and an external axis. Background Technology
[0002] In recent years, with the continuous expansion of applications in manufacturing, such as large component processing, long-distance welding, complex surface grinding, spraying, and flexible loading and unloading, single six-axis industrial robots, limited by arm span, joint travel, singular configurations, and on-site tooling layout, have struggled to meet the demands of large-scale, large-angle, and continuous trajectory operations. Therefore, engineering projects typically require the introduction of external axes such as ground rails, turntables, and positioners to coordinate with robot movement, thereby expanding the workspace and improving the robot's end effector's posture relative to the workpiece. Since external axis movement alters the robot's base coordinate system or the workpiece's coordinate system, the relative relationship between the target point and the robot's end effector changes with the external axis values. If the robot and external axes are planned separately, problems such as abrupt changes in axis values between adjacent trajectory points, reciprocating motion of external axes, robot approaching joint limits or singular positions, discontinuous trajectory speed and acceleration, and a large workload for manual parameter tuning can easily arise, making it difficult to meet the stability and consistency requirements of continuous processing tasks. Summary of the Invention
[0003] This invention provides a method and apparatus for collaborative planning of a robot and an external axis, which can realize efficient collaborative planning of the robot and an additional external axis, thereby meeting the requirements of stability and consistency for continuous processing tasks.
[0004] In one embodiment, the present invention provides a cooperative planning method for a robot and an external axis, comprising:
[0005] Obtain the target pose corresponding to the multi-axis linkage system; wherein, the multi-axis linkage system includes a robot body and additional external axes; the target pose is the pose that the center point TCP of the robot's end tool in the multi-axis linkage system needs to achieve next;
[0006] The current pose of the robot's end effector center point TCP is determined based on a pre-constructed positive motion function.
[0007] Determine the pose error between the target pose and the current pose;
[0008] When the pose error is greater than or equal to a preset error threshold, the corresponding axis value increment is iteratively solved based on the initial axis value of the multi-axis linkage system and the pre-constructed axis value update formula. The initial axis value is updated according to the axis value increment, and the pose error determination step is iteratively executed until the pose error is less than the preset error threshold. The cooperative inverse solution result of the multi-axis linkage system is output, and the cooperative inverse solution result is used as the cooperative motion axis value corresponding to the multi-axis linkage system. The cooperative motion axis value is used as the initial axis value of the next trajectory point of the multi-axis linkage system.
[0009] The axis value update formula is determined by the pose error, the pre-constructed Jacobian matrix, the pre-constructed multi-constraint null space term, and the preset adaptive weights.
[0010] In one embodiment, the present invention provides a collaborative planning device for a robot and an external axis, the device comprising:
[0011] The target pose acquisition module is used to acquire the target pose corresponding to the multi-axis linkage system; wherein, the multi-axis linkage system includes a robot body and additional external axes; the target pose is the pose that the center point TCP of the robot's end tool in the multi-axis linkage system needs to reach next;
[0012] The current pose determination module is used to determine the current pose corresponding to the center point TCP of the robot end effector based on a pre-constructed positive motion function;
[0013] An error determination module is used to determine the current pose error between the target pose and the current pose.
[0014] The collaborative planning module is used to iteratively solve the corresponding axis value increment based on the initial axis value of the multi-axis linkage system and the pre-constructed axis value update formula when the pose error is greater than or equal to a preset error threshold. It updates the initial axis value according to the axis value increment, returns to the pose error determination step for iterative execution until the pose error is less than the preset error threshold, outputs the collaborative inverse solution result of the multi-axis linkage system, uses the collaborative inverse solution result as the collaborative motion axis value corresponding to the multi-axis linkage system, and uses the collaborative motion axis value as the initial axis value of the next trajectory point of the multi-axis linkage system.
[0015] The axis value update formula is determined by the pose error, the pre-constructed Jacobian matrix, the pre-constructed multi-constraint null space term, and the preset adaptive weights.
[0016] In one embodiment, the present invention provides an electronic device, including:
[0017] At least one processor; and
[0018] A memory that is communicatively connected to at least one processor; wherein,
[0019] The memory stores a computer program that can be executed by at least one processor, such that the at least one processor is able to execute a collaborative planning method for a robot and an external axis provided in any embodiment of the present invention.
[0020] In one embodiment, the present invention provides a computer-readable storage medium storing computer instructions for causing a processor to execute a collaborative planning method for a robot and an external axis provided in any embodiment of the present invention.
[0021] In one embodiment, the present invention provides a computer program product, the computer program product including a computer program, which, when executed by a processor, implements a collaborative planning method for a robot and an external axis provided in any embodiment of the present invention.
[0022] The technical solution of this invention obtains the target pose of the target trajectory point corresponding to the multi-axis linkage system; determines the current pose of the current trajectory point corresponding to the robot end effector TCP based on the positive motion function; determines the current pose error between the target pose and the current pose; when the pose error is greater than or equal to a preset error threshold, iteratively solves the corresponding axis value increment based on the initial axis value of the multi-axis linkage system and the axis value update formula, updates the initial axis value according to the axis value increment, and returns to the pose error determination step for iterative execution until the current pose error is less than the preset error threshold, outputs the cooperative inverse solution result of the multi-axis linkage system, and uses the cooperative inverse solution result as the cooperative motion axis value corresponding to the multi-axis linkage system. This enables efficient cooperative planning between the robot and additional external axes, thereby meeting the stability and consistency requirements of continuous processing tasks.
[0023] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0024] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0025] Figure 1This is a flowchart of a collaborative planning method for a robot and an external axis provided in an embodiment of the present invention;
[0026] Figure 2 This is a flowchart of another collaborative planning method between a robot and an external axis provided in an embodiment of the present invention;
[0027] Figure 3 This is a schematic diagram of another collaborative planning method between a robot and an external axis provided in an embodiment of the present invention;
[0028] Figure 4 This is a schematic diagram of the structure of a collaborative planning device for a robot and an external axis provided in an embodiment of the present invention;
[0029] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0030] 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.
[0031] 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 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.
[0032] In one embodiment, Figure 1 This is a flowchart of a collaborative planning method for a robot and an external axis provided in an embodiment of the present invention. This embodiment is applicable to the situation of collaborative motion planning for an industrial robot with an external axis attached. The method can be executed by a collaborative planning device for the robot and the external axis, which can be implemented in hardware and / or software.
[0033] like Figure 1As shown, the method includes:
[0034] S110. Obtain the target pose corresponding to the multi-axis linkage system; wherein, the multi-axis linkage system includes the robot body and additional external axes; the target pose is the pose that the center point TCP of the robot end tool in the multi-axis linkage system needs to reach next.
[0035] In this context, the target pose refers to the position and orientation of the target trajectory point. It can be understood as the trajectory point that the robot's end-effector center point (TCP) is expected to reach when performing a certain action in a multi-axis linkage system. This is a planned value, and the corresponding spatial pose is located at this trajectory point. The robot's end-effector center point (TCP) refers to the effective working point of the tool (welding gun, glue gun, gripper, etc.) mounted on the robot flange. It can be understood as the "virtual fingertip" actually used when programming and controlling the robot, such as the tip of the welding wire in a welding gun or the dispensing needle. It is a fixed point defined in the tool coordinate system.
[0036] In this embodiment, the multi-axis linkage system includes a robot body and additional external axes. The robot body can be a six-axis industrial robot or other industrial robots with multiple axes. The additional external axes can include, but are not limited to, additional motion mechanisms such as ground rails, turntables, and positioners that can change the posture of the robot base or the workpiece. The number of external axes can be one or more, so that the robot body and the external axes form a 6+n axis cooperative motion system, where n is the number of additional external axes.
[0037] In this embodiment, when the robot body and its additional external axes perform tasks such as large component processing, long-distance welding, complex surface grinding, spraying, and flexible loading and unloading, they will execute movements according to a certain target motion trajectory. During this movement, each movement point corresponds to a corresponding target trajectory point. This target trajectory point can be the pose point that the robot's end-effector center point TCP needs to reach next in a multi-axis linkage system. It is necessary to solve inverse kinematics to obtain a suitable set of q values so that the robot and the external axis can achieve coordinated motion while satisfying the target pose, constraints and trajectory continuity.
[0038] S120. Determine the current pose corresponding to the center point TCP of the robot's end effector based on the pre-constructed positive motion function.
[0039] The current pose can include the current position and the current attitude, which refers to the actual spatial position and attitude of the robot's TCP (tool center point) at the current moment when the robot body and the attached external axes are linked.
[0040] In one embodiment, the construction of the positive kinematic function includes: determining the multidimensional external axis variables of the additional external axis and the robot body variables; and establishing a positive kinematic model based on the multidimensional external axis variables and the robot body variables in the same world coordinate system. Specifically, this embodiment uses the example of an industrial 6-axis robot mounted on a ground rail, with the robot and ground rail working together. This multi-axis linkage system is a 6+1 axis system, where the ground rail is considered as an external axis. For systems containing multiple external axes, the external axis variables can be extended to an n-dimensional external axis vector using the same method. For the robot-ground rail collaborative system, the ground rail axis is used as the external axis variable, the six robot joints are used as the robot body variables, and a positive kinematic model is established in the same world coordinate system. Its positive kinematic function can be expressed as follows: Where q is a vector containing the axis values of the robot's 6 axes and external axes. , This is the axis value of the outer axis of the ground rail, that is, the translation amount of the robot mounting platform on the ground rail. to These are the joint angles of the robot's 6 axes; Represented as the ground orbit The axis value represents the pose of the robot installation platform on the ground track in the world coordinate system. This indicates the installation pose of the robot's base coordinate system relative to the robot's mounting platform on the ground track. This represents the pose of the robot's end effector (TCP) relative to the robot's base coordinate system at a given 6-axis joint angle. The above transformation chain allows for a unified description of external axis motion and robot body motion within the same world coordinate system. For multiple external axes, the pose transformations corresponding to each external axis can be sequentially introduced into the forward kinematics chain according to the mechanism's topology.
[0041] In this embodiment, the pose of the robot's end effector TCP is calculated using positive kinematics. This pose is the final pose of the robot's end effector TCP after linkage with the external axis and ground rail. Specifically, firstly, the pose of the flange center relative to the robot base is calculated based on the joint angles using positive kinematics. Then, this result is multiplied by the transformation matrix of the tool coordinate system relative to the flange (i.e., the TCP offset) to obtain the TCP pose.
[0042] S130. Determine the pose error between the target pose and the current pose.
[0043] The pose error is the error in position and orientation between the target pose and the current pose.
[0044] In this embodiment, the pose error can be determined as follows: First, the position error between the target position in the target pose and the current position in the current pose is determined. Simultaneously, the attitude error between the target attitude in the target pose and the current attitude in the current pose is determined. The position error and attitude error are then used as the pose error. In this embodiment, the position error can be calculated using the difference between coordinate points (e.g., the Euclidean distance between the coordinate points corresponding to the target position and the current position). Since the attitude error is a three-dimensional rotation error, it can be calculated using the relative attitude angle based on the rotation matrix, or it can be calculated using the Lie algebra mapping method. This embodiment does not impose specific limitations on these methods.
[0045] S140. When the pose error is greater than or equal to the preset error threshold, the corresponding axis value increment is iteratively solved based on the initial axis value of the multi-axis linkage system and the pre-constructed axis value update formula. The initial axis value is updated according to the axis value increment. The pose error determination step is iteratively executed until the pose error is less than the preset error threshold. The cooperative inverse solution result of the multi-axis linkage system is output. The cooperative inverse solution result is used as the cooperative motion axis value of the multi-axis linkage system, and the cooperative motion axis value is used as the initial axis value of the next trajectory point of the multi-axis.
[0046] The axis value update formula is determined by the pose error, the pre-constructed Jacobian matrix, the pre-constructed multi-constraint null space term, and the preset adaptive weights.
[0047] The preset error threshold is a posture error threshold that is customized by the user based on experience or needs.
[0048] In this embodiment, the initial axis value can be determined by the cooperative motion axis value after convergence of the previous trajectory point in the continuous trajectory, or by the current axis values corresponding to the robot body and the additional external axes in the multi-axis linkage system. In this embodiment, the current joint value between the robot and the ground track or the converged axis value of the previous trajectory point is used. As the initial value for iteration, when the pose error is greater than or equal to the preset error threshold, the Jacobian matrix is first approximately constructed. Based on the Jacobian matrix, pose error, multi-constraint null space term, and adaptive weight matrix, the joint increment of the joint value in each iteration is calculated. The next joint value is determined based on the joint increment. Based on the next joint value, the next pose after iteration is calculated in combination with the positive motion function. The next pose is used as the current pose. The steps for determining the current pose are returned and iteratively executed until the pose error is less than the preset error threshold. The cooperative inverse solution result of the multi-axis linkage system is output. The cooperative inverse solution result is used as the cooperative motion axis value of the multi-axis linkage system. The cooperative motion axis value is used as the initial axis value of the next trajectory point of the multi-axis linkage system.
[0049] It should be noted that the Jacobian matrix can be constructed analytically or approximated by numerical difference. Then, the joint increment of the joint value in each iteration is calculated by combining the pose error, motion weight matrix and null space optimization term.
[0050] In one embodiment, the construction of the axis value update formula includes:
[0051] The Jacobian matrix is approximately constructed based on the numerical difference method; where the Jacobian matrix is expressed as: ; Represented as the i-th column of the Jacobian matrix J; Let be the numerical difference derivative of the i-th axis; i represents the axis number; n is the number of external axes;
[0052] Based on the Jacobian matrix, and combined with pose error, multi-constraint null space terms and adaptive weight matrix, the axis value update formula in each iteration process is determined;
[0053] The axis value update formula is expressed as follows: In the formula, This represents the increment of the current axis value in the current iteration of the multi-axis linkage system; This represents the weighted pseudoinverse of the Jacobian matrix; Indicates pose error. , This is expressed as position error. Let J represent the attitude error; J represent the Jacobian matrix of the positive motion function at the k-th trajectory point; I represent the identity matrix; z represents the null space optimization term; where, In the formula, It is represented as the inverse of the adaptive weight matrix of a multi-axis linkage system; Indicates the transpose of J; This represents the damping coefficient, used to prevent excessive joint increments when the robot's motion reaches the vicinity of a singularity.
[0054] In one embodiment, the adaptive weight matrix includes adaptive weights for robot joints and adaptive weights for external axes; wherein, the adaptive weights for robot joints are expressed as: In the formula, This represents the updated weight of the robot's i-th joint axis at the k-th trajectory point; clip indicates that the updated weight is limited to a set range. This represents the initial weight of the robot at the i-th joint axis; , , These represent the joint limit margin adjustment coefficient, singular penalty adjustment coefficient, and axis value change adjustment coefficient for the robot, respectively. This represents the normalized axis value change of the robot's i-th joint axis between adjacent trajectory points; , These represent the lower and upper limits of the robot's weights, respectively. This represents the travel margin of the robot at the k-th trajectory point on the i-th axis. It is represented as the singular penalty for the k-th trajectory point;
[0055] The additional external axis adaptive weight is represented as: In the formula, This represents the update weight of the j-th additional external axis at the k-th trajectory point; The initial weight of the j-th additional external axis; , These are respectively represented as the travel margin adjustment coefficient and the shaft value change adjustment coefficient of the additional external shaft; , These are respectively represented as the normalized travel margin and the normalized axis value variation of the additional external axis.
[0056] Among them, each adjustment coefficient is used to control the degree of influence of different indicators on the weight; when the robot joint limit margin decreases or the singular penalty increases, the robot joint weight increases, the robot joint motion is suppressed, and the additional external axis participates in compensation relatively preferentially; when the additional external axis is close to the travel boundary or the adjacent point changes too much, the weight of the additional external axis increases, and the external axis motion is suppressed.
[0057] In this embodiment, the motion weight matrix W is used to control the motion priority of the robot joints and external axes. In this implementation, the ground track is used for large-scale displacement compensation, and the robot's 6 axes are used for attitude adjustment and local position compensation. Therefore, the initial value of the weight matrix W can be set to... W is a 7×7 diagonal matrix, where 0.1 at position [1,1] represents the ground track motion weight. The smaller the weight value, the higher the priority of that axis in the inverse kinematics allocation; the motion weights of all 6 axes of the robot are set to 1, and this matrix is set as the initial weight for this implementation case.
[0058] In this implementation case, the cooperative system axis value corresponding to the kth trajectory point is denoted as... The six-axis joint values of the robot are denoted as... The external axis value is denoted as In this implementation case, the dynamic adaptive weight matrix can be constructed as a diagonal matrix, with each diagonal element updated in real time according to the state of the trajectory points. Wherein, the external axis weights and robot joint weights correspond to the diagonal elements of the external axis and robot joints in the above formula, respectively. In this embodiment, the weight parameter represents the external axis ground track at the k-th trajectory point. These represent the weight parameters of the robot's six joint axes at the k-th trajectory point. First, it is necessary to calculate the robot's joint constraint margin, external axis travel margin, singularity index, and the change in axis value between adjacent trajectory points. The robot's normalized joint constraint margin and external axis normalized travel margin can be expressed as: ; ;in, This represents the travel margin of the robot at the k-th trajectory point on the i-th axis. This represents the axis value of robot joint axis i at the k-th trajectory point. , Let represent the minimum and maximum angles of the i-th joint axis of the robot, respectively; This represents the travel margin of the j-th external axis at the k-th trajectory point; The table shows the axis values of the j-th external axis at the k-th trajectory point. , These represent the minimum and maximum axis values for the j-th external axis, respectively. The smaller the margin value, the closer the corresponding axis is to the travel boundary. The robot singularity index can be obtained from the robot's body Jacobian matrix. The minimum singular value is determined, and the singular penalty is defined. , can be represented as: ;in, This represents the singularity penalty for the k-th trajectory point; Indicates the robot body at joint angles Jacobian matrix at the location; This represents the minimum singular value of the Jacobian matrix; This indicates a positive number that prevents the denominator from being zero.
[0059] In this embodiment, the minimum singular value of the robot Jacobian matrix is used to characterize the singularity. To prevent positive numbers with a denominator of zero, the minimum singular value decreases and the singularity penalty increases as the robot approaches a singular position. The change in axis value between adjacent trajectory points is used to suppress axis value jumps and can be defined as: ;in: This represents the change in the normalized axis value of the i-th joint axis of the robot between adjacent trajectory points; and These represent the joint angles of the k-th and previous trajectory points, respectively; and These represent the upper and lower limits of the joint angle, respectively. ;in: This represents the change in the normalized axis value of the j-th external axis between adjacent trajectory points; and These represent the external axis values of the k-th and previous trajectory points, respectively; and These represent the upper and lower limits of the external axis values, respectively. Based on the above metrics, the adaptive weights of the robot joints and external axes can be updated using the following formula: ; The parameters in the above weight update formula have been explained in this embodiment and will not be explained in detail here.
[0060] In this embodiment, the preset adaptive weight W is not limited to a fixed constant matrix, but can be dynamically and adaptively adjusted according to the trajectory point state. When the robot approaches joint limits, singular positions, or arm span boundaries, the motion cost of the corresponding robot joints is increased, allowing the external axis to participate in compensation first. When the external axis approaches the travel boundary or shows a frequent reverse switching trend, the motion cost of the external axis is increased, allowing the robot body to bear more local adjustment. Through this dynamic weight mechanism, the motion of robot joints and external axes can be reasonably allocated in different trajectory segments.
[0061] In one embodiment, the multi-constraint null space term is constructed as follows:
[0062] In the formula, i refers to the i-th axis; z represents the null space optimization term; and q represents the axis value vector of the multi-axis linkage system. This represents the median value or desired reference axis value of each axis in the multi-axis linkage system. Indicates the cooperative motion axis value of the previous trajectory point; , , , These are respectively represented as joint constraint coefficient, motion smoothness coefficient, singularity avoidance coefficient, and external axial direction inhibition coefficient; , These represent the singularity avoidance space term and the external axis direction suppression term, respectively; where, In the formula, This indicates that the gradient is calculated with respect to the axis-valued vector q. Let J(q) represent the smallest singular value of the Jacobian matrix J(q). This is to prevent positive numbers with a denominator of zero; In the formula, , These represent the additional external axis values for the k-th trajectory point and the (k-1)-th trajectory point, respectively.
[0063] In this embodiment, the pre-constructed multi-constraint null space terms do not affect the final robot TCP pose, but can optimize the overall posture of the robot and external axes when reaching a specified pose. In this embodiment, it is desirable to move the cooperative motion away from joint limits, minimize joint changes between adjacent trajectory points to achieve smooth motion, move away from robot singularities, and suppress reverse motion of the external axes. Therefore, the null space terms can be... Set to: i represents the number of axes, such as i=1 representing the ground track axis; thus, the zero space term can not only achieve distance from joint limits and singular positions, but also simultaneously constrain the external axis travel and suppress the external axis reverse movement.
[0064] The present invention provides a method for collaborative planning between a robot and an external axis. This method involves: acquiring the target pose of the target trajectory point corresponding to a multi-axis linkage system; determining the current pose of the current trajectory point corresponding to the robot's end effector TCP based on a positive motion function; determining the current pose error between the target pose and the current pose; when the pose error is greater than or equal to a preset error threshold, iteratively solving the axis value increment corresponding to the initial axis value of the multi-axis linkage system and the axis value update formula, updating the initial axis value according to the axis value increment, and iteratively executing the current pose determination step until the current pose error is less than the preset error threshold. The method then outputs the collaborative inverse solution result of the multi-axis linkage system, using the collaborative inverse solution result as the corresponding collaborative motion axis value of the multi-axis linkage system, and using the collaborative motion axis value as the initial axis value of the next trajectory point of the multi-axis system. This method further enables efficient collaborative planning between the robot and additional external axes, thereby meeting the stability and consistency requirements of continuous processing tasks.
[0065] In one embodiment, the method further includes:
[0066] When the pose error is greater than or equal to the preset error threshold and the maximum number of iterations is reached, the candidate initial values of the additional external axes are adjusted according to the principle of minimizing the distance between the target pose and the robot base coordinate system. The adjusted candidate initial values and the robot body joint axis values of the previous trajectory point are used together to form the new iteration initial axis values. The new iteration initial axis values are used as the initial axis values of the multi-axis linkage system, and the iterative inverse solution process of the axis value update formula is executed again.
[0067] In this embodiment, when the target point (i.e., the target pose corresponding to the target trajectory point) is iterated using the convergence axis value of the previous trajectory point as the initial value, and the pose error threshold is still not met after reaching the maximum number of iterations, the point is first determined as a non-converging point under the current initial value, rather than being directly determined as an unreachable point. At this time, the candidate initial values of the external axis are adjusted, and the collaborative inverse solution is performed again.
[0068] Specifically, the calculation principle for candidate initial values of the external axis is as follows: calculate the external axis value corresponding to the closest distance between the target point and the robot's base coordinate system, and use this axis value as a candidate initial value. Taking the implementation case where the robot body is installed on a ground rail as an example, based on the direction of ground rail movement, the position of the target point in the world coordinate system, and the relationship between the robot's base coordinate system and the change of the ground rail axis value, find the ground rail axis value that minimizes the distance from the target point to the origin of the robot's base coordinate system; then, restrict this ground rail axis value within the upper and lower limits of the external axis travel to obtain the candidate initial value of the external axis. Then, use this candidate initial value of the external axis and the robot joint axis value of the previous trajectory point to form a new iterative initial value, and re-execute the Jacobian iterative inverse solution.
[0069] In one embodiment, the method further includes:
[0070] If the candidate initial values of the additional external axis still do not converge, a candidate window is set in the neighborhood of the candidate initial value, and multiple sets of candidate external axis values are generated according to a preset step size or sampling number. The multiple sets of candidate external axis values are used as the initial axis values of the multi-axis linkage system, and the iterative inverse solution process of the axis value update formula is re-executed.
[0071] This can be understood as follows: if convergence is still not achieved after using the above candidate initial values, a candidate window is set in the neighborhood of the candidate initial values of the outer axis, and multiple sets of candidate axis values of the outer axis are generated according to a preset step size or sampling number. Each candidate axis value is used as the initial value of the outer axis for iterative solution, and the solution that satisfies the pose error threshold, constraint conditions and the optimal multi-objective evaluation function is selected as the collaborative planning result of the target point.
[0072] In one embodiment, the method further includes:
[0073] If multiple sets of external axis candidate axis values still fail to meet the preset error threshold and do not converge, the target pose will be marked as an unreachable point or a point to be verified, and external axis travel verification or manual verification will be performed.
[0074] This can be understood as follows: if a solution satisfying the error threshold and constraints cannot be obtained after searching the candidate window, the target point is marked as an unreachable point or a point to be verified. Then, based on process requirements, neighborhood interpolation, local trajectory segment replanning, attitude tolerance relaxation, external axis travel verification, or manual verification are performed. This processing mechanism avoids the failure of the entire continuous trajectory planning due to a single non-convergence point, improving the robustness of robot-external axis cooperative motion planning.
[0075] In this embodiment, by using the above technical solution, when the target point is unreachable or does not converge under the current initial value, the present invention can also automatically generate candidate initial values for the external axis, perform candidate window search and mark unreachable points, thereby improving the stability, robustness and engineering applicability of continuous trajectory planning.
[0076] In one embodiment, Figure 2 This is a flowchart of another collaborative planning method for a robot and an external axis provided by an embodiment of the present invention. This embodiment is a further optimization of any of the above embodiments and can be applied to the case of collaborative motion planning for an industrial robot with an external axis. The method can be executed by a collaborative planning device for the robot and the external axis, which can be implemented in hardware and / or software.
[0077] like Figure 2 As shown, the method includes:
[0078] S210. Obtain the target pose corresponding to the multi-axis linkage system; wherein, the multi-axis linkage system includes the robot body and additional external axes; the target pose is the pose that the center point TCP of the robot end tool in the multi-axis linkage system needs to reach next.
[0079] S220. Determine the current pose of the robot end-effector center point TCP based on the pre-constructed positive motion function.
[0080] S230. Determine the position error between the target position in the target pose and the current position in the current pose.
[0081] In this embodiment, the positional error between the target position in the target pose and the current position in the current pose is determined, and this pose error is expressed as... Among them, the position error is: ; and These represent the translation vectors of the target pose and the current TCP pose, respectively.
[0082] S240. The attitude error between the target pose in the target pose and the current pose in the current pose is determined by the Lie algebra logarithmic mapping method.
[0083] In this embodiment, the Lie algebra-logarithmic mapping method is a commonly used algorithm in the prior art. Essentially, it transforms complex, nonlinear rotation and pose problems into linear, additable and subtractable vector problems. It is widely used in robotics for error calculation, and will not be described in detail in this embodiment. In this embodiment, the pose error is: The attitude error is represented by a Lie algebra-logarithmic mapping. , represents the rotation matrix of the current TCP pose and the rotation matrix of the target pose, respectively; log represents the Lie algebra logarithmic mapping.
[0084] S250. When the pose error is greater than or equal to the preset error threshold, obtain the initial axis value of the multi-axis linkage system and use the initial axis value as the current iteration axis value.
[0085] In this embodiment, when the pose error is greater than or equal to a preset error threshold, the initial axis value of the multi-axis linkage system is obtained, and the initial axis value is used as the current iteration axis value. The initial axis value includes: the cooperative motion axis value after convergence of the previous trajectory point in the continuous trajectory, or the current axis value corresponding to the robot body and the additional external axes in the multi-axis linkage system.
[0086] S260. The current axis value increment is obtained by iterative inverse solution based on the current iterative axis value and axis value update formula.
[0087] The current axis value increment is the current axis value increment corresponding to each iteration. Each iteration corresponds to a current axis value increment, which can be understood as the axis value increment relative to the current iteration axis value during the current iteration.
[0088] In this embodiment, which is a seven-axis system consisting of a ground rail and a robot, the Jacobian matrix of this seven-axis system is a 6*7 matrix. Each column vector of the Jacobian matrix represents the influence of the i-th axis on the final position and attitude of the robot's end effector (TPC). Therefore, the i-th column of the system's Jacobian matrix can be calculated by the following formula: ;in, Let J represent the i-th column of the Jacobian matrix; That is, the positive motion function of the seven-axis system; This is the smallest change in the difference derivative; It is a 7-dimensional vector. Here, the 7-dimensional vector consists of a vector with only one element being 1 and all other elements being 0. The position of the element with a value of 1 is determined by i; for example, when i=1, the first element in the vector is 1 and the rest are 0. Each column vector of the numerical Jacobian matrix is calculated using numerical difference. Then, combining the pose error, motion weight matrix, and null space optimization term, the joint increment of the joint value during each iteration is calculated using the following formula. ;in, This represents the increment of the current axis value in the current iteration of the multi-axis linkage system; This represents the weighted pseudoinverse of the Jacobian matrix; Indicates pose error. , This is expressed as position error. Let J represent the attitude error; J represent the Jacobian matrix of the positive motion function at the k-th trajectory point; I represent the identity matrix; z represents the null space optimization term; where, In the formula, It is represented as the inverse of the adaptive weight matrix of the multi-axis linkage system; Indicates the transpose of J; This represents the damping coefficient, used to suppress excessive joint increments when the robot's motion reaches the vicinity of a singularity, thus obtaining the iterative joint values. ; The iterative pose is calculated using the forward motion function based on the iterative joint values, and the pose error e is calculated. If the pose error is less than a preset error threshold, the inverse solution of the cooperative system under the target pose is obtained; otherwise, the above iterative process is repeated until the error is less than the preset target error or the maximum number of iterations is reached. For continuous trajectories, the final joint solution of the previous trajectory point can be used as the initial value for the next trajectory point to improve the convergence speed and ensure the continuity of robot joint and external axis values between adjacent trajectory points.
[0089] S270. Determine the next iteration axis value based on the current axis value increment and the current iteration axis value.
[0090] In this embodiment, the sum of the current axis value increment and the current iteration axis value is calculated, and the sum of the two is used as the next iteration increment. Each iteration corresponds to a next iteration increment, which includes the first next iteration increment corresponding to the current axis value increment, the second next iteration increment, and so on, until the next iteration increment generated in the last iteration.
[0091] S280. Determine the next pose based on the next iteration axis value and the positive motion function, and use the next pose as the current pose. Return to the step of determining the pose error between the target pose and the current pose and repeat the iteration until the pose error is less than the preset error threshold. Output the cooperative inverse solution result of the multi-axis linkage system.
[0092] Each iteration corresponds to a next pose, which includes the first next pose, the second next pose, and so on, until the next pose generated in the last iteration.
[0093] In this embodiment, the next pose is determined based on the next iteration axis value and the positive motion function, and the next pose is used as the current pose. The step of determining the pose error between the target pose and the current pose is returned and iterated again until the pose error is less than the preset error threshold, and the cooperative inverse solution result of the multi-axis linkage system is output.
[0094] S290. The result of the cooperative inverse solution is used as the cooperative motion axis value corresponding to the multi-axis linkage system, and the cooperative motion axis value is used as the initial axis value of the next trajectory point of the multi-axis linkage system.
[0095] The present invention provides a collaborative planning method for a robot and external axes. By solving the joint axis values of the robot's additional external axes through an iterative Jacobian approach, the six axes of the robot and one or more external axes can be collaboratively planned as a unified redundant degree of freedom system to obtain robot joint axis values and external axis values that meet the target pose accuracy. It can control the motion priority of each axis according to dynamic motion weights and optimize joint pose, external axis travel margin and changes in axis values of adjacent trajectory points through multi-objective null space terms.
[0096] In one embodiment, Figure 3 This is a schematic diagram illustrating another method for cooperative planning between a robot and external axes according to an embodiment of the present invention. In this embodiment, when the robot is equipped with one or more external axes, the robot body and the external axes can be considered as a 6+n axis cooperative motion system under a continuous trajectory, where n is the number of external axes. First, a positive kinematics function F(q) is constructed based on this multi-axis linkage system, where q includes the axis values of the robot's six joints and the axis values of each external axis. Using the constructed positive kinematics function, the robot end effector TCP pose corresponding to different axis values can be solved. For the target point... It is necessary to solve inverse kinematics to obtain a suitable set of q values so that the robot and the external axis can achieve coordinated motion while satisfying the target pose, constraints and trajectory continuity.
[0097] Specifically, the collaborative planning method between the robot and external axes is as follows:
[0098] a1. Construct the positive kinematics function corresponding to the multi-axis linkage system; including: the joint angles of the robot's 6 axes and the vector of the external axis values; pre-set adaptive weights to control the motion priority of the robot joints and external axes; pre-construct the multi-constraint null space term z.
[0099] a2. The target trajectory point corresponds to the target pose input, which is the pose that the robot end-effector center point TCP should reach next in the multi-axis linkage system.
[0100] a3. Setting the initial value for iteration: Use the current joint value of the robot and the ground track or the convergence axis value of the previous trajectory point as the initial value for iteration.
[0101] a4. Calculate the pose error between the target pose and the current pose.
[0102] a5. Iteratively update the current axis values of the multi-axis linkage system: When the pose error does not meet the preset pose threshold and the maximum number of iterations has not been reached, the Jacobian matrix is approximately constructed based on the numerical difference method. Based on the Jacobian matrix, and combined with the pose error, the multi-constraint null term z, and the adaptive weight matrix, the joint increment of the joint value in each iteration is calculated. ;in, Representing the weighted pseudoinverse of the Jacobian matrix: The next joint value is obtained through joint increment; based on the next joint value after iteration, the next pose is calculated by combining the positive motion function, and the next pose is used as the current pose. The determination steps of the current pose in a4 are returned and iteratively executed until the current pose is less than the preset error threshold, and the cooperative inverse solution result of the multi-axis linkage system is output.
[0103] a6. If the pose error does not meet the preset target error and the maximum number of iterations is reached, then external axis initial value estimation is performed, and the estimated initial value and the robot joint axis value of the previous trajectory point are used together to form a new iteration initial value. The Jacobian iteration inverse solution process is then re-executed. If convergence is still not achieved after using the above candidate initial values, a candidate window is set in the neighborhood of the external axis candidate initial values, and multiple sets of external axis candidate axis values are generated according to the preset step size or sampling number. Each candidate axis value is used as the external axis initial value for iterative solution. If a solution that meets the error threshold and constraint conditions cannot be obtained after searching the candidate window, the target point is marked as an unreachable point or a point to be verified, and neighborhood interpolation, local trajectory segment replanning, attitude tolerance relaxation, external axis travel verification, or manual verification are performed according to process requirements.
[0104] In one embodiment, Figure 4 This is a structural schematic diagram of a collaborative planning device for a robot and an external axis provided in an embodiment of the present invention. Figure 4 As shown, the device includes: a target pose acquisition module 410, a current pose determination module 420, an error determination module 430, and a collaborative planning module 440;
[0105] The target pose acquisition module 410 is used to acquire the target pose corresponding to the multi-axis linkage system; wherein the multi-axis linkage system includes a robot body and additional external axes; the target pose is the pose that the robot end-effector center point TCP of the multi-axis linkage system needs to achieve next.
[0106] The current pose determination module 420 is used to determine the current pose corresponding to the center point TCP of the robot end tool based on a pre-constructed positive motion function;
[0107] Error determination module 430 is used to determine the current pose error between the target pose and the current pose;
[0108] The collaborative planning module 440 is used to iteratively solve the corresponding axis value increment based on the initial axis value of the multi-axis linkage system and the pre-constructed axis value update formula when the pose error is greater than or equal to a preset error threshold, update the initial axis value according to the axis value increment, return to the pose error determination step for iterative execution until the pose error is less than the preset error threshold, output the collaborative inverse solution result of the multi-axis linkage system, use the collaborative inverse solution result as the collaborative motion axis value corresponding to the multi-axis linkage system, and use the collaborative motion axis value as the initial axis value of the next trajectory point of the multi-axis linkage system.
[0109] The axis value update formula is determined by the pose error, the pre-constructed Jacobian matrix, the pre-constructed multi-constraint null space term, and the preset adaptive weights.
[0110] This technical solution employs a collaborative planning device for robots and external axes. The device acquires the target pose of the target trajectory point corresponding to the multi-axis linkage system through a target pose acquisition module; a current pose determination module determines the current pose of the current trajectory point corresponding to the robot's end effector TCP based on a positive motion function; an error determination module determines the current pose error between the target pose and the current pose; and a collaborative planning module, when the pose error is greater than or equal to a preset error threshold, iteratively solves the corresponding axis value increment based on the initial axis value of the multi-axis linkage system and the axis value update formula, updates the initial axis value according to the axis value increment, and returns to the current pose determination step iteratively until the current pose error is less than the preset error threshold. The collaborative inverse solution result of the multi-axis linkage system is then output, and this result is used as the corresponding collaborative motion axis value of the multi-axis linkage system. This enables efficient collaborative planning between the robot and additional external axes, thereby meeting the stability and consistency requirements of continuous processing tasks.
[0111] In one embodiment, the device further includes:
[0112] The first external axis initial axis value adjustment module is used to adjust the candidate initial value of the additional external axis according to the principle of minimizing the distance between the target pose and the robot base coordinate system when the pose error is greater than or equal to the preset error threshold and the maximum number of iterations is reached. The adjusted candidate initial value and the robot body joint axis value of the previous trajectory point are used together to form a new iteration initial axis value, and the new iteration initial axis value is used as the initial axis value of the multi-axis linkage system. The iterative inverse solution process of the axis value update formula is then re-executed.
[0113] In one embodiment, the device further includes:
[0114] The second external axis initial axis value adjustment module, when the candidate initial values of the additional external axis still do not converge, sets a candidate window in the neighborhood of the candidate initial values, and generates multiple sets of external axis candidate axis values according to a preset step size or sampling number. The multiple sets of external axis candidate axis values are used as the initial axis values of the multi-axis linkage system, and the iterative inverse solution process of the axis value update formula is re-executed.
[0115] In one embodiment, the device further includes:
[0116] The verification module is used to mark the target pose as an unreachable point or a point to be verified when the multiple sets of external axis candidate axis values still cannot meet the preset error threshold and do not converge, and to perform external axis travel verification or manual verification.
[0117] In one embodiment, the pose error includes position error and attitude error; correspondingly, the error determination module 430 includes:
[0118] A position error determination unit is used to determine the position error between the target position in the target pose and the current position in the current pose;
[0119] The attitude error determination unit is used to determine the attitude error between the target attitude in the target pose and the current attitude in the current pose using the Lie algebra-logarithmic mapping method.
[0120] In one embodiment, the construction of the positive motion function includes:
[0121] Determine the multidimensional external axis variables of the additional external axis, as well as the robot body variables;
[0122] In the same world coordinate system, a positive kinematics model is established based on the multidimensional external axis variables and the robot body variables.
[0123] In one embodiment, the adaptive weight matrix includes adaptive weights for robot joints and adaptive weights for external axes; wherein, the adaptive weights for robot joints are expressed as:
[0124] In the formula, This represents the updated weight of the robot's i-th joint axis at the k-th trajectory point; clip indicates that the updated weight is limited to a set range. This represents the initial weight of the robot at the i-th joint axis; , , These represent the joint limit margin adjustment coefficient, singular penalty adjustment coefficient, and axis value change adjustment coefficient for the robot, respectively. This represents the normalized axis value change of the robot's i-th joint axis between adjacent trajectory points; , These represent the lower and upper limits of the robot's weights, respectively. This represents the travel margin of the robot at the k-th trajectory point on the i-th axis. It is represented as the singular penalty for the k-th trajectory point;
[0125] The additional external axis adaptive weight is expressed as follows: In the formula, This represents the update weight of the j-th additional external axis at the k-th trajectory point; The initial weight of the j-th additional external axis; , These are respectively represented as the travel margin adjustment coefficient and the shaft value change adjustment coefficient of the additional external shaft; , These are respectively represented as the normalized travel margin and the normalized axis value variation of the additional external axis;
[0126] Among them, each adjustment coefficient is used to control the degree of influence of different indicators on the weight; when the robot joint limit margin decreases or the singular penalty increases, the robot joint weight increases, the robot joint motion is suppressed, and the additional external axis participates in compensation relatively preferentially; when the additional external axis approaches the travel boundary or the adjacent point changes too much, the weight of the additional external axis increases, and the external axis motion is suppressed.
[0127] In one embodiment, the construction of the multi-constraint null space term is as follows:
[0128] In the formula, z represents the null space optimization term; q represents the axis value vector of the multi-axis linkage system; This represents the median value or desired reference axis value of each axis in the multi-axis linkage system. Indicates the cooperative motion axis value of the previous trajectory point; , , , These are respectively represented as joint constraint coefficient, motion smoothness coefficient, singularity avoidance coefficient, and external axial direction inhibition coefficient; , These represent the singularity avoidance space term and the external axis direction suppression term, respectively; where, In the formula, This indicates that the gradient is calculated with respect to the axis-valued vector q. Let J(q) represent the smallest singular value of the Jacobian matrix J(q). This is to prevent positive numbers with a denominator of zero; In the formula, , These represent the additional external axis values for the k-th trajectory point and the (k-1)-th trajectory point, respectively.
[0129] In one embodiment, the construction of the axis value update formula includes:
[0130] The Jacobian matrix is approximately constructed based on the numerical difference method; where the Jacobian matrix is expressed as: ; Represented as the i-th column of the Jacobian matrix J; Let be the numerical difference derivative of the i-th axis; i represents the axis number; n is the number of external axes;
[0131] Based on the Jacobian matrix, and in combination with the pose error, the multi-constraint null space term, and the adaptive weight matrix, the axis value update formula is determined in each iteration process;
[0132] The axis value update formula is expressed as follows: In the formula, This represents the increment of the current axis value in the current iteration of the multi-axis linkage system; This represents the weighted pseudoinverse of the Jacobian matrix; Indicates pose error. , This is expressed as position error. Let J represent the attitude error; J represent the Jacobian matrix of the positive motion function at the k-th trajectory point; I represent the identity matrix; z represents the null space optimization term; where, In the formula, It is represented as the inverse of the adaptive weight matrix of the multi-axis linkage system; Indicates the transpose of J; This represents the damping coefficient, used to suppress excessive joint increments when the robot's motion reaches the vicinity of a singularity.
[0133] In one embodiment, the collaborative planning module 440 includes:
[0134] The current iteration axis value determination unit is used to obtain the initial axis value of the multi-axis linkage system and use the initial axis value as the current iteration axis value; wherein, the initial axis value includes: the cooperative motion axis value after the convergence of the previous trajectory point in the continuous trajectory, or the current axis value corresponding to the robot body and the additional external axis in the multi-axis linkage system respectively;
[0135] The current axis value increment determination unit is used to obtain the current axis value increment by iterative inverse solution based on the current iterative axis value and the axis value update formula.
[0136] The next iteration axis value determination unit is used to determine the next iteration axis value based on the current axis value increment and the current iteration axis value.
[0137] The iterative loop unit is used to determine the next pose based on the next iteration axis value and the positive motion function, and take the next pose as the current pose. It then returns to the step of determining the pose error between the target pose and the current pose and iterates again until the pose error is less than the preset error threshold, and outputs the cooperative inverse solution result of the multi-axis linkage system.
[0138] The robot-external axis collaborative planning device provided in the embodiments of the present invention can execute the robot-external axis collaborative planning method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0139] In one embodiment, Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Figure 5 The diagram illustrates a schematic representation of an electronic device 10 that can be used to implement embodiments of the present invention. The electronic device 10 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 electronic device 10 may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0140] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0141] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0142] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, central processing units, graphics processing units, various special-purpose artificial intelligence computing chips, various processors running machine learning model algorithms, digital signal processors, and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as the cooperative planning method of a robot with external axes.
[0143] In some embodiments, the robot-external axis cooperative planning method can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the robot-external axis cooperative planning method described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform the robot-external axis cooperative planning method by any other suitable means (e.g., by means of firmware).
[0144] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays, application-specific integrated circuits (ASICs), application-specific standard products (ASICs), systems-on-a-chip (SoCs), payload programmable logic devices, computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0145] Computer programs used to implement the methods of the present invention 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, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0146] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, optical fibers, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0147] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a cathode ray tube or liquid crystal display) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0148] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0149] A computing system can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product within the cloud computing service system to address the shortcomings of traditional physical host and virtual machine services, such as high management difficulty and weak business scalability.
[0150] This invention also provides a computer program product, including a computer program that, when executed by a processor, can implement the collaborative planning method for a robot and an external axis as provided in any embodiment of this invention.
[0151] In implementing the computer program product, computer program code for performing the operations of this invention can be written in one or more programming languages or a combination thereof. Programming languages include object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including local area networks (LANs) or wide area networks (WANs), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0152] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0153] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand 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 this invention should be included within the scope of protection of this invention.
Claims
1. A collaborative planning method for a robot and an external axis, characterized in that, The method includes: Obtain the target pose corresponding to the multi-axis linkage system; wherein, the multi-axis linkage system includes a robot body and additional external axes; the target pose is the pose that the center point TCP of the robot's end tool in the multi-axis linkage system needs to achieve next; The current pose of the robot's end effector center point TCP is determined based on a pre-constructed positive motion function. Determine the pose error between the target pose and the current pose; When the pose error is greater than or equal to a preset error threshold, the corresponding axis value increment is iteratively solved based on the initial axis value of the multi-axis linkage system and the pre-constructed axis value update formula. The initial axis value is updated according to the axis value increment, and the pose error determination step is iteratively executed until the pose error is less than the preset error threshold. The cooperative inverse solution result of the multi-axis linkage system is output, and the cooperative inverse solution result is used as the cooperative motion axis value corresponding to the multi-axis linkage system. The cooperative motion axis value is used as the initial axis value of the next trajectory point of the multi-axis linkage system. The axis value update formula is determined by the pose error, the pre-constructed Jacobian matrix, the pre-constructed multi-constraint null space term, and the preset adaptive weights.
2. The method according to claim 1, characterized in that, The method further includes: When the pose error is greater than or equal to the preset error threshold and the maximum number of iterations is reached, the candidate initial values of the additional external axes are adjusted according to the principle of minimizing the distance between the target pose and the robot base coordinate system. The adjusted candidate initial values and the robot body joint axis values of the previous trajectory point are used together to form the new iteration initial axis values. The new iteration initial axis values are used as the initial axis values of the multi-axis linkage system, and the iterative inverse solution process of the axis value update formula is re-executed.
3. The method according to claim 2, characterized in that, The method further includes: If the candidate initial values of the additional external axis still do not converge, a candidate window is set in the neighborhood of the candidate initial value, and multiple sets of candidate external axis values are generated according to a preset step size or sampling number. The multiple sets of candidate external axis values are used as the initial axis values of the multi-axis linkage system, and the iterative inverse solution process of the axis value update formula is re-executed.
4. The method according to claim 3, characterized in that, The method further includes: If the multiple sets of external axis candidate axis values still fail to meet the preset error threshold and do not converge, the target pose is marked as an unreachable point or a point to be verified, and external axis travel verification or manual verification is performed.
5. The method according to claim 1, characterized in that, The pose error includes position error and attitude error; correspondingly, determining the pose error between the target pose and the current pose includes: Determine the positional error between the target position in the target pose and the current position in the current pose; The attitude error between the target pose in the target pose and the current pose in the current pose is determined by the Lie algebra-logarithmic mapping method.
6. The method according to claim 1, characterized in that, The construction of the positive motion function includes: Determine the multidimensional external axis variables of the additional external axis, as well as the robot body variables; In the same world coordinate system, a positive kinematics model is established based on the multidimensional external axis variables and the robot body variables.
7. The method according to claim 1, characterized in that, The adaptive weight matrix includes adaptive weights for robot joints and adaptive weights for external axes; wherein, the adaptive weights for robot joints are expressed as follows: In the formula, This represents the updated weight of the robot's i-th joint axis at the k-th trajectory point; clip indicates that the updated weights are limited to a set range. This represents the initial weight of the robot at the i-th joint axis; , , These represent the joint limit margin adjustment coefficient, singular penalty adjustment coefficient, and axis value change adjustment coefficient for the robot, respectively. This represents the normalized axis value change of the robot's i-th joint axis between adjacent trajectory points; , These represent the lower and upper limits of the robot's weights, respectively. This represents the travel margin of the robot at the k-th trajectory point on the i-th axis. It is represented as the singular penalty for the k-th trajectory point; The additional external axis adaptive weight is expressed as follows: In the formula, This represents the update weight of the j-th additional external axis at the k-th trajectory point; The initial weight of the j-th additional external axis; , These are respectively represented as the travel margin adjustment coefficient and the shaft value change adjustment coefficient of the additional external shaft; , These are respectively represented as the normalized travel margin and the normalized axis value variation of the additional external axis; Among them, each adjustment coefficient is used to control the degree of influence of different indicators on the weight; when the robot joint limit margin decreases or the singular penalty increases, the robot joint weight increases, the robot joint motion is suppressed, and the additional external axis participates in compensation relatively preferentially; when the additional external axis approaches the travel boundary or the adjacent point changes too much, the weight of the additional external axis increases, and the external axis motion is suppressed.
8. The method according to claim 1, characterized in that, The construction of the multi-constraint null space term is as follows: In the formula, z represents the null space optimization term; q represents the axis value vector of the multi-axis linkage system; This represents the median value or desired reference axis value of each axis in the multi-axis linkage system. Indicates the cooperative motion axis value of the previous trajectory point; , , , These are respectively represented as joint constraint coefficient, motion smoothness coefficient, singularity avoidance coefficient, and external axial direction inhibition coefficient; , These represent the singularity avoidance space term and the external axis direction suppression term, respectively; where, In the formula, This indicates that the gradient is calculated with respect to the axis-valued vector q. Let J(q) represent the smallest singular value of the Jacobian matrix J(q). This is to prevent positive numbers with a denominator of zero; In the formula, , These represent the additional external axis values for the k-th trajectory point and the (k-1)-th trajectory point, respectively.
9. The method according to claim 1, characterized in that, The construction of the axis value update formula includes: The Jacobian matrix is approximately constructed based on the numerical difference method; whereby the Jacobian matrix is expressed as: ; Represented as the i-th column of the Jacobian matrix J; Let be the numerical difference derivative of the i-th axis; i represents the axis number; n is the number of external axes; Based on the Jacobian matrix, and in combination with the pose error, the multi-constraint null space term, and the adaptive weight matrix, the axis value update formula is determined in each iteration process; The axis value update formula is expressed as follows: In the formula, This represents the increment of the current axis value in the current iteration of the multi-axis linkage system; This represents the weighted pseudoinverse of the Jacobian matrix; Indicates pose error. , This is expressed as position error. Let J represent the attitude error; J represent the Jacobian matrix of the positive motion function at the k-th trajectory point; I represent the identity matrix; z represents the null space optimization term; where, In the formula, It is represented as the inverse of the adaptive weight matrix of the multi-axis linkage system; Indicates the transpose of J; This represents the damping coefficient, used to suppress excessive joint increments when the robot's motion reaches the vicinity of a singularity.
10. The method according to claim 1, characterized in that, The process involves iteratively resolving the axis value increments corresponding to the initial axis values of the multi-axis linkage system and the pre-constructed axis value update formula, updating the initial axis values according to the axis value increments, and iteratively executing the pose error determination step until the pose error is less than the preset error threshold. The result of the cooperative inverse solution of the multi-axis linkage system is then output, including: Obtain the initial axis value of the multi-axis linkage system and use the initial axis value as the current iteration axis value; wherein, the initial axis value includes: the cooperative motion axis value after the convergence of the previous trajectory point in the continuous trajectory, or the current axis value corresponding to the robot body and the additional external axis in the multi-axis linkage system respectively; The increment of the current axis value is obtained by iterative inverse solution of the current iterative axis value and the axis value update formula; The next iteration axis value is determined based on the current axis value increment and the current iteration axis value; The next pose is determined based on the next iteration axis value and the positive motion function, and the next pose is used as the current pose. The step of determining the pose error between the target pose and the current pose is returned and iterated again until the pose error is less than the preset error threshold. The cooperative inverse solution result of the multi-axis linkage system is then output.
11. A collaborative planning device for a robot and an external axis, characterized in that, The device includes: The target pose acquisition module is used to acquire the target pose corresponding to the multi-axis linkage system; wherein, the multi-axis linkage system includes a robot body and additional external axes; the target pose is the pose that the center point TCP of the robot's end tool in the multi-axis linkage system needs to reach next; The current pose determination module is used to determine the current pose corresponding to the center point TCP of the robot end effector based on a pre-constructed positive motion function; An error determination module is used to determine the pose error between the target pose and the current pose. The collaborative planning module is used to iteratively solve the corresponding axis value increment based on the initial axis value of the multi-axis linkage system and the pre-constructed axis value update formula when the pose error is greater than or equal to a preset error threshold. It updates the initial axis value according to the axis value increment, returns to the pose error determination step for iterative execution until the pose error is less than the preset error threshold, outputs the collaborative inverse solution result of the multi-axis linkage system, uses the collaborative inverse solution result as the collaborative motion axis value corresponding to the multi-axis linkage system, and uses the collaborative motion axis value as the initial axis value of the next trajectory point of the multi-axis linkage system. The axis value update formula is determined by the pose error, the pre-constructed Jacobian matrix, the pre-constructed multi-constraint null space term, and the preset adaptive weights.
12. 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, the computer program being executed by the at least one processor to enable the at least one processor to perform a collaborative planning method for a robot and an external axis according to any one of claims 1-10.