Intelligent planning and control method and device for motion trail of mechanical arm
By constructing the motor equation and planning path nodes of the robotic arm, combining the interpolation algorithm to generate a smooth motion trajectory, solve the problem of insufficient stability of the motor trajectory of the robotic arm, and achieve the stability and accuracy of the robotic arm movement.
Patent Information
- Application Number
- CN202411396597.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-09
- Publication Date
- 2025-01-28
AI Technical Summary
The planning of the movement trajectory of the robotic arm is not stable enough, resulting in vibration and errors during the movement.
By constructing the motor equation of the robotic arm, obtain the target location and current location of the end tool, plan the path node, and generate a smooth motion trajectory through the interpolation algorithm, and finally control the robotic arm to perform the trajectory.
实现了机械臂运动的平稳性和精确性,减少了运动过程中的震动和误差,提高了机械臂的操作稳定性。
Smart Images

Figure CN119369384A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of surgical robots, and more specifically, to a method and device for intelligently planning and controlling the motion trajectory of a robotic arm. Background Art
[0002] In a navigation surgical robot, the surgical robot performs surgical planning within the reachable area and the robotic arm performs the corresponding planned operations. However, the current planning of the robotic arm's motion trajectory is not stable enough. Summary of the invention
[0003] The problem that this application solves is that the planning of the robot arm's motion trajectory is not stable enough.
[0004] To solve the above problems, the first aspect of the present application provides an intelligent planning and control method for the motion trajectory of a robot arm, comprising:
[0005] Based on the kinematic parameters of the robot arm, the kinematic equation of the robot arm is constructed;
[0006] Get the target position and current position of the tool at the end of the robot arm;
[0007] Based on the target position and the current position, planning the path nodes of the robotic arm;
[0008] Interpolate the adjacent path nodes of the robot arm to obtain the motion trajectory of the robot arm;
[0009] Control the robotic arm to execute the robotic arm motion trajectory.
[0010] The second aspect of the present application provides an intelligent planning and control device for a robot arm motion trajectory, which includes:
[0011] An equation building module, which is used to build the kinematic equations of the robot arm based on the kinematic parameters of the robot arm;
[0012] A position acquisition module is used to obtain the target position and current position of the tool at the end of the robot arm;
[0013] A node planning module, which is used to plan the path nodes of the robot arm based on the target position and the current position;
[0014] A node interpolation module is used to interpolate adjacent path nodes of the robot arm to obtain the robot arm motion trajectory;
[0015] A robot arm control module is used to control the robot arm to execute the robot arm motion trajectory.
[0016] A third aspect of the present application provides an electronic device, comprising: a memory and a processor;
[0017] The memory is used to store programs;
[0018] The processor, coupled to the memory, is configured to execute the program to:
[0019] Based on the kinematic parameters of the robot arm, the kinematic equation of the robot arm is constructed;
[0020] Get the target position and current position of the tool at the end of the robot arm;
[0021] Based on the target position and the current position, planning the path nodes of the robotic arm;
[0022] Interpolate the adjacent path nodes of the robot arm to obtain the motion trajectory of the robot arm;
[0023] Control the robotic arm to execute the robotic arm motion trajectory.
[0024] A fourth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the program is executed by a processor to implement the intelligent planning and control method of the robot arm motion trajectory described above.
[0025] In the present application, multiple interpolation functions are usually constructed in the joint space according to the operation requirements and constraints to ensure the continuity and stability of the joint motion parameters. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Figure 1 is a flow chart of a method for intelligently planning and controlling a motion trajectory of a robotic arm according to an embodiment of the present application;
[0027] Figure 2 is a structural block diagram of an intelligent planning and control device for a robot arm motion trajectory according to an embodiment of the present application;
[0028] Figure 3 is a structural block diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0029] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the specific embodiments of the present application are described in detail below in conjunction with the accompanying drawings. Although the exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.
[0030] It should be noted that, unless otherwise specified, the technical terms or scientific terms used in this application should have the common meanings understood by technicians in the field to which this application belongs.
[0031] In response to the above problems, the present application provides a new intelligent planning and control solution for the motion trajectory of the robot arm, which solves the problem that the planning of the motion trajectory of the robot arm is not smooth enough by performing secondary interpolation.
[0032] The present application embodiment provides a method for intelligent planning and control of a robot arm motion trajectory, the specific scheme of the method is as follows: Figure 1 As shown, the method can be performed by an intelligent planning and control device for the motion trajectory of a robot arm, and the intelligent planning and control device for the motion trajectory of a robot arm can be integrated in electronic devices such as computers, servers, computers, server clusters, and data centers. Figure 1 As shown, it is a flow chart of a method for intelligent planning and control of a robot arm motion trajectory according to an embodiment of the present application; wherein the method for intelligent planning and control of a robot arm motion trajectory includes:
[0033] S101, constructing a kinematic equation of the robot arm based on the kinematic parameters of the robot arm;
[0034] Among them, the robot arm dynamics model is a mathematical model that describes the relationship between the force and motion of the robot arm during the movement process. It can be divided into forward dynamics and inverse dynamics. The forward dynamics problem is to calculate the motion (acceleration, velocity and position) of each joint of the robot arm when the torque or force of each joint of the robot arm is known; the inverse dynamics problem is to calculate the joint torque or force required to achieve this motion when the motion (position, velocity and acceleration) of each joint of the robot arm is known.
[0035] The kinematic parameters of the robotic arm include the length of the robotic arm connecting rod and the pitch angle of the rotary joint.
[0036] Analyzing the robotic arm, it can be seen that the robotic arm is formed by connecting several rods (the place where two rods are connected is a joint), and these rods in the robotic arm are called connecting rods. Each connecting rod can rotate around a certain axis based on the husband connecting rod (the previous connecting rod) (the joint drives the connecting rod to rotate through the motor rotation), and this axis is only relative to the husband connecting rod. This results in that once multiple connecting rods are moving, the connecting rod can only have a direct spatial conversion relationship with the "previous level connecting rod" and the "next level connecting rod", that is, when the rotation angle of the first connecting rod (the pitch angle of the rotating joint) is determined, the specific position of the first connecting rod can be calculated according to the spatial coordinates of the base, and then the position of the end robotic arm can be obtained by calculating backward one level at a time, which is the end position of the loading and unloading ratio.
[0037] In summary, it can be seen that in the motion state of the robot arm, the coordinates of the tool at the end of the robot arm can be determined by knowing the posture of the robot arm (corresponding data / rotation data of each joint). Conversely, if the coordinates of the tool at the end of the robot arm (expected posture) are known, the posture of the robot arm (expected joint angle of each joint) can be determined by inverse kinematics solution.
[0038] S102, obtaining the target position and current position of the tool at the end of the robot arm;
[0039] The target position of the robotic arm can be obtained through the NDI device and preoperative planning. The relative position relationship between the target position of the robotic arm and the surgical object can be planned in the preoperative planning. The NDI device can obtain the real-time position of the surgical object in real time, thereby calculating the target position of the robotic arm.
[0040] The specific acquisition method may be: obtaining a preoperative CT two-dimensional / three-dimensional image, on which planning data is annotated, and performing image registration between the preoperative CT two-dimensional / three-dimensional image and the intraoperative surgical object image (which may be obtained through CT or X-ray) and a positioning frame (NDI) fixed on the surgical object, thereby obtaining the real-time target position of the robotic arm. The NDI is used to track the positioning frame to determine the real-time position of the surgical object.
[0041] In the present application, since the real-time target position is determined, when the target position of the robot arm changes, the real-time target position only needs to be updated. Therefore, the action can be accurately executed even when the target position changes.
[0042] S103, planning the path nodes of the robot arm based on the target position and the current position;
[0043] In this application, path nodes are a series of key position points that the robot arm needs to pass through during movement. The planning of these nodes takes into account the smoothness and safety of movement and avoidance of collision with surrounding obstacles.
[0044] S104, interpolating adjacent path nodes of the robot arm to obtain a motion trajectory of the robot arm;
[0045] In this application, interpolation calculation is performed on the planned adjacent path nodes, that is, more intermediate points are generated between adjacent nodes to form a continuous motion trajectory. This process can make the movement of the robot arm smoother and more accurate, and reduce vibration and errors that may occur during the movement.
[0046] S105, controlling the robotic arm to execute the robotic arm motion trajectory.
[0047] In this application, the interpolated continuous motion trajectory is used as a control instruction and sent to the control system of the robot. The control system drives the joints of the robot according to these instructions, so that the robot moves along the planned trajectory, and finally achieves precise movement from the current position to the target position.
[0048] In the present application, multiple interpolation functions are usually constructed in the joint space according to the operation requirements and constraints to ensure the continuity and stability of the joint motion parameters.
[0049] In one implementation, in the interpolation of adjacent path nodes of the robot arm, the adjacent path nodes of the robot arm are interpolated by a polynomial interpolation algorithm.
[0050] In this application, polynomial interpolation is to find a unique polynomial through a set of known data points so that it passes through these data points accurately.
[0051] In one embodiment, interpolating adjacent path nodes of the robot arm to obtain a motion trajectory of the robot arm includes:
[0052] According to the kinematic equation of the robot arm, determine the robot arm joint angle corresponding to the path node of the robot arm;
[0053] The interpolation time of each robot joint in adjacent path nodes is determined by particle swarm optimization algorithm;
[0054] According to the interpolation time of each robot joint in the adjacent path nodes and the joint angles of the starting and ending points, the adjacent path nodes are interpolated to obtain the robot motion trajectory.
[0055] In the present application, the kinematic equations of the robot arm are used to perform inverse kinematics solutions, and the end tool position of each path node is converted into the angles of each joint of the robot arm.
[0056] Among them, the particle swarm optimization algorithm is an optimization algorithm based on swarm intelligence. It finds the optimal solution by simulating the process of particle swarm moving in the search space.
[0057] In this application, the interpolation time of the robot arm joints is determined by the particle swarm optimization algorithm, and the optimal trajectory that meets the motion requirements is obtained by determining the appropriate interpolation time.
[0058] In one implementation, determining the interpolation time in adjacent path nodes by using a particle swarm optimization algorithm includes:
[0059] Initialize the particle swarm, initialize the particle position and velocity; each particle in the particle swarm represents a joint angle combination of a robotic arm;
[0060] Solve for joint coefficients and joint stage velocities;
[0061] Determine whether the joint coefficient and the joint stage speed meet the speed limit;
[0062] When the speed in the joint stage meets the speed limit, the fitness of the particle is calculated;
[0063] Optimize particle position and velocity;
[0064] Determine whether the particle position and velocity meet the boundary conditions;
[0065] When the particle position and velocity meet the boundary conditions, the optimal value of individual particles and the optimal value of the population are obtained;
[0066] Re-iterate the joint coefficients and joint phase velocities until an end condition is met;
[0067] Determining a joint operation time of each robot arm joint according to the joint coefficient and the joint phase speed;
[0068] The maximum value of the joint running time of each robot arm joint is selected as the interpolation time in the adjacent path nodes.
[0069] In this application, in particle swarm optimization, each particle represents a potential solution. In this context, each particle represents a combination of joint angles of a robot arm, that is, a collection of all joint angles.
[0070] In this application, for each joint angle combination represented by a particle, the corresponding joint stage speed is calculated. It is determined whether these speeds meet the maximum speed limit of the robot joint. If any joint speed in the joint combination represented by a particle exceeds the limit, the particle does not meet the constraint condition.
[0071] In one embodiment, the fitness of the particle is the Euclidean distance between the target position and the current position of the tool at the end of the robot arm.
[0072] In this application, the particle position and speed are optimized: the current position and speed of the particle are updated according to the particle's historical optimal position (individual optimal) and the population optimal position (global optimal).
[0073] In this application, it is checked whether the position and velocity of each particle are within the set boundary conditions (for example, the maximum and minimum values of the joint angle and velocity).
[0074] In this application, if a particle exceeds the boundary, its position or velocity needs to be corrected to bring it back into the boundary.
[0075] In this application, the individual optimal value of each particle (the optimal position in the current particle's own history) is updated according to the fitness of the current particle.
[0076] In this application, the best individuals among all particles are compared, and the global optimal value of the population (the best position among all particles) is updated.
[0077] Repeat the above steps to continuously optimize the particle's joint coefficients and speeds until the preset end condition is reached, such as reaching the maximum number of iterations or the fitness change is less than a certain threshold.
[0078] In this application, the maximum value of all joint running times is selected as the interpolation time of adjacent path nodes to ensure that all joints can complete the movement in the same time.
[0079] In one embodiment, in the particle swarm optimization algorithm, the particle swarm size is 20, the inertia weight range is 0.3-0.9, the learning factors are 0.05, 0.05, 0.02, and 0.02 respectively, and the number of particle swarm iterations is 100.
[0080] In this application, the particle swarm size refers to the number of particles in the particle swarm, that is, the number of potential solutions optimized simultaneously in each iteration.
[0081] In this application, the inertia weight controls the impact of the current velocity of the particle on the next velocity, and determines whether the particle's search behavior tends to be global search or local search.
[0082] In this application, the learning factor determines the extent to which a particle is affected by its own historical optimal solution and the group's global optimal solution.
[0083] In this application, lower learning factor values (0.05, 0.02) mean that the particles will be adjusted in smaller steps, which can avoid large fluctuations and improve accuracy and stability.
[0084] In this application, the number of iterations refers to how many times the particle swarm updates its position and velocity during the optimization process. After each iteration, the particle updates its position and velocity according to the current state, gradually approaching the optimal solution.
[0085] In one embodiment, the path node includes a path starting point, a path middle point, and a path end point; the adjacent path nodes are interpolated according to the interpolation time of each robot joint in the adjacent path nodes, and the joint angles of the starting and ending points to obtain the robot motion trajectory, including:
[0086] Get the stage path of the path starting point and the first path midpoint;
[0087] The stage path between the path start point and the first path midpoint is interpolated by a cubic polynomial;
[0088] Get the stage path of the last path midpoint and path end point;
[0089] The stage path of the last path midpoint and the path end point is interpolated by a cubic polynomial;
[0090] Get the stage path of adjacent path midpoints;
[0091] Interpolate the stage paths of adjacent path midpoints using a quintic polynomial;
[0092] Traverse all the midpoints of the path to obtain the motion trajectory of the robot arm.
[0093] In the present application, a cubic polynomial is used to process the start and end paths, which can control the smooth transition of speed and acceleration in the start and end stages, and avoid unnecessary vibration of the robot arm when starting and stopping.
[0094] In the present application, the use of a quintic polynomial to interpolate the path between the intermediate points can better control the smoothness and continuity of the complex trajectory, especially when the path between multiple intermediate points is complex, the quintic polynomial can provide higher trajectory accuracy.
[0095] In one embodiment, the path node includes a path starting point, a path middle point, and a path end point; the adjacent path nodes are interpolated according to the interpolation time of each robot joint in the adjacent path nodes, and the joint angles of the starting and ending points to obtain the robot motion trajectory, including:
[0096] Constructing a minimum beat count trajectory, wherein the minimum beat count trajectory is a quintic polynomial;
[0097] Determine the boundary conditions of the start and end points of adjacent path nodes; wherein the velocity and acceleration of the path start and the path end in the path node are both 0;
[0098] According to the minimum beat trajectory and boundary conditions, a system of equations is constructed, and the six coefficients of the quintic polynomial of the minimum beat trajectory are solved;
[0099] Substitute the solved six coefficients into the quintic polynomial equation, generate trajectory points in the time interval between the start and end points of adjacent path nodes, and obtain the interpolated stage path;
[0100] Traverse all the midpoints of the path to obtain the motion trajectory of the robot arm.
[0101] In the present application, for every two adjacent path nodes, the interpolation trajectories of the adjacent path nodes are generated in sequence according to the above steps; the interpolation trajectories of all adjacent path nodes are connected to obtain a complete robot arm motion trajectory.
[0102] In the present application, the minimum jerk trajectory is generated by minimizing the objective function, ie, the sum of the squares of the jerk of the robot arm movement within a time interval, to generate a smooth trajectory.
[0103] In this application, the minimum beat trajectory ensures a smooth transition of displacement, velocity, and acceleration, avoids sudden acceleration or deceleration during movement, and reduces the jitter of the robotic arm during high-speed movement.
[0104] In this application, the minimum beat trajectory is similar to the natural movement of humans and is suitable for application scenarios that require simulation of human movement.
[0105] In the present application, after the coefficients of the quintic polynomial are determined, the movement of the robot arm on the path can be conveniently controlled.
[0106] An embodiment of the present application provides an intelligent planning and control device for a robot arm's motion trajectory, which is used to execute the intelligent planning and control method for the robot arm's motion trajectory described in the above content of the present application. The intelligent planning and control device for the robot arm's motion trajectory is described in detail below.
[0107] like Figure 2 As shown, the intelligent planning and control device for the motion trajectory of the robot arm includes:
[0108] An equation building module 101, which is used to build a kinematic equation of the robot arm based on the kinematic parameters of the robot arm;
[0109] A position acquisition module 102 is used to acquire the target position and current position of the tool at the end of the robot arm;
[0110] A node planning module 103, which is used to plan the path nodes of the robot arm based on the target position and the current position;
[0111] A node interpolation module 104 is used to interpolate adjacent path nodes of the robot arm to obtain a motion trajectory of the robot arm;
[0112] The robot arm control module 105 is used to control the robot arm to execute the robot arm motion trajectory.
[0113] In one implementation, in the interpolation of adjacent path nodes of the robot arm, the adjacent path nodes of the robot arm are interpolated by a polynomial interpolation algorithm.
[0114] In one implementation, the node interpolation module 104 is further configured to:
[0115] According to the kinematic equation of the robot, the robot joint angle corresponding to the path node of the robot is determined; the interpolation time of each robot joint in the adjacent path node is determined by the particle swarm optimization algorithm; according to the interpolation time of each robot joint in the adjacent path node and the joint angles of the starting and ending points, the adjacent path nodes are interpolated to obtain the robot motion trajectory.
[0116] In one implementation, the node interpolation module 104 is further configured to:
[0117] Initialize a particle swarm, initialize particle positions and velocities; each particle in the particle swarm represents a joint angle combination of a robot; solve joint coefficients and joint stage velocities; determine whether joint coefficients and joint stage velocities meet speed limits; when the joint stage velocities meet speed limits, calculate the fitness of particles; optimize particle positions and velocities; determine whether particle positions and velocities meet boundary conditions; when particle positions and velocities meet boundary conditions, obtain individual particle optimal values and population optimal values; reiterate the joint coefficients and joint stage velocities until an end condition is met; determine the joint running time of each robot joint according to the joint coefficients and joint stage velocities; select the maximum value of the joint running time of each robot joint as the interpolation time in adjacent path nodes.
[0118] In one embodiment, the fitness of the particle is the Euclidean distance between the target position and the current position of the tool at the end of the robot arm.
[0119] In one embodiment, in the particle swarm optimization algorithm, the particle swarm size is 20, the inertia weight range is 0.3-0.9, the learning factors are 0.05, 0.05, 0.02, and 0.02 respectively, and the number of particle swarm iterations is 100.
[0120] In one implementation, the path nodes include a path start point, a path middle point, and a path end point; the node interpolation module 104 is further used to:
[0121] Get the stage path of the path starting point and the first path midpoint; interpolate the stage path of the path starting point and the first path midpoint through a cubic polynomial; get the stage path of the last path midpoint and the path end point; interpolate the stage path of the last path midpoint and the path end point through a cubic polynomial; get the stage path of adjacent path midpoints; interpolate the stage path of adjacent path midpoints through a quintic polynomial; traverse all path midpoints to obtain the robot arm motion trajectory.
[0122] The intelligent planning and control device for the robot arm motion trajectory provided in the above-mentioned embodiment of the present application has a corresponding relationship with the intelligent planning and control method for the robot arm motion trajectory provided in the embodiment of the present application. Therefore, the specific content in the device has a corresponding relationship with the intelligent planning and control method for the robot arm motion trajectory. The specific content can refer to the records in the intelligent planning and control method for the robot arm motion trajectory, and will not be repeated in this application.
[0123] The intelligent planning and control device for the motion trajectory of a robotic arm provided in the above-mentioned embodiments of the present application and the intelligent planning and control method for the motion trajectory of a robotic arm provided in the embodiments of the present application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the application programs stored therein.
[0124] The above describes the internal functions and structures of the intelligent planning and control device of the robot arm motion trajectory, such as Figure 3 As shown, in practice, the intelligent planning and control device for the motion trajectory of the robot arm can be implemented as an electronic device, including: a memory 301 and a processor 303.
[0125] The memory 301 may be configured to store programs.
[0126] In addition, the memory 301 may also be configured to store various other data to support operations on the electronic device. Examples of such data include instructions for any application or method operating on the electronic device, contact data, phone book data, messages, pictures, videos, etc.
[0127] The memory 301 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0128] The processor 303 is coupled to the memory 301 and is configured to execute a program in the memory 301 to:
[0129] Based on the kinematic parameters of the robot arm, the kinematic equation of the robot arm is constructed;
[0130] Get the target position and current position of the tool at the end of the robot arm;
[0131] Based on the target position and the current position, planning the path nodes of the robotic arm;
[0132] Interpolate the adjacent path nodes of the robot arm to obtain the motion trajectory of the robot arm;
[0133] Control the robotic arm to execute the robotic arm motion trajectory.
[0134] In one implementation, in the interpolation of adjacent path nodes of the robot arm, the adjacent path nodes of the robot arm are interpolated by a polynomial interpolation algorithm.
[0135] In one implementation, the processor 303 is further configured to:
[0136] According to the kinematic equation of the robot, the robot joint angle corresponding to the path node of the robot is determined; the interpolation time of each robot joint in the adjacent path node is determined by the particle swarm optimization algorithm; according to the interpolation time of each robot joint in the adjacent path node and the joint angles of the starting and ending points, the adjacent path nodes are interpolated to obtain the robot motion trajectory.
[0137] In one implementation, the processor 303 is further configured to:
[0138] Initialize a particle swarm, initialize particle positions and velocities; each particle in the particle swarm represents a joint angle combination of a robot; solve joint coefficients and joint stage velocities; determine whether joint coefficients and joint stage velocities meet speed limits; when the joint stage velocities meet speed limits, calculate the fitness of particles; optimize particle positions and velocities; determine whether particle positions and velocities meet boundary conditions; when particle positions and velocities meet boundary conditions, obtain individual particle optimal values and population optimal values; reiterate the joint coefficients and joint stage velocities until an end condition is met; determine the joint running time of each robot joint according to the joint coefficients and joint stage velocities; select the maximum value of the joint running time of each robot joint as the interpolation time in adjacent path nodes.
[0139] In one embodiment, the fitness of the particle is the Euclidean distance between the target position and the current position of the tool at the end of the robot arm.
[0140] In one embodiment, in the particle swarm optimization algorithm, the particle swarm size is 20, the inertia weight range is 0.3-0.9, the learning factors are 0.05, 0.05, 0.02, and 0.02 respectively, and the number of particle swarm iterations is 100.
[0141] In one implementation, the path node includes a path starting point, a path middle point, and a path end point; the processor 303 is further configured to:
[0142] Get the stage path of the path starting point and the first path midpoint; interpolate the stage path of the path starting point and the first path midpoint through a cubic polynomial; get the stage path of the last path midpoint and the path end point; interpolate the stage path of the last path midpoint and the path end point through a cubic polynomial; get the stage path of adjacent path midpoints; interpolate the stage path of adjacent path midpoints through a quintic polynomial; traverse all path midpoints to obtain the robot arm motion trajectory.
[0143] In the present application, the processor is also specifically used to execute all processes and steps of the above-mentioned intelligent planning and control method of the robot arm motion trajectory. The specific content can be referred to the records in the intelligent planning and control method of the robot arm motion trajectory, and will not be repeated in this application.
[0144] In this application, Figure 3 Only some components are shown schematically, which does not mean that the electronic device only includes Figure 3 Components shown.
[0145] The electronic device provided in this embodiment is based on the same inventive concept as the intelligent planning and control method of the robot arm motion trajectory provided in the embodiment of the present application, and has the same beneficial effects as the method adopted, run or implemented by the application stored in it.
[0146] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0147] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0148] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0149] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0150] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0151] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0152] The present application also provides a computer-readable storage medium corresponding to the intelligent planning and control method of the robot arm motion trajectory provided in the aforementioned embodiment, on which a computer program (i.e., a program product) is stored. When the computer program is run by the processor, it will execute the intelligent planning and control method of the robot arm motion trajectory provided in any of the aforementioned embodiments.
[0153] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0154] The computer-readable storage medium provided in the above-mentioned embodiments of the present application and the intelligent planning and control method of the robot arm motion trajectory provided in the embodiments of the present application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the application programs stored therein.
[0155] It should be noted that in the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known structures and technologies are not shown in detail so as not to obscure the understanding of this description.
[0156] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0157] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims
1. An intelligent planning and control method for the motion trajectory of a robotic arm, characterized in that: include: Based on the kinematic parameters of the robot arm, the kinematic equation of the robot arm is constructed; Get the target position and current position of the tool at the end of the robot arm; Based on the target position and the current position, planning the path nodes of the robotic arm; Interpolate the adjacent path nodes of the robot arm to obtain the motion trajectory of the robot arm; Control the robotic arm to execute the robotic arm motion trajectory.
2. The intelligent planning and control method of the robot arm motion trajectory according to claim 1 is characterized in that: In the interpolation of adjacent path nodes of the robot arm, the adjacent path nodes of the robot arm are interpolated by a polynomial interpolation algorithm.
3. The intelligent planning and control method of the robot arm motion trajectory according to claim 2 is characterized in that: Interpolate the adjacent path nodes of the robot arm to obtain the robot arm motion trajectory, including: According to the kinematic equation of the robot arm, determine the robot arm joint angle corresponding to the path node of the robot arm; The interpolation time of each robot joint in adjacent path nodes is determined by particle swarm optimization algorithm; According to the interpolation time of each robot joint in the adjacent path nodes and the joint angles of the starting and ending points, the adjacent path nodes are interpolated to obtain the robot motion trajectory.
4. The intelligent planning and control method of the robot arm motion trajectory according to claim 3 is characterized in that: Determining the interpolation time in adjacent path nodes by using a particle swarm optimization algorithm includes: Initialize the particle swarm, initialize the particle position and velocity; each particle in the particle swarm represents a joint angle combination of a robotic arm; Solve for joint coefficients and joint stage velocities; Determine whether the joint coefficient and the joint stage speed meet the speed limit; When the speed in the joint stage meets the speed limit, the fitness of the particle is calculated; Optimize particle position and velocity; Determine whether the particle position and velocity meet the boundary conditions; When the particle position and velocity meet the boundary conditions, the optimal value of individual particles and the optimal value of the population are obtained; Re-iterate the joint coefficients and joint phase velocities until an end condition is met; Determining a joint operation time of each robot arm joint according to the joint coefficient and the joint phase speed; The maximum value of the joint running time of each robot arm joint is selected as the interpolation time in the adjacent path nodes.
5. The intelligent planning and control method of the robot arm motion trajectory according to claim 4 is characterized in that: The fitness of the particle is the Euclidean distance between the target position and the current position of the tool at the end of the robot arm.
6. The intelligent planning and control method of the robot arm motion trajectory according to claim 4 is characterized in that: In the particle swarm optimization algorithm, the particle swarm size is 20, the inertia weight range is 0.3-0.9, the learning factors are 0.05, 0.05, 0.02, and 0.02 respectively, and the number of particle swarm iterations is 100.
7. The intelligent planning and control method of the robot arm motion trajectory according to claim 3 is characterized in that: The path node includes a path starting point, a path middle point and a path end point; the adjacent path nodes are interpolated according to the interpolation time of each robot joint in the adjacent path nodes, and the joint angles of the starting and ending points to obtain the robot motion trajectory, including: Get the stage path of the path starting point and the first path midpoint; The stage path between the path start point and the first path midpoint is interpolated by a cubic polynomial; Get the stage path of the last path midpoint and path end point; The stage path of the last path midpoint and the path end point is interpolated by a cubic polynomial; Get the stage path of adjacent path midpoints; Interpolate the stage paths of adjacent path midpoints using a quintic polynomial; Traverse all the midpoints of the path to obtain the motion trajectory of the robot arm.
8. An intelligent planning and control device for the motion trajectory of a robot arm, characterized in that: include: An equation building module, which is used to build the kinematic equations of the robot arm based on the kinematic parameters of the robot arm; A position acquisition module is used to obtain the target position and current position of the tool at the end of the robot arm; A node planning module, which is used to plan the path nodes of the robot arm based on the target position and the current position; A node interpolation module is used to interpolate adjacent path nodes of the robot arm to obtain the robot arm motion trajectory; A robot arm control module is used to control the robot arm to execute the robot arm motion trajectory.
9. An electronic device, characterized in that: include: Memory and processor; The memory is used to store programs; The processor, coupled to the memory, is configured to execute the program to: Based on the kinematic parameters of the robot arm, the kinematic equation of the robot arm is constructed; Get the target position and current position of the tool at the end of the robot arm; Based on the target position and the current position, planning the path nodes of the robotic arm; Interpolate the adjacent path nodes of the robot arm to obtain the motion trajectory of the robot arm; Control the robotic arm to execute the robotic arm motion trajectory.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by the processor to implement the intelligent planning and control method of the robot arm motion trajectory described in any one of claims 1-7.
Citation Information
Patent Citations
Mechanical arm trajectory planning method
CN113478489A
Long arm type nine-degree-of-freedom series mechanical arm and motion planning method thereof
CN115847414A
Cited By
Mechanical arm trajectory planning method based on hybrid polynomial and acceleration smoothing
CN120056115A
Robotic arm trajectory planning method based on hybrid polynomial and acceleration smoothing
CN120056115B
Mechanical arm control method and system and storage medium
CN120228723A
Intelligent planning method and system for machining path of mechanical arm of numerical control machine tool
CN120395874A
A machining path intelligent planning method and system for a numerical control machine tool mechanical arm
CN120395874B