CN115933688A - Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium - Google Patents

Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium Download PDF

Info

Publication number
CN115933688A
CN115933688A CN202211693044.8A CN202211693044A CN115933688A CN 115933688 A CN115933688 A CN 115933688A CN 202211693044 A CN202211693044 A CN 202211693044A CN 115933688 A CN115933688 A CN 115933688A
Authority
CN
China
Prior art keywords
distance field
robot
value
obstacle avoidance
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211693044.8A
Other languages
Chinese (zh)
Other versions
CN115933688B (en
Inventor
李仁飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Iungo Technology Co ltd
Original Assignee
Nanjing Iungo Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Iungo Technology Co ltd filed Critical Nanjing Iungo Technology Co ltd
Priority to CN202211693044.8A priority Critical patent/CN115933688B/en
Publication of CN115933688A publication Critical patent/CN115933688A/en
Application granted granted Critical
Publication of CN115933688B publication Critical patent/CN115933688B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Manipulator (AREA)

Abstract

The invention discloses a multi-robot cooperative work obstacle avoidance method system, equipment and a storage medium, and belongs to the technical field of robot trajectory planning. Setting bounding boxes for connecting rods and workpieces of the robots, dividing the operation area of the robots into squares, and calculating the coordinates of each vertex of each square; calculating the optimal robot inverse solution and the position of the bounding box of the robot connecting rod for the points on the operation track of each robot; for each bounding box, computing the distance field of the vertices of the square one by one and modifying; and comprehensively comparing the distance field values of all the joint points under all inverse solutions, and taking the posture with the maximum distance field value as the motion posture of the obstacle avoidance path point. According to the method, robot collision detection is carried out on the basis of the bounding box and the space distance field, the value of the distance field is corrected, the path after obstacle avoidance is calculated for the corrected distance field by using a Dijkstra algorithm, and the optimal obstacle avoidance posture of the robot at the obstacle avoidance path point is calculated, so that the obstacle avoidance of multi-robot tracks is realized, the realization cost is low, and the real-time performance is better.

Description

Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium
Technical Field
The invention relates to a robot obstacle avoidance method, and belongs to the technical field of robot track planning.
Background
The obstacle avoidance of the robot is an important research content of the robot track planning. The traditional robot obstacle avoidance method is mainly based on the 3d camera real-time point cloud for obstacle avoidance, and the method is high in hardware cost, high in software real-time requirement and complex in real-time realization.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium, which are low in cost and better in real-time performance.
In order to solve the technical problems, the technical scheme adopted by the invention is as follows:
a multi-robot cooperative work obstacle avoidance method comprises the following steps:
step 1: setting bounding boxes for connecting rods and workpieces of the robots, dividing a robot operation area into a plurality of three-dimensional squares, and calculating coordinates of vertexes of each square;
step 2: preliminarily planning the track path of each robot operation, and calculating the optimal robot inverse solution for points on the track;
and step 3: calculating the position of the bounding box of the robot connecting rod according to the obtained inverse solution of the robot;
and 4, step 4: for each bounding box, computing the distance field of the vertices of the square one by one; the distance field of each bounding box is synthesized into the distance field SDF1 for the entire work area,
and 5: setting a safety distance D safe For distance fields SDF1 the value is less than the safe distance D safe Is corrected as follows
d new =D safe -d
Obtaining a modified distance field SDF2 value d new (ii) a d is the calculated distance field value;
and 6: for the operation track points of the robot, inquiring the corresponding distance field from the distance field SDF1, and filtering out values smaller than the safe distance D safe The points divide the operation track into a plurality of sections, and the distance field values of all the points in some sections are smaller than the safe distance D safe If so, correcting the section of track;
and 7: for a track segment needing to be corrected, coordinates of a starting point and an end point of the segment are taken out, a corrected distance field value is inquired from a distance field SDF2, the value is used as a path weight, a shortest path is calculated by utilizing a Dijkstra algorithm, and the shortest path is used as an obstacle avoidance path;
and step 8: and calculating all inverse solutions of the robot for the points on the obstacle avoidance path obtained in the last step, acting each inverse solution on a joint axis of the robot, calculating coordinates of each joint point, inquiring distance field values from the distance field SDF2 by using the coordinates of the joint points, comprehensively comparing the distance field values of the joint points under all the inverse solutions, and taking the posture with the largest distance field value as the motion posture of the obstacle avoidance path point.
Further, the shape of the bounding box is a cuboid, a cylinder or a capsule body according to the shape of the robot connecting rod or the workpiece.
Further, in step 4, the distance field is synthesized by: the minimum value of the distance field in all bounding boxes is taken.
Further, in step 4, when the bounding box is a rectangular parallelepiped, the distance field calculating step is as follows:
inputting a vector b consisting of one point p in space, length, width and height, and outputting a distance field value d:
q=abs(p)-b
d=length(max(q,0))+min(max(q x ,max(q y ,q z )),0)
in the formula: p is the point coordinates at which the distance field needs to be computed; b is a vector consisting of the length, the width and the height of the cuboid; d is the calculated distance field value; q = (q) x ,q y ,q z ) T Is a calculated intermediate variable; abs represents the absolute value of each component of the calculated vector, length represents the length of the calculated vector, min represents the minimum value of each component of the calculated vector, and max represents the maximum value of each component of the calculated vector.
Further, in step 4, when the bounding box is cylindrical in shape, the distance field calculation step is as follows:
inputting a coordinate a of a point p in space and the centers of two bottom surfaces of a cylinder 2 、b 2 And outputting a distance field value d:
ba 2 =b 2 -a 2
pa 2 =p-a 2
baba=dot(ba 2 ,ba 2 )
paba=dot(pa 2 ,ba 2 )
x=length(pa 2 *baba-ba 2 *paba-r 2 *baba
y=abs(paba-baba*0.5-baba*0.5
x 2 =x*x
y 2 =y*y*baba
Figure BDA0004022094920000031
Figure BDA0004022094920000032
Figure BDA0004022094920000033
d=sign9d 0 )*sqrt(abs(d 0 ))/baba
in the formula: p is the point coordinates at which the distance field needs to be computed; a is a 2 、b 2 The coordinates of the centers of the two bottom surfaces of the cylinder are shown; r is a radical of hydrogen 2 Is the radius of the cylinder; d is the calculated distance field value; ba 2 、pa 2 、baba、paba、x、y、x 2 、y 2 、temp 1 、temp 2 、d 0 Is a calculated intermediate variable;
abs represents the absolute value of each component of the calculated vector, length represents the length of the calculated vector, min represents the minimum value of each component of the calculated vector, max represents the maximum value of each component of the calculated vector, and dot represents the dot product of two calculated vectors.
Further, in step 4, when the bounding box is a capsule body, the distance field calculation step is as follows:
inputting a spatial point p, the coordinate a of the spherical center of two hemispheres of the capsule body 3 、b 3 Radius of capsule body r 3 And outputting a distance field value d:
ba 3 =b 3 -a 3
pa 3 =p-a 3
Figure BDA0004022094920000041
d=length(pa 3 -ba 3 *h)-r 3
in the formula: p is the point coordinates at which the distance field needs to be computed; a is 3 、b 3 Coordinates of the spherical centers of two hemispheres of the capsule body are obtained; r is 3 Is the radius of the capsule body; d is the calculated distance field value; ba 3 、pa 3 H is the calculated intermediate variable.
abs represents the absolute value of each component of the calculation vector, length represents the length of the calculation vector, min represents the minimum value of each component of the calculation vector, max represents the maximum value of each component of the calculation vector, dot represents the dot product of the two vectors, and clamp (x, 0, 1) represents the bounding of the x value between 0 and 1.
A multi-robot cooperative work obstacle avoidance system comprises:
a grid division calculation module: setting bounding boxes for connecting rods and workpieces of the robots, dividing a robot operation area into a plurality of three-dimensional squares, and calculating coordinates of vertexes of each square;
a trajectory planning module: preliminarily planning the track path of each robot operation, and calculating the optimal robot inverse solution for points on the track;
bounding box position calculation module: calculating the position of the bounding box of the robot connecting rod according to the obtained inverse solution of the robot;
distance field synthesis module: for each bounding box, computing the distance field of the vertices of the square one by one; the distance field of each bounding box is synthesized into the distance field SDF1 for the entire work area,
distance field correction module: setting a safety distance D safe For distance fields SDF1 the value is less than the safe distance D safe Is corrected as follows
d new =D safe -d
Obtaining a modified distance field SDF2 value d new (ii) a d is the calculated distance field value;
a track correction module: to robotQuerying the corresponding distance field from the distance field SDF1, and filtering to obtain a value smaller than the safe distance D safe The points divide the operation track into a plurality of sections, and the distance field values of all the points in some sections are smaller than the safe distance D safe Then, the track section needs to be corrected;
obstacle avoidance path determination module: for a track segment needing to be corrected, coordinates of a starting point and an end point of the segment are taken out, a corrected distance field value is inquired from a distance field SDF2, the value is used as a path weight, a shortest path is calculated by utilizing a Dijkstra algorithm, and the shortest path is used as an obstacle avoidance path;
a motion pose determination module: and calculating all inverse solutions of the robot for the points on the obstacle avoidance path obtained in the last step, applying each inverse solution to a joint axis of the robot, calculating coordinates of each joint point, inquiring distance field values from the distance field SDF2 by using the coordinates of the joint points, comprehensively comparing the distance field values of the joint points under all the inverse solutions, and taking the posture with the largest distance field value as the motion posture of the obstacle avoidance path point.
A computer device comprising a processor and a memory, the memory having stored therein a computer program that is loaded and executed by the processor to implement the method of any preceding claim.
A computer-readable storage medium, in which a computer program is stored, which is loaded and executed by a processor to implement the method of any of the above.
A computer program product comprising computer instructions stored in a computer readable storage medium, from which a processor reads and executes the computer instructions to implement the method of any preceding claim.
The invention achieves the following beneficial effects:
according to the method, robot collision detection is carried out on the basis of the bounding box and the space distance field, the value of the distance field is corrected, the path after obstacle avoidance is calculated for the corrected distance field by using a Dijkstra algorithm, and the optimal obstacle avoidance posture of the robot at the obstacle avoidance path point is calculated, so that the obstacle avoidance of multi-robot tracks is realized, the realization cost is low, and the real-time performance is better.
Drawings
FIG. 1 is a schematic diagram of two robots cooperatively performing 3D printing;
FIG. 2 is a schematic diagram of a bounding box for the robot connecting rod, the workpiece and the positioner;
fig. 3 is a schematic diagram of the division of the robot working area into squares.
Detailed Description
The invention is further described below with reference to the accompanying drawings. The following examples are only for illustrating the technical solutions of the present invention more clearly, and the protection scope of the present invention is not limited thereby.
Example 1
The multi-robot cooperative work obstacle avoidance method in the embodiment specifically comprises the following steps:
step 1: the bounding boxes are arranged for connecting rods of the robots, workpieces and other objects, and cuboids, cylinders, capsule bodies and the like can be selected as the bounding boxes according to the shapes of the objects. Dividing a robot work area into n l ×n w ×n h And calculating the coordinates of each vertex of each square.
And 2, step: preliminarily planning the track path of each robot operation according to a conventional method, and calculating the optimal robot inverse solution for points on the track.
And step 3: and calculating the position of the bounding box of the robot connecting rod according to the obtained robot inverse solution.
And 4, step 4: for each bounding box, the distance field of the vertices of the box is computed one by one. Synthesizing the distance field of each bounding box into a distance field SDF1 of the entire work area, the synthesizing method: the distance field minimum in all bounding boxes is taken.
The distance field calculation steps and equations are as follows, respectively, for different bounding box shapes:
1) A cuboid (an input space point p, a vector b consisting of length, width and height, and an output distance field value d):
q=abs(p)-b
d=length(max(q,0))+min(max(q x ,max(q y ,q z )),0)
in the formula: p is the point coordinates at which the distance field needs to be computed; b is a vector consisting of the length, width and height of the cuboid; d is the calculated distance field value; q = (q) x ,q y ,q z ) T Is an intermediate variable of calculation, and has no practical meaning.
2) Cylinder (input space one point p, coordinate a of circle center of two bottom surfaces of cylinder 2 、b 2 Output distance field value d):
ba 2 =b 2 -a 2
pa 2 =p-a 2
baba=dot(ba 2 ,ba 2 )
paba=dot(pa 2 ,ba 2 )
x=length(pa 2 *baba-ba 2 *paba-r 2 *baba
y=abs(paba-baba*0.5-baba*0.5
x 2 =x*x
y 2 =y*y*baba
Figure BDA0004022094920000071
Figure BDA0004022094920000072
Figure BDA0004022094920000081
d=sign(d 0 )*sqrt(abs(d 0 ))/baba
in the formula: p is the point coordinates at which the distance field needs to be computed; a is 2 、b 3 The coordinates of the centers of the two bottom surfaces of the cylinder are taken as the coordinates; r is 2 Is the radius of the cylinder; d is calculatedA distance field value; other letters are intermediate variables of calculation and have no actual meaning; sign () represents a symbol taking a certain number; sqrt () denotes taking the square root of an arithmetic number of a certain number.
3) Capsule body (input space one point p, coordinate a of two semi-sphere center of capsule body) 3 、b 3 Radius of capsule body r 3 Output distance field value d):
ba 3 =b 3 -a 3
pa 3 =p-a 3
Figure BDA0004022094920000082
d=length(pa 3 -ba 3 *h)-r 3
in the formula: p is the point coordinates at which the distance field needs to be computed; a is 3 、b 3 Coordinates of the spherical centers of two hemispheres of the capsule body are obtained; r is 3 Is the radius of the capsule body; d is the calculated distance field value; other letters are intermediate variables of the calculation, with no actual meaning.
Abs in the above three formulas represents the absolute value of each component of the calculation vector, length represents the length of the calculation vector, min represents the minimum value of each component of the calculation vector, max represents the maximum value of each component of the calculation vector, dot represents the dot product of two vectors, and clamp (x, 0, 1) represents that the value of x is limited between 0 and 1;
and 5: setting a safety distance D safe For distance fields SDF1 the value is less than the safe distance D safe Is corrected as follows
d new =D safe -d
Obtaining a modified distance field SDF2 value d new
Step 6: for the operation track points of the robot, inquiring the corresponding distance field from the distance field SDF1, and filtering out values smaller than the safe distance D safe The points divide the operation track into a plurality of sections, and the distance field values of all the points in some sections are greater than the safety distance D safe The track section is a safe track without entering the safe track sectionCarrying out obstacle avoidance correction; the distance field values of all points in some segments are less than the safety distance D safe If the section of track is an unsafe track, it indicates that the robot collides with another object (another robot, a workpiece, or another object), and the section of track needs to be corrected.
And 7: and for the track segment needing to be corrected, extracting the coordinates of the starting point and the end point of the segment, inquiring the corrected distance field value from the distance field SDF2, using the value as a path weight, calculating the shortest path by using a Dijkstra algorithm, and using the shortest path as an obstacle avoidance path.
And 8: and calculating all inverse solutions of the robot for the points on the obstacle avoidance path obtained in the last step, applying each inverse solution to a joint axis of the robot, calculating coordinates of each joint point, inquiring a distance field value from the distance field SDF2 by using the coordinates of the joint points, comprehensively comparing the distance field values of the joint points under all the inverse solutions (comparing weighted average values, the weights of 1, 2 and 3 axes of the nodes are smaller, and the weights of 4, 5 and 6 axes are larger), and taking the posture with the largest distance field value as the motion posture of the obstacle avoidance path point.
And (1) avoiding the obstacle on the walking track of the robot in steps (1) to (7), and avoiding the obstacle on the corrected track in the posture of the robot in step (8). And (4) completing obstacle avoidance on one robot through the steps, repeating the steps from 2 to 8, and continuing to avoid obstacles on other robots.
The scheme divides the working area into squares, is limited by the accessibility of the robot, the working area of the robot is not particularly large, and the number of the squares of 100 multiplied by 100 is enough to meet the requirements of most projects. And secondly, enveloping the robot connecting rod, the workpiece and other objects by using bounding boxes, wherein the bounding boxes are all very regular objects (such as cuboids, cylinders and capsule bodies), and the calculation methods of the distance fields of different bounding boxes are provided, so that the distance field of the bounding box can be calculated very conveniently and rapidly. In the obstacle avoidance process, whether collision occurs or not is directly realized by comparing the values of the distance field, and an obstacle avoidance path and an obstacle avoidance posture are calculated by using the corrected values of the distance field on the basis. In the whole process, the required calculation storage space is small, the calculation efficiency is high, the programming is convenient to realize, and the method is suitable for scenes of static objects and dynamic objects (such as scenes of cooperative work of multiple robots).
Example 2
In the present embodiment, for example, two robots perform 3D printing simultaneously, as shown in fig. 1, the method includes two robots, a positioner, and a printed workpiece, and the obstacle avoidance method of the invention is described in detail.
Step 1: the bounding box is arranged for the robot connecting rod, the workpiece and the positioner, and the cuboid and the cylindrical bounding box are mainly adopted in the embodiment, as shown in figure 2.
As shown in fig. 3, the robot working area is divided into 100 × 100 × 100 squares (for clarity, 10 squares are shown as a unit in the figure), and the coordinates of the vertices of each square are calculated.
Step 2: preliminarily planning a track path for 3D printing of the robot according to a conventional method, and calculating an optimal robot inverse solution for points on the track.
And 3, step 3: and calculating the position of the bounding box of the robot connecting rod according to the obtained robot inverse solution.
And 4, step 4: for each bounding box, the distance field of the vertices of the square is computed one by one. The distance field of each bounding box is synthesized into the distance field SDF1 of the entire work area, taking the minimum value of the distance fields in all bounding boxes.
And 5: setting a safety distance D safe For distance fields SDF1 the median value is less than D safe Is corrected as follows
d new =D safe -d
Obtaining a modified distance field SDF2 value d new
And 6: for the operation track points of the robot, inquiring the corresponding distance field from the distance field SDF1, and filtering out values smaller than the safe distance D safe The points divide the operation track into a plurality of sections, and the distance field values of all the points in some sections are greater than the safety distance D safe The track is a safe track withoutObstacle avoidance correction is required to be carried out on the device; the distance field values of all points in some segments are less than the safety distance D safe If the section of track is an unsafe track, it indicates that the robot collides with another object (another robot, a workpiece, or another object), and the section of track needs to be corrected.
And 7: and for the track segment needing to be corrected, extracting the coordinates of the starting point and the end point of the segment, inquiring the corrected distance field value from the distance field SDF2, using the value as a path weight, and calculating the shortest path by utilizing a Dijkstra algorithm, wherein the shortest path is used as an obstacle avoidance path.
And step 8: and (3) calculating all inverse solutions of the robot for the points on the obstacle avoidance path obtained in the last step, applying each inverse solution to a joint shaft of the robot, calculating coordinates of each joint point, inquiring a distance field value from the distance field SDF2 by using the coordinates of the joint points, comprehensively comparing the distance field values of the joint points under all the inverse solutions (comparing a weighted average value, wherein the weight of the 1 and 2 shafts is 0.05, the weight of the 3 shaft is 0.1, the weight of the 4 shaft is 0.2, the weight of the 5 shaft is 0.3, and the weight of the 6 shaft is 0.3), and taking the posture with the largest distance field value as the motion posture of the obstacle avoidance path point.
Example 3
In this embodiment, a multi-robot cooperative work obstacle avoidance system is disclosed, including:
a grid division calculation module: setting bounding boxes for connecting rods and workpieces of the robots, dividing a robot operation area into a plurality of three-dimensional squares, and calculating coordinates of vertexes of each square;
a trajectory planning module: preliminarily planning the track path of each robot operation, and calculating the optimal robot inverse solution for points on the track;
bounding box position calculation module: calculating the position of the bounding box of the robot connecting rod according to the obtained inverse solution of the robot;
distance field synthesis module: for each bounding box, computing the distance field of the vertices of the square one by one; the distance field of each bounding box is synthesized to the distance field SDF1 for the entire region of operation,
distance field correction module: setting a safety distance D safe To, forValue less than a safe distance D in the distance field SDF1 safe Is corrected as follows
d new =D safe -d
Obtaining a modified distance field SDF2 value d new (ii) a d is the calculated distance field value;
a track correction module: for the operation track points of the robot, inquiring the corresponding distance field from the distance field SDF1, and filtering out values smaller than the safe distance D safe The points divide the operation track into a plurality of sections, and the distance field values of all the points in some sections are smaller than the safe distance D safe Then, the track section needs to be corrected;
obstacle avoidance path determination module: for a track segment needing to be corrected, coordinates of a starting point and an end point of the segment are taken out, a corrected distance field value is inquired from a distance field SDF2, the value is used as a path weight, a shortest path is calculated by utilizing a Dijkstra algorithm, and the shortest path is used as an obstacle avoidance path;
a motion pose determination module: and calculating all inverse solutions of the robot for the points on the obstacle avoidance path obtained in the last step, applying each inverse solution to a joint axis of the robot, calculating coordinates of each joint point, inquiring distance field values from the distance field SDF2 by using the coordinates of the joint points, comprehensively comparing the distance field values of the joint points under all the inverse solutions, and taking the posture with the largest distance field value as the motion posture of the obstacle avoidance path point.
Example 4
In this embodiment, a computer device is disclosed, where the computer device includes a processor and a memory, and a computer program is stored in the memory, and the computer program is loaded and executed by the processor to implement the multi-robot cooperative work obstacle avoidance method described in embodiment 1 or embodiment 2.
Example 5
In the embodiment, a computer-readable storage medium is disclosed, in which a computer program is stored, and the computer program is loaded and executed by a processor to implement the multi-robot cooperative work obstacle avoidance method described in embodiment 1 or embodiment 2.
Example 6
In this embodiment, a computer program product is disclosed, where the computer program product includes computer instructions, the computer instructions are stored in a computer-readable storage medium, and a processor reads and executes the computer instructions from the computer-readable storage medium, so as to implement the multi-robot cooperative work obstacle avoidance method described in embodiment 1 or embodiment 2.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, several modifications and variations can be made without departing from the technical principle of the present invention, and these modifications and variations should also be regarded as the protection scope of the present invention.

