A robotic arm obstacle avoidance path planning method based on improved RRT* algorithm

By improving the RRT* algorithm and combining it with artificial potential fields and sensor information, optimizing step size and path planning, the problems of slow convergence and real-time obstacle avoidance of the traditional RRT* algorithm were solved, and efficient and safe path planning of the robotic arm was achieved.

CN119820575BActive Publication Date: 2025-09-05NANJING UNIV OF AERONAUTICS & ASTRONAUTICS

Patent Information

Application Number
CN202510160856.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-13
Publication Date
2025-09-05
Estimated Expiration
2045-02-13

AI Technical Summary

Technical Problem

The traditional RRT* algorithm has a slow convergence speed and a fixed step size, resulting in low planning efficiency. In addition, the robotic arm is unable to respond to obstacles in the workspace in real time, posing a safety hazard.

Method used

By combining artificial potential fields with information from depth cameras and sensors, the RRT* algorithm is improved. The artificial potential field is used to limit random point generation, optimize step size changes, and detect dynamic obstacles in real time. Nurbs curve interpolation is used to smooth the path, and real-time obstacle avoidance is performed by combining depth camera and sensor feedback information.

Benefits of technology

The efficiency and safety of path planning are improved, and the robotic arm can quickly respond to real-time obstacles to ensure safe arrival at the target location.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119820575B_ABST
    Figure CN119820575B_ABST
Patent Text Reader

Abstract

To address the current problems of slow and inefficient robotic arm path planning, which often hinders timely response to newly encountered obstacles, this paper proposes a robotic arm obstacle avoidance path planning method based on an improved RRT* algorithm. The method includes: establishing a robotic arm workspace, adding a starting point, a target point, and obstacles; simplifying the robotic arm and obstacles into simple geometric entities, and establishing an artificial potential field within the robotic arm workspace; using an improved RRT* algorithm in conjunction with the artificial potential field, and then using Nurbs curve smoothing to plan a robotic arm movement path; and continuously controlling the robotic arm's movement by acquiring real-time feedback from a depth camera and various sensors on the robotic arm, adjusting the path planning and avoiding obstacles to reach the target location. Based on the artificial potential field, the present invention utilizes an improved RRT* algorithm combined with real-time data from sensors and the depth camera to achieve real-time obstacle avoidance and reach the designated location, thereby improving the safety of the robotic arm during operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of automatic obstacle avoidance for a robotic arm, and in particular to a robotic arm obstacle avoidance path planning method based on an improved RRT* algorithm. Background Art

[0002] Robotic arms play a vital role in automated operations. Path planning and obstacle avoidance are key technologies for automated operation, directly determining whether the robotic arm can achieve autonomous operation.

[0003] There are already many methods for obstacle avoidance path planning for robotic arms, and the commonly used ones include A*, D*, RRT*, D*lite, LPA* and other algorithms. Among them, the key feature of the RRT* algorithm is to continuously optimize the connections between nodes to find the optimal path. Therefore, as the number of iterations increases, the algorithm will converge to the global optimal path in the absence of obstacles. In addition, RRT* can perform path planning in high-dimensional and complex environments, and is suitable for fields such as autonomous robot navigation. However, the traditional RRT* algorithm has a slow convergence speed and a fixed step size, which leads to low planning efficiency. Moreover, when the robotic arm moves along the planned path, it cannot cope with obstacles that do not appear in the workspace, and cannot achieve real-time obstacle avoidance, posing a safety hazard. Summary of the Invention

[0004] In response to the problems existing in the prior art, the present invention proposes a robot arm obstacle avoidance path planning method based on the improved RRT* algorithm. By introducing information such as artificial potential field, depth camera and sensor, combined with the improvement of the RRT* algorithm, the robot arm's obstacle avoidance path planning is carried out to improve the efficiency and safety of obstacle avoidance path planning.

[0005] In order to achieve the above technical objectives, the present invention provides the following technical solutions:

[0006] A robot arm obstacle avoidance path planning method based on an improved RRT* algorithm specifically includes:

[0007] S1. Establish a three-dimensional workspace for the robotic arm, determine the three-dimensional coordinates of the starting point and the target point in the three-dimensional workspace, and add obstacles;

