Method, device and computer equipment for path planning of robot with external shaft

By comprehensively planning the motion paths of the robot and its external axes using multi-objective function optimization and particle swarm optimization algorithms, the problem of uncoordinated robot motion in traditional methods is solved, and the accuracy and coordination of path planning are improved.

CN119567254BActive Publication Date: 2025-10-21视比特(上海)机器人科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Traditional path planning methods process the robot's six axes and external axes separately, resulting in uncoordinated movement of robots with external axes, especially in low path planning accuracy in precision scenarios.

Method used

By acquiring the joint angles and target pose of the robot's external axis, a multi-objective function optimization method is used to minimize joint constraints and joint movement. The motion paths of the robot and the external axis are comprehensively planned, and the joint state is optimized under singular configurations and collision constraints using a particle swarm optimization algorithm.

Benefits of technology

It improves the smoothness of robot motion and the accuracy of path planning, enhances the coordination between the robot body and external axes, and ensures smooth and fluid motion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119567254B_ABST
    Figure CN119567254B_ABST
Patent Text Reader

Abstract

The application relates to a path planning method, device and computer equipment of an external shaft robot. The method comprises the following steps: acquiring joint angles of multiple groups of external shafts of a robot and a target pose of a robot mechanical arm end, based on the joint angles of the external shafts of the robot and the target pose, taking minimizing joint limiting and minimizing joint movement as targets, solving a preset multi-objective function, determining a target joint state of the robot mechanical arm and a target joint angle of the external shafts of the robot, the target joint state and the target joint angle being joint states and joint angles when the multi-objective function is minimum, determining a motion path of the robot according to the target joint state and the target joint angle of the external shafts of the robot, and controlling the robot to move according to the motion path. The method can improve path planning precision.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control technology, and in particular to a path planning method, device, computer equipment, storage medium and computer program product for a robot with an external axis. Background Art

[0002] With the continuous development of industrial robots, robots with external axes have gradually emerged. For example, by adding an external axis to the robot in the x-direction, the original 6-axis industrial robot becomes a 7-axis industrial robot. Robots with external axes can expand the workspace, but it will also make path planning complicated.

[0003] Traditionally, the path planning method for robots with external axes typically treats the external axes and the robot as two separate serial mechanisms. The robot's six-axis motion path is first planned, followed by the motion path of the external axes. The two are combined to determine the final path of the robot with external axes.

[0004] However, the above-mentioned traditional path planning scheme is relatively simple. Separately processing the six axes of the robot body and the external axes may lead to incoordinated movement between the axes. Especially when faced with precise robot path planning scenarios, the path planning accuracy of this split-axis planning scheme is low. Summary of the Invention

[0005] Based on this, it is necessary to provide a path planning method, device, computer equipment, computer-readable storage medium and computer program product for a robot with an external axis, which can improve the accuracy of motion path planning of the robot with an external axis, in order to address the above technical problems.

[0006] In a first aspect, the present application provides a path planning method for a robot with an external axis. The method comprises:

[0007] Obtain the joint angles of multiple sets of robot external axes and the target pose of the robot's end arm;

[0008] Based on the joint angle of the robot's external axis and the target posture, with the goal of minimizing the joint limit and minimizing the joint movement, solving a preset multi-objective function to determine the target joint state of the robot's mechanical arm and the target joint angle of the robot's external axis, the multi-objective function including a first objective function for minimizing the joint limit and a second objective function for minimizing the joint movement, the joint movement being the joint movement of the robot's mechanical arm in adjacent time steps, the target joint state and the target joint angle being the joint state and the joint angle, respectively, when the preset multi-objective function achieves a minimum value;

[0009] determining a motion path of the robot according to the target joint state and the target joint angle of the robot's external axis;

[0010] The robot is controlled to move along the motion path.

[0011] In one embodiment, the target joint state includes target joint states at multiple time steps, and the target joint angle of the robot's external axis includes target joint angles of the robot's external axis at multiple time steps;

[0012] Determining the motion path of the robot according to the target joint state and the target joint angle of the robot's external axis includes:

[0013] The motion path of the robot is determined according to the target joint states at multiple time steps and the target joint angles of the external axes of the robot at multiple time steps.

[0014] In one embodiment, within each time step, the number of joint angles of the robot's external axes is multiple groups; based on the joint angles of the robot's external axes and the target posture, minimizing joint limits and minimizing joint movement is taken as the goal, solving a preset multi-objective function to determine the target joint state of the robot manipulator and the target joint angles of the robot's external axes, including:

[0015] In each time step, for each set of joint angles of the robot's external axes, according to the target posture, with the goal of minimizing joint limits and minimizing joint movements, solving a preset multi-objective function, determining the optimal joint state of the robot manipulator, and obtaining the optimal joint states corresponding to the multiple sets of joint angles of the robot's external axes in each time step, the optimal joint state being the joint state when the preset multi-objective function achieves a minimum value;

[0016] For each time step, from the multiple groups of optimal joint states corresponding to the joint angles of the robot's external axes, the target joint state when the preset multi-objective function achieves the minimum value and the target joint angle of the robot's external axis corresponding to the target joint state are screened out.

[0017] In one embodiment, the method of solving a preset multi-objective function based on the target posture and minimizing joint limits and joint movements to determine the optimal joint state of the robot arm includes:

[0018] Solving the inverse kinematics of the robot according to the joint angles of the robot's external axes and the target posture to obtain the joint states of the robot's manipulator arm;