Claims (10)

1. A multi-robot cooperative work obstacle avoidance method is characterized by comprising the following steps:
step 1: setting bounding boxes for connecting rods and workpieces of the robots, dividing a robot operation area into a plurality of three-dimensional squares, and calculating coordinates of vertexes of each square;
step 2: preliminarily planning the track path of each robot operation, and calculating the optimal robot inverse solution for points on the track;
and step 3: calculating the position of the bounding box of the robot connecting rod according to the obtained inverse solution of the robot;
and 4, step 4: for each bounding box, computing the distance field of the vertices of the square one by one; the distance field of each bounding box is synthesized into the distance field SDF1 for the entire work area,
and 5: setting a safety distance D safe For distance fields SDF1 the value is less than the safe distance D safe Is corrected as follows
d new =D safe -d
Obtaining a modified distance field SDF2 value d new (ii) a d is the calculated distance field value;
step 6: for the operation track points of the robot, inquiring the corresponding distance field from the distance field SDF1, and filtering out values smaller than the safety distanceFrom D safe The points divide the operation track into a plurality of sections, and the distance field values of all the points in some sections are smaller than the safe distance D safe Then, the track section needs to be corrected;
and 7: for a track segment needing to be corrected, coordinates of a starting point and an end point of the segment are taken out, a corrected distance field value is inquired from a distance field SDF2, the value is used as a path weight, a shortest path is calculated by utilizing a Dijkstra algorithm, and the shortest path is used as an obstacle avoidance path;
and 8: and calculating all inverse solutions of the robot for the points on the obstacle avoidance path obtained in the last step, applying each inverse solution to a joint axis of the robot, calculating coordinates of each joint point, inquiring distance field values from the distance field SDF2 by using the coordinates of the joint points, comprehensively comparing the distance field values of the joint points under all the inverse solutions, and taking the posture with the largest distance field value as the motion posture of the obstacle avoidance path point.
2. The obstacle avoidance method through cooperation of multiple robots according to claim 1, wherein the bounding box is in a cuboid, cylinder or capsule shape according to the shape of a robot connecting rod or a workpiece.
3. The multi-robot cooperative work obstacle avoidance method according to claim 1, wherein in the step 4, the distance field synthesis method comprises: the minimum value of the distance field in all bounding boxes is taken.
4. The multi-robot cooperative work obstacle avoidance method according to claim 2, wherein in the step 4, when the bounding box is a cuboid, the distance field calculation step is as follows:
inputting a vector b consisting of one point p in space, length, width and height, and outputting a distance field value d:
q=abs(p)-b
d=length(max(q,0))+min(max(q x ,max(q y ,q z )),0)
in the formula: p is the point coordinates at which the distance field needs to be computed; b is the length, width and height of the cuboidA vector of (a); d is the calculated distance field value; q = (q) x ,q y ,q z ) T Is a calculated intermediate variable; abs represents the absolute value of each component of the calculation vector, length represents the length of the calculation vector, min represents the minimum value of each component of the calculation vector, and max represents the maximum value of each component of the calculation vector.
5. The multi-robot cooperative work obstacle avoidance method according to claim 2, wherein in the step 4, when the bounding box is a cylinder, the distance field calculation step is as follows:
inputting a coordinate a of a point p in space and the centers of two bottom surfaces of a cylinder 2 、b 2 And outputting a distance field value d:
ba 2 =b 2 -a 2
pa 2 =p-a 2
baba=dot(ba 2 ,ba 2 )
paba=dot(pa 2 ,ba 2 )
x=length(pa 2 *baba-ba 2 *paba)-r 2 *baba
y=abs(paba-baba*0.5)-baba*0.5
x 2 =x*x
y 2 =y*y*baba
Figure FDA0004022094910000031
Figure FDA0004022094910000032
Figure FDA0004022094910000033
d=sign9d 0 )*sqrt(abs(d 0 ))/baba
in the formula: p being the distance field to be calculatedPoint coordinates; a is a 2 、b 2 The coordinates of the centers of the two bottom surfaces of the cylinder are shown; r is 2 Is the radius of the cylinder; d is the calculated distance field value; ba 2 、pa 2 、baba、paba、x、y、x 2 、y 2 、temp 1 、temp 2 、d 0 Is a calculated intermediate variable;
abs represents the absolute value of each component of the calculated vector, length represents the length of the calculated vector, min represents the minimum value of each component of the calculated vector, max represents the maximum value of each component of the calculated vector, and dot represents the dot product of two calculated vectors.
6. The multi-robot cooperative work obstacle avoidance method according to claim 2, wherein in step 4, when the bounding box is in a capsule body shape, the distance field calculation step is as follows:
inputting a point p in space, and coordinates a of the spherical centers of two hemispheres of the capsule body 3 、b 3 Radius of capsule body r 3 And outputting a distance field value d:
ba 3 =b 3 -a 3
pa 3 =p-a 3
Figure FDA0004022094910000041
d=length(pa 3 -ba 3 *h)-r 3
in the formula: p is the point coordinates at which the distance field needs to be computed; a is 3 、b 3 Coordinates of the spherical centers of two hemispheres of the capsule body are obtained; r is a radical of hydrogen 3 Is the radius of the capsule body; d is the calculated distance field value; ba 3 、pa 3 H is the calculated intermediate variable.
abs represents the absolute value of each component of the calculation vector, length represents the length of the calculation vector, min represents the minimum value of each component of the calculation vector, max represents the maximum value of each component of the calculation vector, dot represents the dot product of the two vectors, and clamp (x, 0, 1) represents the bounding of the x value between 0 and 1.
7. A multi-robot cooperative work obstacle avoidance system is characterized by comprising:
a grid division calculation module: setting bounding boxes for connecting rods and workpieces of the robots, dividing a robot operation area into a plurality of three-dimensional squares, and calculating coordinates of vertexes of each square;
a trajectory planning module: preliminarily planning the track path of each robot operation, and calculating the optimal robot inverse solution for points on the track;
bounding box position calculation module: calculating the position of the bounding box of the robot connecting rod according to the obtained inverse solution of the robot;
distance field synthesis module: for each bounding box, computing the distance field of the vertices of the square one by one; the distance field of each bounding box is synthesized into the distance field SDF1 for the entire work area,
distance field correction module: setting a safety distance D safe For distance fields SDF1 the value is less than the safe distance D safe Is corrected as follows
d new =D safe -d
Obtaining a modified distance field SDF2 value d new (ii) a d is the calculated distance field value;
a track correction module: for the operation track points of the robot, inquiring the corresponding distance field from the distance field SDF1, and filtering out values smaller than the safe distance D safe The points divide the operation track into a plurality of sections, and the distance field values of all the points in some sections are smaller than the safe distance D safe Then, the track section needs to be corrected;
obstacle avoidance path determination module: for a track segment needing to be corrected, coordinates of a starting point and an end point of the segment are taken out, a corrected distance field value is inquired from a distance field SDF2, the value is used as a path weight, a shortest path is calculated by utilizing a Dijkstra algorithm, and the shortest path is used as an obstacle avoidance path;
a motion gesture determination module: and calculating all inverse solutions of the robot for the points on the obstacle avoidance path obtained in the last step, acting each inverse solution on a joint axis of the robot, calculating coordinates of each joint point, inquiring distance field values from the distance field SDF2 by using the coordinates of the joint points, comprehensively comparing the distance field values of the joint points under all the inverse solutions, and taking the posture with the largest distance field value as the motion posture of the obstacle avoidance path point.
8. A computer device, characterized in that the computer device comprises a processor and a memory, in which a computer program is stored, which computer program is loaded and executed by the processor to implement the method according to any of claims 1 to 6.
9. A computer-readable storage medium, in which a computer program is stored which is loaded and executed by a processor to implement the method according to any one of claims 1 to 6.
10. A computer program product comprising computer instructions stored in a computer readable storage medium, from which a processor reads and executes the computer instructions to implement the method of any one of claims 1 to 6.
CN202211693044.8A 2022-12-28 2022-12-28 Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium Active CN115933688B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211693044.8A CN115933688B (en) 2022-12-28 2022-12-28 Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211693044.8A CN115933688B (en) 2022-12-28 2022-12-28 Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115933688A true CN115933688A (en) 2023-04-07
CN115933688B CN115933688B (en) 2024-03-29