[0008] S2. Convert the manipulator and obstacles into simple geometric entities, establish an artificial potential field in the manipulator's three-dimensional workspace, and analyze the forces acting on the manipulator during its motion under the artificial potential field.

[0009] S3. Use the improved RRT* algorithm and the artificial potential field to plan the preliminary motion path of the robot arm. Then use the Nurbs curve for interpolation to optimize the preliminary motion path to obtain a smooth motion path as the final motion path of the robot arm.

[0010] S4. As the robotic arm moves along the final motion path, sensors and depth cameras return data in real time to detect dynamic obstacles. After receiving the obstacle information, the robotic arm performs different processing based on the actual situation and eventually reaches the target position.

[0011] Furthermore, step S2 specifically includes:

[0012] S21. Simplify the robotic arm into a combination of multiple cylinders, where the length of each cylinder is the same as the length of each section of the robotic arm and the radius of its base is slightly larger than the radius of the enveloping cylinder of each section of the robotic arm; simplify obstacles added to the three-dimensional workspace into simple geometric shapes based on their shapes, wherein the simple geometric shapes include a cuboid, a cylinder, and a sphere;

[0013] S22. Establish an artificial potential field in the working space of the robot arm, set the repulsive field of the obstacle on the robot arm and the gravitational field of the target point on the robot arm, and calculate the repulsive force F received by the robot arm under the artificial potential field. rep (X) and gravity F gra (X), and then the resultant force F on the robotic arm is obtained t (X) = F rep (X)+F gra (X).

[0014] More specifically, step S22 includes:

[0015] S221. Set the repulsive force field of the obstacle on the end of the robotic arm to:

[0016]

[0017] Where η is the repulsion gain coefficient, X is the position coordinate of the robot in the workspace, and X g is the position coordinate of the target point, d is the shortest distance between the robot and the edge of the obstacle, d0 is a constant, and m is any real number greater than 0;

[0018] S222. Calculate the repulsive force on the robotic arm:

[0019]

[0020] Where α1 is the unit vector from the point closest to the robot to the obstacle, and α0 is the unit vector from the robot to the target point;

[0021] S223. Set the gravitational field of the target point to the robotic arm as:

[0022]

[0023] Where k is the gravitational gain coefficient;

[0024] S224. Calculate the gravitational force on the robotic arm:

[0025]

[0026] S225. Get the resultant force F on the robotic arm t (X) is: F t (X) = F rep (X)+F gra (X).

[0027] Furthermore, step S3 specifically includes:

[0028] S31. Create a search tree directory RRTtree, initialize the starting point of the robot arm as the first point of the search tree, define the algorithm's exploration step size as ΔS, and its change formula is:

[0029]

[0030] Among them, d min d max is the minimum and maximum value of the set step size, k gra and μ are adjustment parameters, which are set according to different working environments; F rep 、F gra are the repulsive and attractive forces on the robotic arm under the artificial potential field; e is a natural constant;

[0031] S32, create a sampling space Sample, all random points are generated in the sampling space, and each generated random point s i (x, y, z) satisfies the following conditions:

[0032] Sample={s i (x, y, z)|i∈R,F rep (X)≤F1∪F gra (X)≥F2};

[0033] Where X = (x, y, z) represents the coordinates of the random point, F rep (X), F gra (X) are the repulsive force and attractive force on the robot arm at the random point; F1 and F2 are the set maximum repulsive force and minimum attractive force respectively; when the repulsive force F on the robot arm at the random point is rep When (X)>F1, the random point is considered invalid; and when the gravitational force F gra When (X)≥F2, the influence of repulsion is not considered and the generated random points are still retained;

[0034] S33. Generate a random point X in the sampling spacerand , traverse the search tree RRTtree, calculate the Euclidean distance from all points in it to the current random point; select the point with the shortest Euclidean distance as the nearest point X near , take the direction of the line connecting the nearest point and the random point as the growth direction of the search tree, and generate a new node X with a step size of ΔS new , the formula is:

[0035]

[0036] If the line connecting the nearest point and the random point collides with the obstacle geometry, a new random point is generated; if a new node X is successfully generated new , then the nearest point X near For the new node X new The parent node of

[0037] S34, obtain the new node X new All neighboring nodes within the radius R are taken as the center of the sphere and used as the new node X. new The candidate parent node of the new node X new The total path from the candidate parent node to the starting point; the corresponding adjacent node with the shortest total path is used as the new node X new The new parent node of

[0038] S35, then new node X new For all adjacent nodes, calculate the candidate parent node of each adjacent node through the new node X new If the total path to the starting point is less than the total path from the neighboring node to the starting point via the original parent node, the new node X is determined. new is the parent node of the adjacent node, otherwise the original parent node of the adjacent node is retained;

[0039] S36, repeat steps S33-S35 until there is a node S g Arrive within the sphere with the target point as the center and radius r; connect S g and the target point, and from S g Start backtracking the parent node and keep tracing back to the starting point, thus forming the initial motion path of the robot arm;

[0040] S37. Use the Nurbs curve to interpolate the preliminary motion path of the robot arm to obtain a smooth motion path as the final motion path of the robot arm, and the robot arm moves according to the path.

[0041] Furthermore, step S4 specifically includes:

[0042] S41. Install two depth cameras on both sides of the front joint of the end of the robotic arm, install an infrared sensor on the top, and install a positioning sensor on the bottom; the depth camera, infrared sensor, and positioning sensor are all connected to the robotic arm controller;

[0043] S42, adjusting the detection range of the depth camera, and when an obstacle appears in the detection range of the depth camera, the depth camera outputs a high level, otherwise it outputs a low level; and the obstacles are divided into dynamic obstacles and static obstacles according to the changes in the point cloud data;

[0044] S43. The robotic arm moves according to the final motion path of step S3. If the depth camera outputs a high level, the movement of the robotic arm is suspended, and the positioning sensor and infrared sensor are turned on to detect obstacle information; the obstacles are processed separately according to their dynamic and static conditions; and a judgment is made: if the obstacle can be avoided, the final motion path is replanned to reach the target point; if the obstacle cannot be avoided, an alarm is issued to notify the operator to manually remove the obstacle.

[0045] More specifically, the classification of obstacles into dynamic obstacles and static obstacles based on point cloud data changes in step S42 is as follows:

[0046] S421. Define the point cloud data change rate AP to reflect the obstacle situation on the path. Its formula is expressed as:

[0047]

[0048] Among them, Δt is the detection time, P i is the number of point clouds that enter the detection range of the depth camera within Δt time, P o is the number of point clouds that leave the detection range of the depth camera within Δt time;

[0049] S422, set the point cloud data change threshold P t ; When AP>P t When ΔP≤P t When the obstacle on the path is considered to be a static obstacle; different processing methods are adopted in step S43 according to different obstacle categories.

[0050] More specifically, step S43 includes:

[0051] S431: If the obstacle on the path is a dynamic obstacle, the robot arm is paused until there is no obstacle point cloud in the depth camera; if the obstacle still exists after a certain time threshold t, an alarm is issued to notify the operator to handle it;

[0052] S432. If the obstacle on the path is a static obstacle, analyze the detection data returned by the positioning sensor and the infrared sensor, use the depth camera and the positioning sensor to obtain the position of the obstacle in the workspace of the robot arm, and then use the infrared sensor to obtain the thickness information of the obstacle;

[0053] S433, add the position and thickness information of the obstacle to the three-dimensional workspace of the robot arm, return the final motion path of the robot arm, and search for the node closest to the obstacle from the starting point and the node closest to the obstacle from the target point on the path, and ensure that the lines connecting these two nodes and their parent nodes and child nodes cannot interfere with the obstacle. If interference occurs, discard them and reselect other closer nodes until there is no interference with the obstacle; these two nodes are recorded as S n 、S m ;

[0054] S434, S n As a starting point, S m As the end point, repeat step S3, plan a new path between the two nodes, and move along the new path; if the new path cannot be planned, it means that the current obstacle cannot be crossed, and an alarm is issued to notify the operator to handle it.

[0055] Based on the above technical solution, the present invention has at least the following beneficial effects:

[0056] 1. This paper addresses the problem that the RRT* algorithm has a slow convergence speed and a fixed step size, which leads to low planning efficiency. It proposes to combine an artificial potential field to limit the generation of random points, thereby improving the convergence speed. It also proposes a formula for changing the step size, which makes the step size smaller when approaching obstacles and target points and larger when away from obstacles, thereby improving planning efficiency.

[0057] 2. The present invention combines the information of the depth camera and the sensor and feeds it back to the robotic arm in real time. Different response measures are taken according to different obstacle information, so that the robotic arm can respond to obstacles that appear in real time and improve the safety of the robotic arm during operation. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0059] Figure 1 This is an overall flow chart of a robot arm obstacle avoidance path planning method based on an improved RRT* algorithm proposed in the present invention;

[0060] Figure 2A schematic diagram of the installation of the depth camera and sensor involved in the method proposed in the present invention;

[0061] Figure 3 This is a specific process diagram of the method proposed in this invention, which combines the artificial potential field with the improved RRT* algorithm for path planning, and the depth camera with the sensor for real-time obstacle avoidance. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0063] Although the steps in the present invention are arranged with numbers, they are not intended to limit the order of the steps. Unless the order of the steps is clearly stated or the execution of a step requires other steps as a basis, the relative order of the steps can be adjusted. It is understood that the term "and / or" used herein refers to and covers any and all possible combinations of one or more of the associated listed items.

[0064] Please refer to Figure 1-Figure 3 , showing a specific implementation of this embodiment, this embodiment establishes a robotic arm workspace in three-dimensional space, and adds obstacles, starting points, target points and other information in the workspace, based on which an artificial potential field of the robotic arm workspace is established. Then, the RRT* algorithm is improved in combination with the artificial potential field: the random point generation of the RRT* algorithm is restricted by certain conditions, and the gravity and repulsion in the artificial potential field are used as parameters for the step size change of the RRT* algorithm. Then, during the operation of the robotic arm, according to the information fed back by the depth camera and sensor, it responds to obstacles that appear in real time, judges the type of obstacle based on the feedback information, and takes different obstacle avoidance measures, ultimately achieving the purpose of obstacle avoidance path planning.

[0065] like Figure 1 As shown, the present invention proposes a robot arm obstacle avoidance path planning method based on the improved RRT* algorithm, which specifically includes the following steps:

[0066] S1. Establish a three-dimensional workspace for the robotic arm, determine the three-dimensional coordinates of the starting point and the target point in the three-dimensional workspace, and add obstacles;

[0067] S2. Convert the manipulator and obstacles into simple geometric entities, establish an artificial potential field in the manipulator's three-dimensional workspace, and analyze the forces acting on the manipulator during its motion under the artificial potential field.

[0068] As a preferred embodiment, step S2 specifically includes:

[0069] S21. Simplify the robotic arm into a combination of multiple cylinders, where the length of each cylinder is the same as the length of each section of the robotic arm and the radius of its base is slightly larger than the radius of the enveloping cylinder of each section of the robotic arm; simplify obstacles added to the three-dimensional workspace into simple geometric shapes based on their shapes, wherein the simple geometric shapes include a cuboid, a cylinder, and a sphere;

[0070] S22. Establish an artificial potential field in the working space of the robot arm, set the repulsive field of the obstacle on the robot arm and the gravitational field of the target point on the robot arm, and calculate the repulsive force F received by the robot arm under the artificial potential field. rep (X) and gravity F gra (X), and then the resultant force F on the robotic arm is obtained t (X) = F rep (X)+F gra (X), specifically:

[0071] S221. Set the repulsive force field of the obstacle on the end of the robotic arm to:

[0072]

[0073] Where η is the repulsion gain coefficient, X is the position coordinate of the robot in the workspace, and X g is the position coordinate of the target point, d is the shortest distance between the robot and the edge of the obstacle, d0 is a constant, and m is any real number greater than 0;

[0074] S222. Calculate the repulsive force on the robotic arm:

[0075]

[0076] Where α1 is the unit vector from the point closest to the robot to the obstacle, and α0 is the unit vector from the robot to the target point;

[0077] S223. Set the gravitational field of the target point to the robotic arm as:

[0078]

[0079] Where k is the gravitational gain coefficient;

[0080] S224. Calculate the gravitational force on the robotic arm:

[0081]

[0082] S225. Get the resultant force F on the robotic arm t (X) is: F t (X) = F rep (X)+F gra (X).

[0083] S3. Use the improved RRT* algorithm and the artificial potential field to plan the preliminary motion path of the robot arm. Then use the Nurbs curve for interpolation to optimize the preliminary motion path to obtain a smooth motion path as the final motion path of the robot arm.

[0084] As a preferred embodiment, Figure 3 As shown, step S3 specifically includes:

[0085] S31. Create a search tree directory RRTtree, initialize the starting point of the robot arm as the first point of the search tree, define the algorithm's exploration step size as ΔS, and its change formula is:

[0086]

[0087] Among them, d min d max is the minimum and maximum value of the set step size, k gra and μ are adjustment parameters, which are set according to different working environments; F rep 、F gra are the repulsive and attractive forces on the robotic arm under the artificial potential field; e is a natural constant;

[0088] This step size setting ensures that it always changes within a reasonable range and becomes shorter when approaching obstacles and target points, and longer when moving away from obstacles. This allows the algorithm to converge faster and ensures the safety of the path.

[0089] S32, create a sampling space Sample, all random points are generated in the sampling space, and each generated random point s i (x, y, z) satisfies the following conditions:

[0090] Sample={s i (x, y, z)|i∈R,F rep (X)≤F1∪F gra (X)≥F2};

[0091] Where X = (x, y, z) represents the coordinates of the random point, F rep (X), F gra (X) are the repulsive force and attractive force on the robot arm at the random point; F1 and F2 are the set maximum repulsive force and minimum attractive force respectively; when the repulsive force F on the robot arm at the random point is rep When (X)>F1, the random point is considered invalid; and when the gravitational force F graWhen (X)≥F2, the influence of repulsion is not considered and the generated random points are still retained; by screening the artificial potential field, the points of little value are filtered out, which further ensures the rapid convergence of the RRT* algorithm and the smoothness and reliability of the planned path;

[0092] S33. Generate a random point x in the sampling space rand , traverse the search tree RRTtree, calculate the Euclidean distance from all points in it to the current random point; select the point with the shortest Euclidean distance as the nearest point X near , take the direction of the line connecting the nearest point and the random point as the growth direction of the search tree, and generate a new node X with a step size of ΔS new , the formula is:

[0093]

[0094] If the line connecting the nearest point and the random point collides with the obstacle geometry, a new random point is generated; if a new node X is successfully generated new , then the nearest point X near For the new node X new The parent node of

[0095] S34, obtain the new node X new All neighboring nodes within the radius R are taken as the center of the sphere and used as the new node X. new The candidate parent node of the new node X new The total path from the candidate parent node to the starting point; the corresponding adjacent node with the shortest total path is used as the new node X new The new parent node of

[0096] S35, then new node X new For all adjacent nodes, calculate the candidate parent node of each adjacent node through the new node X new If the total path to the starting point is less than the total path from the neighboring node to the starting point via the original parent node, the new node X is determined. new is the parent node of the adjacent node, otherwise the original parent node of the adjacent node is retained;

[0097] S36, repeat steps S33-S35 until there is a node S g Arrive within the sphere with the target point as the center and radius r; connect S g and the target point, and from S g Start backtracking the parent node and keep tracing back to the starting point, thus forming the initial motion path of the robot arm;

[0098] S37. Use the Nurbs curve to interpolate the preliminary motion path of the robot arm to obtain a smooth motion path as the final motion path of the robot arm, and the robot arm moves according to the path.

[0099] In this embodiment, the specific formula of the Nurbs curve at point u is:

[0100]

[0101] Where n is the number of control points, p is the order of the curve, and P i are the coordinates of the control points, w i is the weight of the control point, N i,p (u) is the i-th basis function;

[0102] N i,p (u) is defined as follows:

[0103] When p=0:

[0104]

[0105] When p>0:

[0106]

[0107] where u i is the node value in the node vector; the node vector U={u0,u1,…,u m}, m=n+p+1.

[0108] S4: As the robotic arm moves along the final motion path, the sensor and depth camera return real-time data to detect dynamic obstacles. After receiving the obstacle information, the robotic arm performs different processing according to the actual situation and finally reaches the target position.

[0109] As a preferred embodiment, Figure 3 As shown, step S4 specifically includes:

[0110] S41, such as Figure 2 As shown, two depth cameras are installed on both sides of the front joint of the end of the robotic arm, an infrared sensor is installed on the top, and a positioning sensor is installed on the bottom; the depth camera, infrared sensor and positioning sensor are all connected to the robotic arm controller;

[0111] S42, adjusting the detection range of the depth camera, and when an obstacle appears in the detection range of the depth camera, the depth camera outputs a high level, otherwise it outputs a low level; and the obstacles are divided into dynamic obstacles and static obstacles according to the changes in the point cloud data;

[0112] More specifically, the method for distinguishing between dynamic and static obstacles is:

[0113] S421. Define the point cloud data change rate ΔP to reflect the obstacle situation on the path. The formula is:

[0114]

[0115] Among them, Δt is the detection time, P i is the number of point clouds that enter the detection range of the depth camera within Δt time, P o is the number of point clouds that leave the detection range of the depth camera within Δt time;

[0116] S422, set the point cloud data change threshold P t ; When ΔP>P t When ΔP≤P t When the obstacle on the path is considered to be a static obstacle; different processing methods are adopted in step S43 according to different obstacle categories;

[0117] S43: The robotic arm moves along the final motion path of step S3. If the depth camera outputs a high level, the robotic arm's movement is paused, and the positioning sensor and infrared sensor are turned on to detect obstacle information. The obstacles are processed separately according to their dynamic and static conditions. A judgment is made: if the obstacle can be avoided, the robot replans the final motion path to reach the target point; if the obstacle cannot be avoided, an alarm is issued to notify the operator to manually remove the obstacle.

[0118] More specifically, step S43 includes:

[0119] S431: If the obstacle on the path is a dynamic obstacle, the robot arm is paused until there is no obstacle point cloud in the depth camera; if the obstacle still exists after a certain time threshold t, an alarm is issued to notify the operator to handle it;

[0120] S432. If the obstacle on the path is a static obstacle, analyze the detection data returned by the positioning sensor and the infrared sensor, use the depth camera and the positioning sensor to obtain the position of the obstacle in the workspace of the robot arm, and then use the infrared sensor to obtain the thickness information of the obstacle;

[0121] S433, add the position and thickness information of the obstacle to the three-dimensional workspace of the robot arm, return the final motion path of the robot arm, and search for the node closest to the obstacle from the starting point and the node closest to the obstacle from the target point on the path, and ensure that the lines connecting these two nodes and their parent nodes and child nodes cannot interfere with the obstacle. If interference occurs, discard them and reselect other closer nodes until there is no interference with the obstacle; these two nodes are recorded as S n 、S m ;

[0122] S434, Sn As a starting point, S m As the end point, repeat step S3, plan a new path between the two nodes, and move along the new path; if the new path cannot be planned, it means that the current obstacle cannot be crossed, and an alarm is issued to notify the operator to handle it.

[0123] Thus, obstacle avoidance path planning is achieved. In summary, the obstacle avoidance path planning method for the robotic arm proposed in this invention is based on an artificial potential field. It improves the existing RRT* algorithm to address its slow convergence speed and fixed step size. Furthermore, a depth camera and sensor are installed to deal with newly emerged obstacles, ensuring that the robotic arm can quickly and safely reach its target location.

[0124] Those skilled in the art will appreciate that all or part of the steps in the above-mentioned embodiment methods can be accomplished by instructing the relevant hardware through a program. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0125] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above and that the invention can be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered in all respects as illustrative and non-restrictive, and the scope of the invention is defined by the appended claims, not the foregoing description, and all variations within the meaning and range of equivalents of the claims are intended to be included therein. Any reference sign in a claim should not be construed as limiting the claim to which it relates.

[0126] In addition, it should be understood that although this specification is described in terms of implementation methods, not every implementation method contains only one independent technical solution. This narrative method of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment can also be appropriately combined to form other implementation methods that can be understood by those skilled in the art.

Claims

1. A robot arm obstacle avoidance path planning method based on an improved RRT* algorithm, characterized in that: The specific steps include: S1. Establish a three-dimensional workspace for the robotic arm, determine the three-dimensional coordinates of the starting point and the target point in the three-dimensional workspace, and add obstacles; S2. Convert the manipulator and obstacles into simple geometric entities, establish an artificial potential field in the manipulator's three-dimensional workspace, and analyze the forces acting on the manipulator during its motion under the artificial potential field. S3. Use the improved RRT* algorithm and the artificial potential field to plan the preliminary motion path of the robot arm. Then use the Nurbs curve for interpolation to optimize the preliminary motion path to obtain a smooth motion path as the final motion path of the robot arm. Step S3 specifically includes: S31. Create a search tree directory RRTtree, initialize the starting point of the robot arm as the first point of the search tree, define the algorithm's exploration step size as ΔS, and its change formula is: Among them, d min d max is the minimum and maximum value of the set step size, k gra and μ are adjustment parameters, which are set according to different working environments; F rep 、F gra are the repulsive and attractive forces on the robotic arm under the artificial potential field; e is a natural constant; S32, create a sampling space Sample, all random points are generated in the sampling space, and each generated random point s i (x, y, z) satisfies the following conditions: Sample={s i (x,y,z)|i∈R,F rep (X)≤F1∪F gra (X)≥F2}; Where X = (x, y, z) represents the coordinates of the random point, F rep (X), F gra (X) are the repulsive force and attractive force on the robot arm at the random point; F1 and F2 are the set maximum repulsive force and minimum attractive force respectively; when the repulsive force F on the robot arm at the random point is rep When (X)>F1, the random point is considered invalid; and when the gravitational force F gra When (X)≥F2, the influence of repulsion is not considered and the generated random points are still retained; S33. Generate a random point X in the sampling space rand , traverse the search tree RRTtree, calculate the Euclidean distance from all points in it to the current random point; select the point with the shortest Euclidean distance as the nearest point X near , take the direction of the line connecting the nearest point and the random point as the growth direction of the search tree, and generate a new node X with a step size of ΔS new , the formula is: If the line connecting the nearest point and the random point collides with the obstacle geometry, a new random point is generated; if a new node X is successfully generated new , then the nearest point X near For the new node X new The parent node of S34, obtain the new node X new All neighboring nodes within the radius R are taken as the center of the sphere and used as the new node X. new The candidate parent node of the new node X new The total path from the candidate parent node to the starting point; the corresponding adjacent node with the shortest total path is used as the new node X new The new parent node of S35, then new node X new For all adjacent nodes, calculate the candidate parent node of each adjacent node through the new node X new If the total path to the starting point is less than the total path from the neighboring node to the starting point via the original parent node, the new node X is determined. new is the parent node of the adjacent node, otherwise the original parent node of the adjacent node is retained; S36, repeat steps S33-S35 until there is a node S g Arrive within the sphere with the target point as the center and radius r; connect S g and the target point, and from S g Start backtracking the parent node and keep tracing back to the starting point, thus forming the initial motion path of the robot arm; S37, using a Nurbs curve to interpolate the preliminary motion path of the robot arm to obtain a smooth motion path as the final motion path of the robot arm, and the robot arm moves according to the path; S4. As the robotic arm moves along the final motion path, the sensor and depth camera return real-time data to detect dynamic obstacles. After receiving the obstacle information, the robotic arm performs different processing according to the actual situation and finally reaches the target position. Step S4 specifically includes: S41. Install two depth cameras on both sides of the front joint of the end of the robotic arm, install an infrared sensor on the top, and install a positioning sensor on the bottom; the depth camera, infrared sensor, and positioning sensor are all connected to the robotic arm controller; S42. Adjust the detection range of the depth camera, and when an obstacle appears within the detection range of the depth camera, make the depth camera output a high level, otherwise it outputs a low level; and divide the obstacles into dynamic obstacles and static obstacles according to the changes in the point cloud data; specifically: S421. Define the point cloud data change rate ΔP to reflect the obstacle situation on the path. The formula is: Among them, Δt is the detection time, P i is the number of point clouds that enter the detection range of the depth camera within Δt time, P o is the number of point clouds that leave the detection range of the depth camera within Δt time; S422, set the point cloud data change threshold P t ; When ΔP>P t When ΔP≤P t When the obstacle on the path is considered to be a static obstacle; different processing methods are adopted in step S43 according to different obstacle categories; S43. The robotic arm moves according to the final motion path of step S3. If the depth camera outputs a high level, the movement of the robotic arm is suspended, and the positioning sensor and infrared sensor are turned on to detect obstacle information; the obstacles are processed separately according to their dynamic and static conditions; and a judgment is made: if the obstacle can be avoided, the final motion path is replanned to reach the target point; if the obstacle cannot be avoided, an alarm is issued to notify the operator to manually remove the obstacle.

2. The robot arm obstacle avoidance path planning method based on the improved RRT* algorithm according to claim 1, characterized in that: Step S2 specifically includes: S21. Simplify the robotic arm into a combination of multiple cylinders, where the length of each cylinder is the same as the length of each section of the robotic arm and the radius of its base is slightly larger than the radius of the enveloping cylinder of each section of the robotic arm; simplify obstacles added to the three-dimensional workspace into simple geometric shapes based on their shapes, wherein the simple geometric shapes include a cuboid, a cylinder, and a sphere; S22. Establish an artificial potential field in the working space of the robot arm, set the repulsive field of the obstacle on the robot arm and the gravitational field of the target point on the robot arm, and calculate the repulsive force F received by the robot arm under the artificial potential field. req (X) and gravity F gra (X), and then the resultant force F on the robotic arm is obtained t (X) = F rep (X)+F gra (X).

3. The robot arm obstacle avoidance path planning method based on the improved RRT* algorithm according to claim 2, characterized in that: Step S22 specifically includes: S221. Set the repulsive force field of the obstacle on the end of the robotic arm to: Where η is the repulsion gain coefficient, X is the position coordinate of the robot in the workspace, and X g is the position coordinate of the target point, d is the shortest distance between the robot and the edge of the obstacle, d0 is a constant, and m is any real number greater than 0; S222. Calculate the repulsive force on the robotic arm: Where α1 is the unit vector from the point closest to the robot to the obstacle, and α0 is the unit vector from the robot to the target point; S223. Set the gravitational field of the target point to the robotic arm as: Where k is the gravitational gain coefficient; S224. Calculate the gravitational force on the robotic arm: S225. Get the resultant force F on the robotic arm t (X) is: F t (X) = F rep (X)+F gra (X).

4. The robot arm obstacle avoidance path planning method based on the improved RRT* algorithm according to claim 1, characterized in that: Step S43 specifically includes: S431: If the obstacle on the path is a dynamic obstacle, the robot arm is paused until there is no obstacle point cloud in the depth camera; if the obstacle still exists after a certain time threshold t, an alarm is issued to notify the operator to handle it; S432. If the obstacle on the path is a static obstacle, analyze the detection data returned by the positioning sensor and the infrared sensor, use the depth camera and the positioning sensor to obtain the position of the obstacle in the workspace of the robot arm, and then use the infrared sensor to obtain the thickness information of the obstacle; S433, add the position and thickness information of the obstacle to the three-dimensional workspace of the robot arm, return the final motion path of the robot arm, and search for the node closest to the obstacle from the starting point and the node closest to the obstacle from the target point on the path, and ensure that the lines connecting these two nodes and their parent nodes and child nodes cannot interfere with the obstacle. If interference occurs, discard them and reselect other closer nodes until there is no interference with the obstacle; these two nodes are s n 、S m ; S434, S n As a starting point, S m As the end point, repeat step S3, plan a new path between the two nodes, and move along the new path; if the new path cannot be planned, it means that the current obstacle cannot be crossed, and an alarm is issued to notify the operator to handle it.

Citation Information

Patent Citations

  • Mechanical arm path planning and re-planning method oriented to dynamic medicine scene

    CN119017395A

Cited By

  • A collaborative planning control system and method for an intelligent laser processing device

    CN122632743A