[0019] determining a joint state of the robot based on a joint angle of an external axis of the robot and a joint state of a mechanical arm of the robot;

[0020] Determining a multi-objective function value corresponding to the joint state of the robot according to the joint state of the robot and the preset multi-objective function;

[0021] The joint state corresponding to the minimum value of the multi-objective function is determined as the optimal joint state.

[0022] In one embodiment, the multi-objective function further includes a preset singular configuration constraint function and a preset collision constraint function. The method of solving the preset multi-objective function with the goal of minimizing joint limits and minimizing joint movements to determine the target joint state of the robot manipulator and the target joint angle of the robot's external axis also includes:

[0023] Within the range of motion represented by the preset singular configuration constraint function and the preset collision constraint function, with the goal of minimizing the weighted sum of the first objective function value of the first objective function and the second objective function value of the second objective function, the preset multi-objective function is solved to determine the target joint state of the robot manipulator and the target joint angle of the robot's external axis.

[0024] In one embodiment, obtaining joint angles of multiple groups of robot external axes includes:

[0025] Obtaining the joint movement range of the robot's external axis;

[0026] Discretizing the joint movement range and determining multiple sets of initial joint angles of the robot's external axes;

[0027] A plurality of sets of joint angles of the robot's external axes that enable the robot to move to a target posture are selected from the plurality of sets of initial joint angles.

[0028] In a second aspect, the present application further provides a path planning device for a robot with an external axis. The device comprises:

[0029] The data acquisition module is used to obtain the joint angles of multiple sets of robot external axes and the target position of the end of the robot's manipulator;

[0030] a path planning module for solving a preset multi-objective function based on the joint angles of the robot's external axes and the target posture, with the goal of minimizing joint limits and minimizing joint movement, to determine the target joint state of the robot's manipulator arm and the target joint angle of the robot's external axes, the multi-objective function including a first objective function for minimizing joint limits and a second objective function for minimizing joint movement, the joint movement being the amount of joint movement of the robot's manipulator arm in adjacent time steps, the target joint state and the target joint angle being the joint state and the joint angle, respectively, when the preset multi-objective function achieves a minimum value;

[0031] a path determination module, configured to determine a motion path of the robot according to the target joint state and the target joint angle of the robot's external axis;

[0032] A motion control module is used to control the robot to move along the motion path.

[0033] In a third aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps in the above-mentioned path planning method embodiment for a robot with an external axis are implemented.

[0034] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps in the above-mentioned path planning method embodiment for a robot with an external axis.

[0035] In a fifth aspect, the present application further provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps in the above-mentioned path planning method embodiment for a robot with external axes.

[0036] The above-mentioned path planning method, apparatus, computer device, storage medium, and computer program product for a robot with an external axis obtains the target joint angles of the robot's external axis and the target position of the robot's manipulator end through multiple groups, then uses minimization of a preset multi-objective function as the optimization goal to determine the target joint angles of the robot's external axis and the target joint state of the robot's manipulator arm when the multi-objective function reaches the minimum value. Finally, based on the target joint state and the joint angles of the robot's external axis, the robot's motion path is planned and the robot is controlled to move according to the motion path. Because the multi-objective function takes into account the degree of deviation of the manipulator's joint center and the amount of joint movement of the manipulator arm in adjacent time steps, the robot can maintain the joint position of the manipulator arm in the joint center area as much as possible when moving according to the final planned path, reducing the restriction of extreme positions on the manipulator arm's movement, making the robot movement more stable, and minimizing the amount of joint movement of the manipulator arm in adjacent time steps, making the robot movement smoother and more fluid, that is, improving the accuracy of path planning. Furthermore, unlike the traditional axis decomposition method, this solution combines the joint angles of the robot's external axes when analyzing the joint status of the robot's manipulator, and finally generates the overall motion path of the robot. Therefore, it can improve the coordination between the robot body and the external axes, thereby effectively improving the path planning accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 FIG2 is a diagram showing an application environment of a path planning method for a robot with an external axis in one embodiment;

[0038] Figure 2 1 is a flow chart of a path planning method for a robot with an external axis in one embodiment;

[0039] Figure 3 1 is a flow chart of a path planning method for a robot with an external axis in another embodiment;

[0040] Figure 4 A schematic flow chart of the steps for determining an optimal joint state in one embodiment;

[0041] Figure 5 A flowchart of steps for determining an optimal joint state using a particle swarm optimization algorithm in one embodiment;

[0042] Figure 6 1 is a flow chart of a path planning method for a robot with an external axis in yet another embodiment;

[0043] Figure 7 A schematic flow chart of a path planning method for a robot with an external axis in a detailed embodiment;

[0044] Figure 8is a structural block diagram of a path planning device for a robot with an external axis in one embodiment;

[0045] Figure 9 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0046] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0047] The path planning method for a robot with an external axis provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown, the robot 102 communicates with the control terminal 104 via a network. The data storage system can store data that the control terminal 104 needs to process. The data storage system can be integrated with the control terminal 104 or placed on the cloud or other network servers.

[0048] Specifically, the control end 104 may obtain multiple sets of feasible joint angles of the robot 102's external axes and the target poses of the robot 102's manipulator end in the world coordinate system from a data storage system. Then, based on the joint angles and target poses of the robot's external axes, the control end 104 solves a preset multi-objective function with the goal of minimizing joint limits and joint movement, and determines the target joint states of the robot's manipulator arm and the target joint angles of the robot's external axes. The multi-objective function includes a first objective function for minimizing joint limits and a second objective function for minimizing joint movement. The joint movement is the joint movement of the robot's manipulator arm in adjacent time steps. The target joint states and target joint angles are, respectively, the joint states and joint angles when the preset multi-objective function reaches a minimum. Finally, the control end 104 determines the motion path of the robot 102 based on the target joint states and the target joint angles of the robot's external axes, and controls the robot 102 to move according to the motion path.

[0049] The control terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart car devices, and projectors. Portable wearable devices can include smart watches, smart bracelets, and head-mounted devices. Head-mounted devices can include virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, and the like. The control terminal 104 can be an independent physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing cloud computing services.

[0050] In one embodiment, Figure 2 As shown in FIG, a path planning method for a robot with an external axis is provided. Figure 1 Taking the control terminal 104 in FIG. 1 as an example, the method includes the following steps:

[0051] S100, obtaining multiple sets of joint angles of the robot's external axes and the target pose of the robot's end arm.

[0052] Among them, the robot in this embodiment can be an industrial robot, such as a welding robot. The external axis of the robot refers to the additional motion axis in the industrial robot in addition to the robot arm body, such as a conveyor belt, a rotary worktable, a linear slide, etc., which is used to expand the working range or function of the industrial robot. Taking a welding robot as an example, when welding some medium and large workpieces, the workspace of a 6-axis welding robot cannot completely cover the workpiece. If the workpiece is relatively long, a linear guide rail can be added to the welding robot and the welding robot can be fixed on the linear guide rail, which is equivalent to adding an external axis to the welding robot. If the workpiece is relatively long and relatively high, it may be necessary to add multiple external axes to the welding robot, such as a C-type gantry or a U-type gantry. Hanging the welding robot upside down on the gantry is also equivalent to adding external axes to the welding robot.

[0053] The joint angle refers to the rotation angle of the robot's external axis relative to the reference position. The end of the robot arm refers to the position of the very end of the robot arm. For example, the last link of the robot arm is connected to the flange. The flange can be used to install actuators such as welding tools and claws. Therefore, the end of the robot arm is also called the end effector. The target pose refers to the target position of the end effector. Taking the end effector as a welding tool as an example, the target pose refers to the pose of the end of the robot arm when the welding tool is in the target welding position. It can be expressed in mathematical forms such as homogeneous transformation matrix or quaternion. Specifically, the user can input the target pose into the control end in advance, or the control end can retrieve the target pose from a related database. The joint angles of the robot's external axes can also be manually pre-set in multiple groups.

[0054] S200, based on the joint angles and target postures of the robot's external axes, with the goal of minimizing joint limits and minimizing joint movements, solves a preset multi-objective function to determine the target joint states of the robot's manipulator and the target joint angles of the robot's external axes.

[0055] Among them, joint limit refers to the limit range of each joint angle of the robot manipulator, including physical limit and software limit. If the joint angle of the robot manipulator exceeds the joint limit, it may cause abnormal force on the robot manipulator or hardware damage. Joint movement refers to the change in the joint angle of the robot manipulator in continuous time steps. Excessive joint movement may affect the smoothness and stability of the robot movement. A multi-objective function refers to a function used to optimize multiple objectives at the same time. In this embodiment, the multi-objective function includes a first objective function for minimizing joint limit and a second objective function for minimizing joint movement. Since the robot manipulator usually has multiple joints, the joint state is used to describe the combination of the joint angles of the robot manipulator. The target joint state and target joint angle are respectively the joint state and joint angle when the preset multi-objective function takes the minimum value.

[0056] For example, since the joint angle range of each joint of the robot manipulator is different, the joint angle can be mapped to a unified measurement interval first, and the first objective function for minimizing the joint limit can be shown as formula (1):

[0057] (1)

[0058] In formula (1), Refers to the degree to which the joint of the robot arm deviates from the joint center. The larger the value, the closer the joint is to the joint limit. and are the minimum joint angle and the maximum joint angle of all joints of the robot arm, , , so the range of the first objective function is [0, 1].

[0059] In order to keep the joint motion of the robot smooth and stable during movement, the second objective function for minimizing the joint movement can be expressed as follows:

[0060] (2)

[0061] In formula (2), is the joint state of the previous time step. If the joint movement of the adjacent time step is within the preset maximum joint movement, the larger the joint movement, The larger the value of the second objective function is, the range of the second objective function is [0, 1]. If the joint movement of the adjacent time steps exceeds the preset maximum joint movement, then By minimizing the function value of the second objective function, the joint movement in adjacent time steps can be made as small as possible.

[0062] Since the first objective function and the second objective function usually do not reach the minimum value at the same time, a multi-objective function is constructed. The function value of the multi-objective function can be the sum of the first objective function value and the second objective function value, or a weighted sum, etc. By minimizing the function value of the multi-objective function, the joint limit can be minimized as much as possible (the joint angle is as far away from the joint limit as possible), and the joint movement in adjacent time steps can be minimized as much as possible. Finally, the target joint state of the robot manipulator and the target joint angle of the robot's external axis are determined when the multi-objective function reaches the minimum function value.

[0063] S300 , determining a motion path of the robot according to a target joint state and a target joint angle of an external axis of the robot.

[0064] A motion path is the trajectory of a robot's movement from its current state to its target state. For example, when a robot performs welding, there are typically multiple weld points. At each time step, the optimal target joint state and corresponding target joint angle for the robot's end arm to reach the weld point can be calculated. When the robot continuously moves over multiple time steps, a motion path is formed.

[0065] Through the above steps, the target joint angles of the robot's external axes and the target joint states of the robot's manipulators in each time step can be determined. By making each discrete time step continuous, the robot's motion path can be obtained.

[0066] S400: Control the robot to move along the motion path.

[0067] Specifically, the robot can be precisely controlled through hardware and software, for example, through a host computer and a servo motor, to drive the robot to move along a motion path.

[0068] The above-mentioned path planning method for a robot with external axes obtains the joint angles of the robot's external axes and the target position of the robot's manipulator end through multiple groups. Then, with minimizing a preset multi-objective function as the optimization goal, the target joint angles of the robot's external axes and the target joint states of the robot's manipulator arm are determined when the multi-objective function reaches the minimum value. Finally, based on the target joint states and the joint angles of the robot's external axes, the robot's motion path is planned and the robot is controlled to move according to the motion path. Because the multi-objective function takes into account the degree of deviation of the manipulator's joint center and the amount of joint movement of the robot's manipulator arm in adjacent time steps, the robot can maintain the joint position of the manipulator arm in the joint center area as much as possible when moving according to the final planned path, reducing the restrictions on the manipulator arm's movement caused by extreme positions, making the robot's movement more stable, and minimizing the amount of joint movement of the robot's manipulator arm in adjacent time steps, making the robot's movement smoother and more fluid, that is, improving the accuracy of path planning. Furthermore, unlike the traditional axis decomposition method, this solution combines the joint angles of the robot's external axes when analyzing the joint status of the robot's manipulator, and finally generates the overall motion path of the robot. Therefore, it can improve the coordination between the robot body and the external axes, thereby effectively improving the path planning accuracy.

[0069] In one embodiment, the target joint state includes the target joint state at multiple time steps, and the target joint angle of the robot's external axis includes the target joint angle of the robot's external axis at multiple time steps. S300 includes: determining the robot's motion path based on the target joint state at multiple time steps and the target joint angle of the robot's external axis at multiple time steps.

[0070] A time step is the discretized time interval used in path planning. Each time step corresponds to a specific joint state and external axis angle. The robot's motion path is formed by combining the joint angles of the robot's external axes and the joint states of its manipulators over multiple time steps. A motion path is a path formed by the joint angles of the robot's external axes and the joint states of its manipulators over multiple time steps.

[0071] For example, a motion path optimization algorithm may be employed at each time step to plan the robot's motion path. In this embodiment, a particle swarm optimization algorithm is employed to plan the robot's motion path. This is because robot motion planning is a complex multi-objective optimization problem requiring simultaneous consideration of multiple optimization objectives. Conventional optimization algorithms are prone to falling into local optimal solutions. However, the particle swarm optimization algorithm is highly efficient, adaptable, and possesses global search capabilities. For the redundant robot system with external axes in this embodiment, multiple feasible solutions exist for the joint angles of the robot's external axes and the joint states of the robot's manipulators. Therefore, the particle swarm optimization algorithm can effectively and rapidly explore the solution space while minimizing the risk of falling into local optimal solutions.

[0072] In this embodiment, path planning can be transformed into a dynamic sequence problem by discretizing multiple time steps. In each time step, a particle swarm optimization algorithm is used to find the global optimal solution, so that the motion path finally planned is more accurate, coherent, and stable.

[0073] In one embodiment, in each time step, the number of joint angles of the robot's external axes is multiple groups, such as Figure 3 As shown, S200 includes:

[0074] S210, in each time step, for each set of joint angles of the robot's external axes, according to the target posture, with the goal of minimizing joint limits and minimizing joint movements, solve the preset multi-objective function, determine the optimal joint state of the robot manipulator, and obtain the optimal joint state corresponding to the joint angles of multiple sets of robot external axes in each time step.

[0075] S220, for each time step, from the optimal joint states corresponding to multiple groups of joint angles of the robot's external axes, select the target joint state when the preset multi-objective function obtains the minimum value, and the target joint angle of the robot's external axis corresponding to the target joint state.

[0076] The optimal joint state is the joint state when the preset multi-objective function reaches its minimum value. The robot may have multiple external axes, and multiple combinations of joint angles for the robot's external axes are referred to as a set of joint angles for the robot's external axes. Theoretically, any combination of joint angles that ultimately enables the robot's manipulator to assume the target position can be used as the robot's external axis joint angles in this embodiment. Therefore, there are multiple sets of joint angles for the robot's external axes.

[0077] Specifically, the joint angles of the robot's external axes can be parameterized first. However, for a robot arm, the same target position can correspond to an infinite number of joint states. Therefore, the preset multi-objective function can be solved with the goal of minimizing joint limits and minimizing joint movement to determine the optimal joint state of the robot arm under the current joint angles of the robot's external axes. In this way, the above operation is performed for each set of joint angles of the robot's external axes, and finally the optimal joint state of the robot arm corresponding to each set of joint angles of the robot's external axes is obtained. Furthermore, further screening is performed from the multiple sets of optimal joint states to select the target joint state when the preset multi-objective function reaches the minimum value, and the target joint angle of the robot's external axis corresponding to the target joint state.

[0078] In this embodiment, the joint state of the robot arm is first optimized for each set of joint angles of the robot's external axes to obtain the optimal joint state of the optimal robot arm corresponding to each set of joint angles, and then the target joint state is screened out from multiple sets of optimal joint states. This can reduce the complexity of the solution process and thus improve the efficiency of the robot motion planning.

[0079] In one embodiment, Figure 4 As shown, S210 includes:

[0080] S211, solving the inverse kinematics of the robot according to the joint angles of the robot's external axes and the target posture to obtain the joint states of the robot's manipulator arm.

[0081] S212 , determining the joint state of the robot according to the joint angles of the robot's external axes and the joint state of the robot's manipulator arms.

[0082] S213 , determining a multi-objective function value corresponding to the joint state of the robot according to the joint state of the robot and a preset multi-objective function.

[0083] S214, determining the joint state corresponding to the minimum value of the multi-objective function as the optimal joint state.

[0084] Among them, inverse kinematics is a method used to calculate the joint states of a robot's manipulator arm so that the end of the manipulator arm can reach a specific target position. Specifically, for a robot with external axes, let the number of external axes be m and the number of joints of the robot's manipulator arm be n. The external axes and the robot can be considered as two separate serial mechanisms, and the forward kinematic equations for the two can be established. After adding the external axes to the robot, a serial mechanical structure composed of multiple connecting rods is formed. The two can be regarded as a whole serial robot. At this time, the number of joints of the entire robot becomes m+n, of which the first m are the joints of the external axes and the last n are the joints of the robot.

[0085] Except for the base and end joints, each joint connects two links. These links are numbered sequentially from 0 to m+n-1, and the joints of the serial robot are numbered from 1 to m+n. To facilitate the establishment of the kinematic model, each link can be considered a rigid body. A coordinate system T is then fixed at the starting end of the link, called the link's fixed coordinate system. Coordinate system T is usually fixed at the center of the joint axis. The fixed coordinate system of link 0 coincides with the world coordinate system. Each joint of the serial robot can rotate or move about its axis. Therefore, T is a matrix function of the amount of rotation or movement, representing the position of the current link's fixed coordinate system in the fixed coordinate system of the previous link. Therefore, by utilizing the properties of homogeneous transformation matrices, multiplying the matrix functions of each link sequentially can determine the position of the robot's end link's fixed coordinate system in the fixed coordinate system of the robot base, thus constructing the forward kinematic equations of the serial robot. Among them, the positive kinematics equation of the external axis is shown in formula (3), and the positive kinematics equation of the robot is shown in formula (4):

[0086] (3)

[0087] (4)

[0088] The joint angles of the serial robot can be expressed as The forward kinematic equation from the external axis base to the robot flange (the end of the last link, which can be used to install tools such as welding guns and grinding heads) is shown in Equation (5):

[0089] (5)

[0090] The forward kinematic equation from the world coordinate system to the end of the last link of the serial robot is shown in Equation (6):

[0091] (6)

[0092] According to the above forward kinematics equation, combined with the existing analytical solution algorithm for robot inverse kinematics, the joint angles of the robot's external axes can be parameterized first. , the forward kinematics equation of the external axis joint is used to calculate the position of the robot base in the external axis base coordinate system, and then the position of the end of the manipulator to the robot base coordinate system is obtained. Finally, the analytical solution of the robot manipulator is determined according to formula (7): . Represents the joint status of the robot arm:

[0093] (7)

[0094] The above has introduced how to solve the joint state of the robot arm in each time step, given the robot's external axis joint angles and target posture. Furthermore, in each time step, taking the particle swarm optimization algorithm as an example, the specific solution process of screening the target joint state can be as follows: Figure 5 As shown, the specific steps may be: first, initialize the parameters of the particle swarm optimization algorithm and initialize the joint angles and velocities of the robot's external axes (velocities include linear velocity, angular velocity, etc., which can be pre-set). The particle swarm optimization algorithm parameters include but are not limited to the maximum number of iterations, the particle swarm size, and the particle movement speed. In the solution space, each particle is randomly generated and distributed throughout the solution space. Each particle represents a set of joint states of the robot's manipulator. The particle movement speed represents the rate and direction of the particle's movement in the solution space. The particle movement speed can also be considered as the particle's "momentum." By adjusting the magnitude and direction of the particle movement speed, the particle can be moved toward the individual historical optimal position and the global historical optimal position. Then, determine whether the maximum number of iterations has been reached. If not, update the joint angles and velocities of the robot's external axes. Based on the joint angles of the robot's external axes and the target pose, calculate the robot's inverse solution, that is, the joint states of the robot's manipulator, which are equivalent to particles distributed throughout the solution space. Then, the joint states of the robot's arm and the joint angles of the robot's external axes are concatenated to form the joint state of the entire robot. Based on the robot's joint states, the multi-objective function values ​​corresponding to each solution are calculated, that is, the fitness of each particle is calculated. The historical optimal position and fitness of the individual particle are updated (that is, the optimal joint state of the robot's arm and the multi-objective function values ​​corresponding to the optimal joint state are updated under the current robot's external axis joint angles and velocities). The historical optimal position and fitness of the particle group are also updated (equivalent to the target joint state of the robot's arm and the multi-objective function values ​​corresponding to the target joint state under all robot's external axis joint angles and velocities). Return to determine whether the maximum number of iterations has been reached. If not, the joint angles and velocities of the robot's external axes are updated. This is because multiple sets of joint angles and velocities of the robot's external axes are predefined. The above operation only determines the optimal joint state of the robot's arm for a certain set of joint angles and velocities of the robot's external axes. Through repeated iterations, the optimal joint state of the robot's arm corresponding to each set of joint angles and velocities of the robot's external axes can be determined until the maximum number of iterations is reached. The target joint state of the robot's arm and the target joint angles of the robot's external axes corresponding to the target joint state are output.

[0095] In this embodiment, the particle swarm optimization algorithm is used to screen out the optimal target joint state from an infinite number of joint states. This is because the particle swarm optimization algorithm has powerful global search capabilities, strong adaptability and robustness, does not depend on the specific mathematical characteristics of the problem (such as whether it is differentiable or convex), and has relatively low computational complexity. Therefore, in welding tasks with relatively high real-time requirements, the optimal target joint state of the welding robot can be determined in a relatively short time, and the multi-degree-of-freedom and redundant robot motion planning problem can be efficiently solved.

[0096] In one embodiment, the multi-objective function also includes a preset singular configuration constraint function and a preset collision constraint function. S200 includes: within the range of motion represented by the preset singular configuration constraint function and the preset collision constraint function, solving the preset multi-objective function with the goal of minimizing the weighted sum of the first objective function value of the first objective function and the second objective function value of the second objective function, and determining the target joint state of the robot manipulator and the target joint angle of the robot's external axis.

[0097] The first objective function and the second objective function are respectively shown as formula (1) and formula (2) in the above embodiment. In addition, the multi-objective function also includes a singular configuration constraint function and a collision constraint function.

[0098] Specifically, singular configurations usually appear in specific postures in robot kinematics. At this time, the robot will lose some degrees of freedom, resulting in the robot being unable to move normally or even experiencing uncontrollable motion. In order to reduce the occurrence of singular configurations, it is necessary to pre-set singular configuration constraint functions in the robot's motion path planning. For example, the determinant of the Jacobian matrix is ​​used to determine whether the robot has a singular configuration. When the determinant of the Jacobian matrix J is less than a preset threshold When , it means the robot is close to a singular configuration, and the singular configuration constraint function , if the determinant of the Jacobian matrix J is greater than the preset threshold When the singular configuration constraint function , that is, the preset singular configuration constraint function is shown in formula (8):

[0099] (8)

[0100] During the robot's motion, it is necessary to avoid interference between the robot's joints, tools, or other components and obstacles in the environment or the robot itself as much as possible. Interference detection can be performed by calculating the distance between the robot's components and obstacles in real time. When the distance is less than a preset safety distance, it indicates that there is interference or potential collision. The preset collision constraint function is shown in Equation (9):

[0101] (9)

[0102] Furthermore, when calculating the multi-objective function value, all solutions must be within the range of motion represented by the preset singular configuration constraint function and the preset collision constraint function. Within this range of motion, the first objective function value of the first objective function and the second objective function value of the second objective function are calculated. The weighted sum of the two can be used as the function value of the multi-objective function, thereby determining the target joint state of the robot manipulator and the target joint angle of the robot's external axis that minimizes the multi-objective function value. The multi-objective function can be shown as Equation (9):

[0103] (9)

[0104] In formula (9), and They are the weight factors of the first objective function and the second objective function respectively. If the joint of the robot is far away from the joint limit during movement, the continuity of the joint movement is given priority. If the joint is close to the joint limit, avoiding the joint limit is given priority. In this way, the weight factor can be dynamically adjusted.

[0105] In this embodiment, by introducing singular configuration constraints and collision constraints, the robot can stay as far away from singular configurations as possible and avoid colliding with obstacles during movement. Moreover, within the working range that meets the above constraints, the robot's joint state and motion stability are further optimized. The weight factors of the two can also be adjusted according to actual conditions to adapt to the needs of different environments and improve the reliability and accuracy of the robot's motion planning.

[0106] In one embodiment, Figure 6 As shown, S100 includes:

[0107] S110 , obtaining the joint movement range of the robot's external axes, discretizing the joint movement range, and determining multiple groups of initial joint angles of the robot's external axes.

[0108] S120 , selecting, from the multiple sets of initial joint angles, multiple sets of robot external axis joint angles that enable the robot to move to a target posture.

[0109] The joint range refers to the range of motion of an external axis, typically determined by the hardware parameters of the external axis device. Furthermore, by discretizing the joint range of the robot's external axes, we can derive multiple sets of initial joint angles for these axes. For example, assuming the range of motion for an external axis is [0, 1], we can then select discrete points 0, 0.2, 0.4, 0.6, 0.8, and 1 at equal intervals within [0, 1] to obtain multiple sets of initial joint angles.

[0110] However, in actual operation, the above initial joint angles are not all reasonable. At certain initial joint angles, the working range of the serial robot obtained by connecting the external axis and the robot in series may not meet the target posture. Therefore, each set of initial joint angles can be checked to see whether it can meet the requirements of the target posture, and the unqualified initial joint angles can be screened out, leaving multiple sets of joint angles of the robot's external axes that enable the robot to move to the target posture.

[0111] In this embodiment, by discretizing the joint angles of the external axes and screening out feasible joint angles, the amount of data processing in the subsequent path planning process can be reduced, the computational complexity can be reduced, and thus the efficiency and accuracy of path planning can be improved.

[0112] In order to make a clearer description of the path planning method for the robot with external axes provided by this application, Figure 7 and one A detailed embodiment is provided for explanation, and the detailed embodiment includes the following steps:

[0113] S701, obtain the joint movement range of the robot's external axis and the target posture of the end of the robot's manipulator, discretize the joint movement range, determine multiple sets of initial joint angles of the robot's external axis, and select multiple sets of joint angles of the robot's external axis that enable the robot to move to the target posture from the multiple sets of initial joint angles.

[0114] S702 , in each time step, for each set of joint angles of the robot's external axes, solve the robot's inverse kinematics according to the joint angles of the robot's external axes and the target posture to obtain the joint states of the robot's manipulator.

[0115] S703, determine the joint state of the robot according to the joint angle of the robot's external axis and the joint state of the robot's manipulator, and determine the multi-objective function value corresponding to the joint state of the robot according to the joint state of the robot and the preset multi-objective function.

[0116] S704, determining the joint state corresponding to the minimum value of the multi-objective function as the optimal joint state, and obtaining the optimal joint state corresponding to the joint angles of multiple groups of robot external axes in each time step.

[0117] S705, for each time step, from the optimal joint states corresponding to multiple groups of joint angles of the robot's external axes, select the target joint state when the preset multi-objective function obtains the minimum value, and the target joint angle of the robot's external axis corresponding to the target joint state.

[0118] S706, determining the motion path of the robot based on the target joint states at multiple time steps and the target joint angles of the robot's external axes at multiple time steps, and controlling the robot to move according to the motion path.

[0119] It should be understood that, although the steps in the flowcharts of the above embodiments are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the flowcharts of the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily to be performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0120] Based on the same inventive concept, embodiments of the present application also provide a path planning device for a robot with external axes, which is used to implement the aforementioned path planning method for a robot with external axes. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of one or more embodiments of the path planning device for a robot with external axes provided below can be found in the aforementioned limitations of the path planning method for a robot with external axes, and will not be repeated here.

[0121] In one embodiment, Figure 8 As shown, a path planning device 800 for a robot with an external axis is provided, comprising: a data acquisition module 810, a path planning module 820, a path determination module 830 and a motion control module 840, wherein:

[0122] The data acquisition module 810 is used to obtain the joint angles of multiple groups of robot external axes and the target position of the end of the robot's mechanical arm.

[0123] The path planning module 820 is used to solve a preset multi-objective function based on the joint angle and target posture of the robot's external axis, with the goal of minimizing the joint limit and minimizing the joint movement, to determine the target joint state of the robot's manipulator arm and the target joint angle of the robot's external axis. The multi-objective function includes a first objective function for minimizing the joint limit and a second objective function for minimizing the joint movement. The joint movement is the joint movement of the robot's manipulator arm in adjacent time steps. The target joint state and target joint angle are respectively the joint state and joint angle when the preset multi-objective function obtains the minimum value.

[0124] The path determination module 830 is used to determine the motion path of the robot according to the target joint states and the target joint angles of the robot's external axes.

[0125] The motion control module 840 is used to control the robot to move along the motion path.

[0126] In one embodiment, the target joint state includes the target joint state at multiple time steps, and the target joint angle of the robot's external axis includes the target joint angle of the robot's external axis at multiple time steps. The path determination module 830 is also used to determine the robot's motion path based on the target joint state at multiple time steps and the target joint angle of the robot's external axis at multiple time steps.

[0127] In one embodiment, in each time step, the number of joint angles of the robot's external axes is multiple groups, and the path planning module 820 is also used to solve a preset multi-objective function in each time step for each group of joint angles of the robot's external axes, based on the target posture, with the goal of minimizing joint limits and minimizing joint movements, to determine the optimal joint state of the robot manipulator, and obtain the optimal joint state corresponding to the multiple groups of joint angles of the robot's external axes in each time step. The optimal joint state is the joint state when the preset multi-objective function reaches the minimum value. For each time step, from the optimal joint states corresponding to the multiple groups of joint angles of the robot's external axes, the target joint state when the preset multi-objective function reaches the minimum value and the target joint angle of the robot's external axis corresponding to the target joint state are screened out.

[0128] In one embodiment, the path planning module 820 is also used to solve the inverse kinematics of the robot based on the joint angles of the robot's external axes and the target posture to obtain the joint state of the robot's mechanical arm, determine the joint state of the robot based on the joint angles of the robot's external axes and the joint state of the robot's mechanical arm, determine the multi-objective function value corresponding to the joint state of the robot based on the joint state of the robot and a preset multi-objective function, and determine the joint state corresponding to the minimum multi-objective function value as the optimal joint state.

[0129] In one embodiment, the multi-objective function also includes a preset singular configuration constraint function and a preset collision constraint function. The path planning module 820 is also used to solve the preset multi-objective function within the range of motion represented by the preset singular configuration constraint function and the preset collision constraint function, with the goal of minimizing the weighted sum of the first objective function value of the first objective function and the second objective function value of the second objective function, to determine the target joint state of the robot manipulator and the target joint angle of the robot's external axis.

[0130] In one embodiment, the data acquisition module 810 is also used to obtain the joint movement range of the robot's external axes, discretize the joint movement range, determine multiple sets of initial joint angles of the robot's external axes, and filter out multiple sets of joint angles of the robot's external axes that enable the robot to move to the target posture from the multiple sets of initial joint angles.

[0131] Each module in the aforementioned path planning device for a robot with external axes may be implemented in whole or in part through software, hardware, or a combination thereof. Each module may be embedded in or independent of a processor in a computer device in the form of hardware, or may be stored in a computer device memory in the form of software, so that the processor can call and execute the corresponding operations of each module.

[0132] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 9 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O) and a communication interface. The processor, memory and input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store data such as the joint angles of multiple groups of robot external axes. The input / output interface of the computer device is used to exchange information between the processor and the external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a path planning method for a robot with an external axis is implemented.

[0133] Those skilled in the art will understand that Figure 9 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0134] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps in the above-mentioned path planning method embodiment of the robot with an external axis are implemented.

[0135] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned path planning method embodiment of the robot with an external axis are implemented.

[0136] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the steps in the above-mentioned path planning method embodiment for a robot with an external axis.

[0137] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.

[0138] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), data processing logic devices based on quantum computing, and the like.

[0139] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0140] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A path planning method for a robot with an external axis, characterized in that: The method comprises: Obtain the joint angles of multiple sets of robot external axes and the target pose of the robot's end arm; Based on the joint angle of the robot's external axis and the target posture, with the goal of minimizing the joint limit and minimizing the joint movement, solving a preset multi-objective function to determine the target joint state of the robot's mechanical arm and the target joint angle of the robot's external axis, the multi-objective function including a first objective function for minimizing the joint limit and a second objective function for minimizing the joint movement, the joint movement being the joint movement of the robot's mechanical arm in adjacent time steps, the target joint state and the target joint angle being the joint state and the joint angle, respectively, when the preset multi-objective function achieves a minimum value; determining a motion path of the robot according to the target joint state and the target joint angle of the robot's external axis; The robot is controlled to move along the motion path.

2. The method according to claim 1, characterized in that The target joint state includes target joint states at multiple time steps, and the target joint angle of the robot's external axis includes target joint angles of the robot's external axis at multiple time steps; Determining the motion path of the robot according to the target joint state and the target joint angle of the robot's external axis includes: The motion path of the robot is determined according to the target joint states at multiple time steps and the target joint angles of the external axes of the robot at multiple time steps.

3. The method according to claim 2, characterized in that In each time step, the number of joint angles of the robot's external axes is multiple groups; based on the joint angles of the robot's external axes and the target posture, minimizing joint limits and minimizing joint movements are taken as goals, solving a preset multi-objective function to determine the target joint states of the robot manipulator and the target joint angles of the robot's external axes, including: In each time step, for each set of joint angles of the robot's external axes, according to the target posture, with the goal of minimizing joint limits and minimizing joint movements, solving a preset multi-objective function, determining the optimal joint state of the robot manipulator, and obtaining the optimal joint states corresponding to the multiple sets of joint angles of the robot's external axes in each time step, the optimal joint state being the joint state when the preset multi-objective function achieves a minimum value; For each time step, from the multiple groups of optimal joint states corresponding to the joint angles of the robot's external axes, the target joint state when the preset multi-objective function achieves the minimum value and the target joint angle of the robot's external axis corresponding to the target joint state are screened out.

4. The method according to claim 3, characterized in that The method of solving a preset multi-objective function based on the target posture and minimizing joint limits and joint movements to determine the optimal joint state of the robot arm includes: Solving the inverse kinematics of the robot according to the joint angles of the robot's external axes and the target posture to obtain the joint states of the robot's manipulator arm; determining a joint state of the robot based on a joint angle of an external axis of the robot and a joint state of a mechanical arm of the robot; Determining a multi-objective function value corresponding to the joint state of the robot according to the joint state of the robot and the preset multi-objective function; The joint state corresponding to the minimum value of the multi-objective function is determined as the optimal joint state.

5. The method according to any one of claims 1 to 4, characterized in that The multi-objective function also includes a preset singular configuration constraint function and a preset collision constraint function. The preset multi-objective function is solved with the goal of minimizing joint limits and minimizing joint movements to determine the target joint state of the robot manipulator and the target joint angle of the robot's external axis, and further includes: Within the range of motion represented by the preset singular configuration constraint function and the preset collision constraint function, with the goal of minimizing the weighted sum of the first objective function value of the first objective function and the second objective function value of the second objective function, the preset multi-objective function is solved to determine the target joint state of the robot manipulator and the target joint angle of the robot's external axis.

6. The method according to any one of claims 1 to 4, characterized in that The step of obtaining multiple sets of joint angles of external axes of the robot includes: Obtaining the joint movement range of the robot's external axis; Discretizing the joint movement range and determining multiple sets of initial joint angles of the robot's external axes; A plurality of sets of joint angles of the robot's external axes that enable the robot to move to a target posture are selected from the plurality of sets of initial joint angles.

7. A path planning device for a robot with an external axis, characterized in that: The device comprises: The data acquisition module is used to obtain the joint angles of multiple sets of robot external axes and the target position of the end of the robot's manipulator; a path planning module for solving a preset multi-objective function based on the joint angles of the robot's external axes and the target posture, with the goal of minimizing joint limits and minimizing joint movement, to determine the target joint state of the robot's manipulator arm and the target joint angle of the robot's external axes, the multi-objective function including a first objective function for minimizing joint limits and a second objective function for minimizing joint movement, the joint movement being the amount of joint movement of the robot's manipulator arm in adjacent time steps, the target joint state and the target joint angle being the joint state and the joint angle, respectively, when the preset multi-objective function achieves a minimum value; a path determination module, configured to determine a motion path of the robot according to the target joint state and the target joint angle of the robot's external axis; A motion control module is used to control the robot to move along the motion path.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Control method and device for cooperative movement of robot and external shaft

    CN112589786A

  • Redundant-degree-of-freedom mechanical arm path planning method and device and engineering machinery

    CN113799120A