Family

ID=86552218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211693044.8A Active CN115933688B (en) 2022-12-28 2022-12-28 Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115933688B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6443905B1 (en) * 2017-12-28 2018-12-26 深セン市優必選科技有限公司 Robot motion path planning method, apparatus, storage medium, and terminal device
CN110216670A (en) * 2019-04-30 2019-09-10 武汉理工大学 A kind of industrial robot automatic obstacle-avoiding method and device based on loss field
CN110253570A (en) * 2019-05-27 2019-09-20 浙江工业大学 The industrial machinery arm man-machine safety system of view-based access control model
WO2020040979A1 (en) * 2018-08-23 2020-02-27 Realtime Robotics, Inc. Collision detection useful in motion planning for robotics
CN113459109A (en) * 2021-09-03 2021-10-01 季华实验室 Mechanical arm path planning method and device, electronic equipment and storage medium
CN115416016A (en) * 2022-08-15 2022-12-02 浙江工业大学 Mechanical arm obstacle avoidance path planning method based on improved artificial potential field method
CN115502961A (en) * 2022-08-02 2022-12-23 华南理工大学 Human-machine online obstacle avoidance method and system based on human body arm motion information prediction

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6443905B1 (en) * 2017-12-28 2018-12-26 深セン市優必選科技有限公司 Robot motion path planning method, apparatus, storage medium, and terminal device
WO2020040979A1 (en) * 2018-08-23 2020-02-27 Realtime Robotics, Inc. Collision detection useful in motion planning for robotics
CN110216670A (en) * 2019-04-30 2019-09-10 武汉理工大学 A kind of industrial robot automatic obstacle-avoiding method and device based on loss field
CN110253570A (en) * 2019-05-27 2019-09-20 浙江工业大学 The industrial machinery arm man-machine safety system of view-based access control model
CN113459109A (en) * 2021-09-03 2021-10-01 季华实验室 Mechanical arm path planning method and device, electronic equipment and storage medium
CN115502961A (en) * 2022-08-02 2022-12-23 华南理工大学 Human-machine online obstacle avoidance method and system based on human body arm motion information prediction
CN115416016A (en) * 2022-08-15 2022-12-02 浙江工业大学 Mechanical arm obstacle avoidance path planning method based on improved artificial potential field method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安红瑞: "机械臂抓取过程中的碰撞检测与路径规划研究", 武汉理工大学硕士论文 *

Also Published As

Publication number Publication date
CN115933688B (en) 2024-03-29

Similar Documents

Publication Publication Date Title
US8089480B2 (en) Method for meshing a curved surface
CN111002315B (en) Trajectory planning method and device and robot
KR20110103221A (en) Error compensation method for multi-axis controlled machines
CN110722533B (en) External parameter calibration-free visual servo tracking of wheeled mobile robot
US10650586B2 (en) Automated mesh generation
CN104070523A (en) Method for interpolating circular arcs in real time for industrial robots on basis of space coordinate transformation
Hu et al. Automatic surface roughing with 3D machine vision and cooperative robot control
CN116330267A (en) Control method based on industrial robot wrist singular point calculation
CN115933688A (en) Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium
CN114372940A (en) Real scene image synthesis method and system
Copot et al. Image-based and fractional-order control for mechatronic systems
CN114089316A (en) Combined calibration system, method and medium for laser radar-inertial navigation
CN111283682A (en) Geometric projection solution of forward kinematics of 4-UPU four-degree-of-freedom parallel robot
Kivelä et al. On-line path planning with collision avoidance for coordinate-controlled robotic manipulators
CN114800491A (en) Redundant mechanical arm zero-space obstacle avoidance planning method
CN109773581B (en) Method for applying robot to reappear machining
Seifried et al. Integrated design approaches for controlled flexible multibody systems
CN113478495B (en) Multi-dimensional mechanical arm smooth path planning method
JP2015076026A (en) Pattern matching device and pattern matching method
CN115879332B (en) Driving simulator motion platform control method and device, electronic equipment and storage medium
Liu et al. Hand-eye Calibration of Industrial Robots with 3D Cameras based on Dual Quaternions
Yazicioglu et al. Image based visual servoing using algebraic curves applied to shape alignment
Liu et al. Set space visual servoing of a 6-dof manipulator
CN117798938B (en) Non-singular evaluation control method and device for multi-joint robot
US20230125071A1 (en) Offline teaching device and motion-program generation method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant