CN108107895B - Multi-robot path dynamic planning method - Google Patents

Multi-robot path dynamic planning method Download PDF

Info

Publication number
CN108107895B
CN108107895B CN201711432394.8A CN201711432394A CN108107895B CN 108107895 B CN108107895 B CN 108107895B CN 201711432394 A CN201711432394 A CN 201711432394A CN 108107895 B CN108107895 B CN 108107895B
Authority
CN
China
Prior art keywords
dimensional code
code label
precursor
path
robot
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.)
Active
Application number
CN201711432394.8A
Other languages
Chinese (zh)
Other versions
CN108107895A (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.)
Hefei Hagong Xuanyuan Intelligent Technology Co ltd
Original Assignee
HRG International Institute for Research and Innovation
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 HRG International Institute for Research and Innovation filed Critical HRG International Institute for Research and Innovation
Priority to CN201711432394.8A priority Critical patent/CN108107895B/en
Publication of CN108107895A publication Critical patent/CN108107895A/en
Application granted granted Critical
Publication of CN108107895B publication Critical patent/CN108107895B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle

Abstract

The invention relates to a multi-robot path dynamic planning method, which is used for solving the problem of multi-robot path dynamic planning under a grid map. The method comprises the following steps: 1. sticking two-dimensional code labels according to actual conditions, and ensuring that the labels have unique numbers, the same direction and the same distance; 2. recording and initializing the label number and the index serial number to form a one-to-one corresponding relation; 3. constructing a directed graph in a data structure according to the two-dimensional code data in the actual map; 4. initializing a correlation matrix for calculating a shortest path; 5. initializing variables, and sorting and filling recorded data into a graph; 6. calculating the shortest path by using a Floyd algorithm; 7. when the robot reads the two-dimensional code to carry out a path request, increasing the boundary weight of a partial graph; 8. the robot acquires a terminal point overall path and executes the terminal point overall path in sequence; 9. when the robot is started, the boundary weight of one part of the graph is reduced, and the boundary weight of the other part of the graph is increased; by this reciprocating, the dynamic path planning of the robot is continuously realized; the invention can well solve the path planning problem of multiple robots under the grid map, and has the advantages of simple method, small calculated amount and good dynamic property.

Description

Multi-robot path dynamic planning method
[ technical field ] A method for producing a semiconductor device
The invention relates to robot path planning, in particular to a multi-robot path dynamic planning method.
[ background of the invention ]
At present, independent positioning and navigation of a robot are achieved by means of vision sensors such as Pgv, the robot positioning and navigation method becomes a choice of manufacturers of various large robots at present, the principle is that a Pgv sensor continuously reads a corresponding two-dimensional code tag to obtain the position of the robot relative to the tag, the tag is determined in advance relative to a general map by colleagues to achieve real-time positioning, the position which the robot needs to reach next step is judged and designated through a control center, and finally robot navigation is achieved. The path planning and navigation of the robot in the known environment are carried out, namely, a proper path is selected between the robot and a certain target point from a certain point, which is always a hotspot in the research field, and in an actual situation, the path is always only a one-way path, namely, only one robot is allowed to pass through one path at the next time, when a plurality of robots exist, the problems of collision, scheduling and the like among multiple robots exist, and the situation is particularly difficult to solve.
At present, the main method used by each large manufacturer is Dijkstra-based expansion, mainly aims to obtain the shortest path between two points, and combines a grid method to realize that the robot walks along the shortest path. However, the main defects at present are that the robot algorithm is complex, the calculated amount is large, the planned route cannot be dynamically adjusted, and the like, and especially the path planning and dynamic adjustment of multiple robots cannot be solved. The invention provides a simple and reliable robot path planning method under the known environment, which has the advantages of small required calculated amount and reliable and quick planning algorithm and can realize the path planning of a single track of multiple robots under the condition of a grid map.
[ summary of the invention ]
In order to solve the above problems in the prior art, the invention adopts the following technical scheme: a multi-robot path dynamic planning method comprises the following steps:
step (1): determining a coordinate system in a robot walking space according to actual scene information, and sticking a two-dimensional code label in the walking space based on the coordinate system;
step (2): acquiring a serial number of each two-dimensional code label based on a mapping relation between the serial number and a coordinate axis; correspondingly storing the label serial number of each two-dimensional code label, the two-dimensional code label identification and the position coordinate of the two-dimensional code label in a first mapping table;
and (3): any two adjacent two-dimensional code labels distributed in the coordinate system are provided with directed relationship binary groups (weight and angle) to form a directed relationship binary group set, wherein: the weight is the distance weight between adjacent two-dimension code labels, and the angle is the angle of connection between the adjacent two-dimension code labels;
and (4): setting a robot walking data set for each two-dimension code label based on the coordinate system; the walking data set comprises: the precursor array is used for recording a precursor two-dimensional code label sequence of a second two-dimensional code label in a path from the first two-dimensional code label to the second two-dimensional code label; the precursor two-dimensional code label sequence is an ordered sequence and comprises one or more precursor two-dimensional code labels, and each precursor two-dimensional code label in the precursor two-dimensional code labels is sequenced from a small path to a small path according to the way that the precursor two-dimensional code label runs from a first two-dimensional code label to a second two-dimensional code label;
and (5): initializing a directed relationship binary group (weight, angle) set; specifically, the method comprises the following steps: if any two-dimension code labels are adjacent, setting the weight between the two-dimension code labels as 1, and setting the angle as 1(0 degree), 2(90 degrees), 3(180 degrees) or 4(270 degrees); if the two-dimension code labels are not connected, setting the weight and the angle information as maximum values;
and (6): the robot reads a two-dimension code label attached to the current position in real time, the position of the two-dimension code label is obtained according to the identification of the read two-dimension code label, and the weight in the two-dimension code label and the two-dimension code label in the directed relationship corresponding to the two-dimension code label is set to be a maximum value so as to represent that the path connected with the two-dimension code label is not communicated and is occupied by a robot; after the robot leaves the current position, setting the weight in the two-dimensional code label and the weight in the two-dimensional group of the directed relationship corresponding to the two-dimensional code label adjacent to the two-dimensional code label as 1 to represent the smoothness of the path connected with the two-dimensional code label;
and (7): sending a real-time path query request based on a walking requirement, wherein the path query request comprises a starting point position and an end point position, and acquiring a starting point sequence number S and an end point sequence number N to be reached of the robot based on the starting point position and the end point position according to a first mapping table; searching a first precursor point M1 from the starting point S to the end point N based on the precursor array, searching a second precursor point M2 from the starting point S to the first precursor point M1 based on the precursor array, and sequentially performing similar searching based on the precursor array until the precursor point is the starting point S; storing all the searched predecessor points according to the sequence opposite to the found sequence to form a walking path (S, Mn-1, Mn-2, · · M1, N) which needs to be passed from the starting point S to the terminal point N; wherein: the n is the path length of the walking path;
and (8): setting a steering angle for the walking path based on the directional relation binary set; specifically, the method comprises the following steps: for each unit path in a walking path, inquiring a directed relationship binary set based on the unit path, acquiring an angle connected between two end point two-dimensional code labels of the unit path, and adding the angle to a starting point of the two end points;
and (9): and (3) the robot moves based on the walking path, moves from the position of the current two-dimensional code label to the position of the next two-dimensional code label in the walking path, and when the robot moves from the current two-dimensional code label to the next two-dimensional code label each time, the position of the next two-dimensional code label is used as a starting point S, the target point is still used as a terminal point, the step (6) is repeatedly executed to update the path occupation condition, and the steps (7) - (8) are re-executed to perform real-time path query until the robot moves to the target point.
Further, the label is attached to the walking space based on the coordinate system, specifically: a two-dimensional code label is attached to each unit space in a first quadrant of a coordinate system; attaching a two-dimensional code label on the ground where the robot walks; and the robot determines a walking path under the guidance of the two-dimensional code label.
Further, the coordinate system is a two-dimensional coordinate system; the label has directionality; when the labels are pasted in the walking space based on the coordinate system, all the labels are pasted in the same direction and are uniformly placed, and the distances between the two-dimensional code labels are equal through uniform placement; the label extends and is attached along the directions parallel to the positive directions of the X axis and the Y axis of the two-dimensional coordinate system.
Furthermore, each two-dimension code label comprises four sub-labels, and the four sub-labels are uniformly and symmetrically attached to 4 different directions of the two-dimension code label respectively; the label content of 4 sub-labels of each two-dimensional code label is the same, the sticking direction is also the same, and the label identification sensor can obtain corresponding label identification according to the content of the sub-labels; the tag identification sensor only identifies the sub-tag in the positive direction, and the direction of the tag identification sensor is determined based on the position of the sub-tag in the two-dimensional code tag, so that the walking direction of the robot is determined.
Further, the binary group (weight, angle) is expanded into a ternary group (weight, angle offset), the angle offset is added according to actual scene information, and the angle offset identifies the offset of the two-dimensional code tags relative to the angle.
Furthermore, the walking data set further comprises a terminal angle array used for recording the angle to which the robot rotates when the two-dimensional code label is a target point or a stop point.
Further, a first predecessor point M1 from the start point S to the end point N is found based on the predecessor array, specifically: acquiring a precursor two-dimensional code sequence based on a starting sequence number S and a terminal sequence number N, sequentially acquiring a precursor two-dimensional code label from a precursor two-dimensional code label sequence, determining whether the precursor two-dimensional code label is occupied, if the precursor two-dimensional code label is occupied, continuously acquiring a next precursor two-dimensional code label until an unoccupied two-dimensional code label position is found, and taking the unoccupied precursor two-dimensional code label as a first precursor point M1.
Further, a second predecessor point M2 from the starting point S to the first predecessor point M1 is found based on the predecessor array, specifically: acquiring a precursor two-dimensional code sequence based on a starting point serial number S and a first precursor point M1, sequentially acquiring a precursor two-dimensional code label from the starting point S to the first precursor point M1 from a precursor two-dimensional code label sequence, determining whether the precursor two-dimensional code label is occupied, if the precursor two-dimensional code label is occupied, continuously acquiring a next precursor two-dimensional code label until an unoccupied two-dimensional code label is found, and taking the unoccupied precursor two-dimensional code label as a second precursor point M2.
Further, determining whether the precursor two-dimensional code label is occupied specifically includes: and querying a directed relationship binary group based on the precursor two-dimension code label, if the weight is 1, indicating that the precursor two-dimension code label is not occupied, otherwise, indicating that the precursor two-dimension code label is occupied.
Further, the above steps (6) - (9) need to be sequentially run under the action of the mutual exclusion lock, so as to prevent the abnormal reading and writing of the memory from damaging the algorithm logic.
The beneficial effects of the invention include: the required calculated amount is small, the planning algorithm is reliable and quick, and the path planning of a single track of multiple robots under the condition of the grid map can be realized.
[ description of the drawings ]
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, and are not to be considered limiting of the invention, in which:
FIG. 1 is a schematic diagram of an initialization process of the method of the present invention.
FIG. 2 is a schematic diagram of the steps of the method of the present invention.
Fig. 3 is a schematic diagram of a map related to the method of the present invention.
Fig. 4 is a schematic diagram of a two-dimensional code tag related to the method of the present invention.
[ detailed description ] embodiments
The present invention will now be described in detail with reference to the drawings and specific embodiments, wherein the exemplary embodiments and descriptions are provided only for the purpose of illustrating the present invention and are not to be construed as limiting the present invention.
Referring to fig. 1, the present invention is a multi-robot path dynamic planning method, which includes the following steps:
step (1): determining a coordinate system in a robot walking space according to actual scene information, and sticking a two-dimensional code label in the walking space based on the coordinate system;
based on the label is established in coordinate system subsides in walking space, specifically do: a two-dimensional code label is attached to each unit space in a first quadrant of a coordinate system; attaching a two-dimensional code label on the ground where the robot walks; the robot determines a walking path under the guidance of the two-dimensional code label;
preferably: the walking space is a two-dimensional space, for example: a warehouse floor;
for example: a first two-dimensional code label is pasted in a first unit space formed by an X axis [0,1) and a Y axis [0,1), and the label serial number of the two-dimensional code label is 1; the first two-dimensional code label can be attached to an origin;
preferably: the coordinate system is a two-dimensional coordinate system; the label has directionality; when the labels are pasted in the walking space based on the coordinate system, all the labels are pasted in the same direction and are uniformly placed, and the distances between the two-dimensional code labels are equal through uniform placement;
preferably: the actual scene information is robot walking space information;
preferably: forming a grid map based on the two-dimensional coordinate system; performing multi-robot path dynamic planning based on the grid map;
preferably: the label extends and is attached along the directions parallel to the positive directions of the X axis and the Y axis of the two-dimensional coordinate system; when the sticking direction of the label is consistent with the positive direction of the X axis, the direction of the label is 0 degree; when the sticking direction of the label is consistent with the positive direction of the Y axis, the direction of the label is 90 degrees; when the sticking direction of the label is consistent with the negative direction of the X axis, the direction of the label is 180 degrees; when the sticking direction of the label is consistent with the negative direction of the Y axis, the direction of the label is 270 degrees;
fig. 4 shows a two-dimensional code label, where each two-dimensional code label includes four sub-labels, and the four sub-labels are uniformly and symmetrically attached to 4 different orientations of the two-dimensional code label (for example, in 1 st to 4 different quadrants of a local coordinate system formed by the centers of the two-dimensional code labels); the label content of 4 sub-labels of each two-dimensional code label is the same, the sticking direction is also the same, and the label identification sensor can obtain corresponding label identification according to the content of the sub-labels; the tag identification sensor only identifies the sub-tags in the positive direction, and the direction of the tag identification sensor is determined based on the directions of the sub-tags in the two-dimensional code tag, so that the walking direction of the robot is determined;
step (2): acquiring a serial number of each two-dimensional code label based on a mapping relation between the serial number and a coordinate axis; the serial number of each two-dimension code label corresponds to the identification of the two-dimension code label one by one; specifically, the method comprises the following steps: the mapping relation is as follows:
Figure BDA0001525134980000082
wherein: SNi is a serial number of the two-dimensional code label, and Xi and Yi are horizontal and vertical coordinate values of a central point of the two-dimensional code label; MAX (xi) is the maximum value of the abscissa of the central points of all the two-dimensional code labels; correspondingly storing the label serial number, the two-dimension code label identification and the position coordinate of the two-dimension code label of each two-dimension code label in a first mapping table, and acquiring the corresponding serial number and the position of the two-dimension code label on a map through the two-dimension code label identification based on the first mapping table;
as shown in fig. 3, each black dot is a two-dimensional code label, the distances between the two-dimensional code labels are the same, and the serial number of the lower left corner of each black dot corresponds to each label identifier one to one; the serial number of each black dot is represented by the formula
Figure BDA0001525134980000081
Calculating and giving, wherein Xi and Yi are the coordinate determination of the two-dimensional code label; for example, the coordinate of the 19 th two-dimensional code label after being rounded is (6, 2), and the serial number is (7 × 2-1) +6 ═ 19; the label identification corresponding to the 19 # two-dimensional code label corresponds to the actual labeled number and is maintained in a first mapping table;
preferably: the two-dimension code label identification and the serial number are different, so that when the two-dimension code label is attached, the two-dimension code label does not need to be attached in sequence, and only the label identification is different;
and (3): any two adjacent two-dimensional code labels distributed in the coordinate system are provided with directed relationship binary groups (weight and angle) to form a directed relationship binary group set, wherein: the weight is the distance weight between adjacent two-dimension code labels, and the angle is the angle of connection between the adjacent two-dimension code labels;
preferably: all the two-dimensional code labels are distributed equidistantly, and the distance weight is set to be 1; because the simple logistics robot only needs to turn by 90 degrees, only 4 binary information needs to be stored for one two-dimensional code label; in addition, because any two-dimensional code labels are in bidirectional communication, each pair of two-dimensional code labels only needs to store one direction relation binary group;
for example: the angle information corresponding to the 19 label distances 20, 26, 18 and 12 are respectively 1(0 degree), 2(90 degrees), 3(180 degrees) and 4(270 degrees), which respectively represent the corresponding angles of the horizontal right, the vertical upper, the horizontal left and the vertical lower, wherein the direct distances between the 19 point and other points are initialized to be infinite, the connection is automatically calculated according to the connection relationship in the later stage,
preferably: the infinity is 65535, representing an unknown angle;
preferably: expanding the binary group (weight, angle) into a triple group (weight, angle offset), wherein the angle offset is added according to actual scene information, and the angle offset identifies the offset of the two-dimensional code labels relative to the angle;
and (4): setting a robot walking data set for each two-dimension code label based on the coordinate system; the walking data set comprises: the precursor array is used for recording a precursor two-dimensional code label sequence of a second two-dimensional code label in a path from the first two-dimensional code label to the second two-dimensional code label; the precursor two-dimensional code label sequence is an ordered sequence and comprises one or more precursor two-dimensional code labels, and each precursor two-dimensional code label in the precursor two-dimensional code labels is sequenced from a small path to a small path according to the way that the precursor two-dimensional code label runs from a first two-dimensional code label to a second two-dimensional code label;
because the precursor array is calculated and stored in advance, the calculated amount of the robot in the motion process is reduced, and the speed of dynamic path planning is improved;
preferably: calculating the shortest path through a Floyd algorithm, and sequentially calculating the shortest path and the secondary short path from the first two-dimensional code label to the second two-dimensional code label until the longest path; after the shortest path is eliminated, the shortest path is calculated again to calculate a secondary short path, and the rest is done until the longest path is calculated;
the terminal angle array is used for recording the angle to which the robot rotates when the two-dimensional code label is a target point or a stop point; for example: when the robot reaches 19 points from 12 points, the direction is the upward direction by default, but the direction required finally is not necessarily the direction, the terminal point data set can be inquired to obtain the angle required to rotate;
and (5): initializing a directed relationship binary group (weight, angle) set; specifically, the method comprises the following steps: if any two-dimension code labels are adjacent, setting the weight between the two-dimension code labels as 1, and setting the angle as 1(0 degree), 2(90 degrees), 3(180 degrees) or 4(270 degrees); if the two-dimensional code labels have no connection relation, the weight and the angle information are set to 65535; if the two-dimension code labels are the same two-dimension code label, setting the angle to be 1(0 degree);
preferably: adding an angle offset according to actual scene information, wherein the angle offset identifies the offset of the two-dimension code labels relative to the angle;
and (6): the robot reads a two-dimension code label attached to the current position in real time, the position of the two-dimension code label is obtained according to the identification of the read two-dimension code label, and the weight in the two-dimension code label and the two-dimension code label in the directed relationship corresponding to the two-dimension code label is set to be a maximum value so as to represent that the path connected with the two-dimension code label is not communicated and is occupied by a robot; after the robot leaves the current position, setting the weight in the two-dimensional code label and the weight in the two-dimensional group of the directed relationship corresponding to the two-dimensional code label adjacent to the two-dimensional code label as 1 to represent the smoothness of the path connected with the two-dimensional code label;
for example: when a robot reads a two-dimensional code label corresponding to the 19-number point, setting the weight values among the points 18, 20, 12 and 26 connected with the 19-number two-dimensional code label as 65535, indicating that a road connected with the two-dimensional code label is not communicated and is occupied by the robot, and other robots need to bypass the 19-number point when requesting a path;
and (7): sending a real-time path query request based on a walking requirement, wherein the path query request comprises a starting point position and an end point position, and acquiring a starting point sequence number S and an end point sequence number N to be reached of the robot based on the starting point position and the end point position according to a first mapping table; searching a first precursor point M1 from the starting point S to the end point N based on the precursor array, searching a second precursor point M2 from the starting point S to the first precursor point M1 based on the precursor array, and sequentially performing similar searching based on the precursor array until the precursor point is the starting point S; storing all the searched predecessor points according to the sequence opposite to the found sequence to form a walking path (S, Mn-1, Mn-2, · · M1, N) which needs to be passed from the starting point S to the terminal point N; wherein: the n is the path length of the walking path;
searching a first precursor point M1 from the starting point S to the end point N based on the precursor array, specifically: acquiring a precursor two-dimensional code sequence based on a starting sequence number S and a terminal sequence number N, sequentially acquiring a precursor two-dimensional code label from a precursor two-dimensional code label sequence, determining whether the precursor two-dimensional code label is occupied, if the precursor two-dimensional code label is occupied, continuously acquiring a next precursor two-dimensional code label until an unoccupied two-dimensional code label position is found, and taking the unoccupied precursor two-dimensional code label as a first precursor point M1; preferably: if the predecessor two-dimensional code label is the starting point S, directly returning to the starting point S as a first predecessor point M1;
searching a second precursor point M2 from the starting point S to the first precursor point M1 based on the precursor array, specifically: acquiring a precursor two-dimensional code sequence based on a starting point serial number S and a first precursor point M1, sequentially acquiring a precursor two-dimensional code label from the starting point S to the first precursor point M1 from a precursor two-dimensional code label sequence, determining whether the precursor two-dimensional code label is occupied, if the precursor two-dimensional code label is occupied, continuously acquiring a next precursor two-dimensional code label until an unoccupied two-dimensional code label is found, and taking the unoccupied precursor two-dimensional code label as a second precursor point M2; preferably: if the predecessor two-dimensional code label is the starting point S, directly returning to the starting point S as a second predecessor point M2;
determining whether the precursor two-dimensional code label is occupied, specifically: querying a directed relationship binary group based on the precursor two-dimension code label, if the weight is 1, indicating that the precursor two-dimension code label is not occupied, otherwise, indicating that the precursor two-dimension code label is occupied;
for example: the robot wants to reach the 19 th point from the 10 th point, on a shortest path, the precursor point of the 19 th point is defaulted to be 12 th, when the 12 th point is occupied by the robot, the corresponding precursor point in the precursor array is dynamically changed into 18, and finally the corresponding path is also dynamically changed;
and (8): setting a steering angle for the walking path based on the directional relation binary set; specifically, the method comprises the following steps: for each unit path in the walking path, inquiring a directed relationship binary set based on the unit path, acquiring an angle connected between two end point two-dimensional code labels of the unit path, adding the angle to a starting point of the two end points, and finally setting a target angle for an end point of the walking path by inquiring an end point angle array;
preferably: the target angle can be set according to a walking instruction issued by a user to the robot;
the unit path is a path formed by two adjacent two-dimensional code labels which are directly connected;
and (9): the robot moves based on the walking path, moves from the position of the current two-dimensional code label to the position of the next two-dimensional code label in the walking path, and when the robot moves from the current two-dimensional code label to the next two-dimensional code label each time, the position of the next two-dimensional code label is used as a starting point S, the end point N is still used as an end point, the step (6) is repeatedly executed to update the path occupation condition, and the steps (7) - (8) are re-executed to perform real-time path query until the robot moves to a target point;
and (6) to (9) sequentially operating under the action of the mutual exclusion lock to prevent abnormal memory reading and writing and damage to the algorithm logic.
The multi-robot path dynamic planning method of the invention has the advantages of small required calculated amount and reliable and quick planning algorithm, and can realize the path planning of a single track of multiple robots under the condition of a grid map.
The above description is only a preferred embodiment of the present invention, and all equivalent changes or modifications of the structure, characteristics and principles described in the present invention are included in the scope of the present invention.

Claims (5)

1. A multi-robot path dynamic planning method is characterized by comprising the following steps:
step (1): determining a coordinate system in a robot walking space according to actual scene information, and sticking a two-dimensional code label in the walking space based on the coordinate system;
step (2): acquiring a serial number of each two-dimensional code label based on a mapping relation between the serial number and a coordinate axis; correspondingly storing the label serial number of each two-dimensional code label, the two-dimensional code label identification and the position coordinate of the two-dimensional code label in a first mapping table;
and (3): any two adjacent two-dimensional code labels distributed in the coordinate system are provided with directed relationship binary groups (weight and angle) to form a directed relationship binary group set, wherein: the weight is the distance weight between adjacent two-dimension code labels, and the angle is the angle of connection between the adjacent two-dimension code labels;
and (4): setting a robot walking data set for each two-dimension code label based on the coordinate system; the walking data set comprises: the precursor array is used for recording a precursor two-dimensional code label sequence of a second two-dimensional code label in a path from the first two-dimensional code label to the second two-dimensional code label; the precursor two-dimensional code label sequence is an ordered sequence and comprises one or more precursor two-dimensional code labels, and each precursor two-dimensional code label in the precursor two-dimensional code labels is sequenced from a small path to a small path according to the way that the precursor two-dimensional code label runs from a first two-dimensional code label to a second two-dimensional code label;
and (5): initializing a directed relationship binary set, wherein a first element is a weight, and a second element is an angle; specifically, the method comprises the following steps: if any two-dimension code labels are adjacent, setting the weight between the two-dimension code labels as 1, and setting the angles as 0 degree, 90 degrees, 180 degrees and 270 degrees; if the two-dimension code labels are not connected, setting the weight and the angle information as maximum values;
and (6): the robot reads a two-dimension code label attached to the current position in real time, the position of the two-dimension code label is obtained according to the identification of the read two-dimension code label, and the weight in the two-dimension code label and the two-dimension code label in the directed relationship corresponding to the two-dimension code label is set to be a maximum value so as to represent that the path connected with the two-dimension code label is not communicated and is occupied by a robot; after the robot leaves the current position, setting the weight in the two-dimensional code label and the weight in the two-dimensional group of the directed relationship corresponding to the two-dimensional code label adjacent to the two-dimensional code label as 1 to represent the smoothness of the path connected with the two-dimensional code label;
and (7): sending a real-time path query request based on a walking requirement, wherein the path query request comprises a starting point position and an end point position, and acquiring a starting point sequence number S and an end point sequence number N to be reached of the robot based on the starting point position and the end point position according to a first mapping table; searching a first precursor point M1 from the starting point S to the end point N based on the precursor array, searching a second precursor point M2 from the starting point S to the first precursor point M1 based on the precursor array, and sequentially performing similar searching based on the precursor array until the precursor point is the starting point S; storing all the searched precursor points according to the sequence opposite to the found sequence to form a walking path from a starting point S to a terminal point N, namely S, Mn-1, Mn-2, · · M1, N; wherein: the n is the path length of the walking path;
and (8): setting a steering angle for the walking path based on the directional relation binary set; specifically, the method comprises the following steps: for each unit path in a walking path, inquiring a directed relationship binary set based on the unit path, acquiring an angle connected between two end point two-dimensional code labels of the unit path, and adding the angle to a starting point of the two end points;
and (9): the robot moves based on the walking path, moves from the position of the current two-dimensional code label to the position of the next two-dimensional code label in the walking path, and when the robot moves from the current two-dimensional code label to the next two-dimensional code label each time, the position of the next two-dimensional code label is used as a starting point S, a target point is still used as a terminal point, the step (6) is repeatedly executed to update the path occupation condition, and the steps (7) - (8) are re-executed to perform real-time path query until the robot moves to the target point;
each two-dimension code label comprises four sub-labels, and the four sub-labels are uniformly and symmetrically attached to 4 different directions of the two-dimension code label respectively;
the label content of 4 sub-labels of each two-dimensional code label is the same, the sticking direction is also the same, and the label identification sensor can obtain corresponding label identification according to the content of the sub-labels; the tag identification sensor only identifies the sub-tags in the positive direction, and the direction of the tag identification sensor is determined based on the directions of the sub-tags in the two-dimensional code tag, so that the walking direction of the robot is determined;
expanding the binary group into a triple group, wherein a first element in the binary group is a weight, a second element in the binary group is an angle, a first element in the triple group is a weight, a second element in the triple group is an angle, and a third element in the triple group is an angle offset; the angle offset is added according to actual scene information, and the angle offset identifies the offset of the two-dimensional code labels relative to the angle;
the walking data set further comprises a terminal angle array used for recording the angle to which the robot rotates when the two-dimensional code label is a target point or a stop point;
searching a first precursor point M1 from the starting point S to the end point N based on the precursor array, specifically: acquiring a precursor two-dimensional code sequence based on a starting sequence number S and a terminal sequence number N, sequentially acquiring a precursor two-dimensional code label from a precursor two-dimensional code label sequence, determining whether the precursor two-dimensional code label is occupied, if the precursor two-dimensional code label is occupied, continuously acquiring a next precursor two-dimensional code label until an unoccupied two-dimensional code label position is found, and taking the unoccupied precursor two-dimensional code label as a first precursor point M1;
searching a second precursor point M2 from the starting point S to the first precursor point M1 based on the precursor array, specifically: acquiring a precursor two-dimensional code sequence based on a starting point serial number S and a first precursor point M1, sequentially acquiring a precursor two-dimensional code label from the starting point S to the first precursor point M1 from a precursor two-dimensional code label sequence, determining whether the precursor two-dimensional code label is occupied, if the precursor two-dimensional code label is occupied, continuously acquiring a next precursor two-dimensional code label until an unoccupied two-dimensional code label is found, and taking the unoccupied precursor two-dimensional code label as a second precursor point M2.
2. The multi-robot path dynamic planning method according to claim 1, wherein the label is attached in a walking space based on the coordinate system, and specifically comprises: a two-dimensional code label is attached to each unit space in a first quadrant of a coordinate system; attaching a two-dimensional code label on the ground where the robot walks; and the robot determines a walking path under the guidance of the two-dimensional code label.
3. The multi-robot path dynamic planning method according to any one of claims 1-2, wherein the coordinate system is a two-dimensional coordinate system; the label has directionality; when the labels are pasted in the walking space based on the coordinate system, all the labels are pasted in the same direction and are uniformly placed, and the distances between the two-dimensional code labels are equal through uniform placement; the label extends and is attached along the directions parallel to the positive directions of the X axis and the Y axis of the two-dimensional coordinate system.
4. The multi-robot path dynamic planning method according to claim 1, wherein determining whether the predecessor two-dimensional code label is occupied specifically comprises: and querying a directed relationship binary group based on the precursor two-dimension code label, if the weight is 1, indicating that the precursor two-dimension code label is not occupied, otherwise, indicating that the precursor two-dimension code label is occupied.
5. The multi-robot path dynamic planning method of claim 1, wherein the steps (6) - (9) are sequentially performed under the action of mutual exclusion lock to prevent abnormal memory read/write and damage to algorithm logic.
CN201711432394.8A 2017-12-26 2017-12-26 Multi-robot path dynamic planning method Active CN108107895B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711432394.8A CN108107895B (en) 2017-12-26 2017-12-26 Multi-robot path dynamic planning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711432394.8A CN108107895B (en) 2017-12-26 2017-12-26 Multi-robot path dynamic planning method

Publications (2)

Publication Number Publication Date
CN108107895A CN108107895A (en) 2018-06-01
CN108107895B true CN108107895B (en) 2021-05-04

Family

ID=62213329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711432394.8A Active CN108107895B (en) 2017-12-26 2017-12-26 Multi-robot path dynamic planning method

Country Status (1)

Country Link
CN (1) CN108107895B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032130B (en) * 2018-06-22 2021-08-27 青岛港国际股份有限公司 Automatic wharf magnetic nail maintenance method and system
CN109375626B (en) * 2018-11-20 2021-08-24 深圳市海柔创新科技有限公司 Positioning code pasting method and device, computer equipment and storage medium
CN109814580A (en) * 2019-04-03 2019-05-28 深圳市佳顺智能机器人股份有限公司 Barrier-avoiding method, system, host and the storage medium of automated guided vehicle
CN110146087B (en) * 2019-06-14 2022-11-01 哈尔滨工程大学 Ship path planning method based on dynamic planning idea
CN110440806A (en) * 2019-08-12 2019-11-12 苏州寻迹智行机器人技术有限公司 A kind of AGV accurate positioning method that laser is merged with two dimensional code
CN110703684B (en) * 2019-11-01 2022-09-30 哈工大机器人(合肥)国际创新研究院 Trajectory planning method and device with unlimited endpoint speed
CN113220020B (en) * 2021-04-30 2023-10-31 西安鲲鹏易飞无人机科技有限公司 Unmanned aerial vehicle task planning method based on graphic labels
CN115507857B (en) * 2022-11-23 2023-03-14 常州唯实智能物联创新中心有限公司 Efficient robot motion path planning method and system
CN116029536B (en) * 2023-03-28 2023-06-27 深圳市实佳电子有限公司 NFC technology-based intelligent warehouse cargo scheduling method, NFC technology-based intelligent warehouse cargo scheduling device, NFC technology-based intelligent warehouse cargo scheduling equipment and NFC technology-based intelligent warehouse cargo scheduling medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101105325B1 (en) * 2009-09-08 2012-01-16 부산대학교 산학협력단 Method for Path-planning for Actual Robots
CN103955222B (en) * 2014-05-05 2016-05-11 无锡普智联科高新技术有限公司 A kind of method for planning path for mobile robot based on multi obstacles environment
CN105509744A (en) * 2015-11-26 2016-04-20 南京邮电大学 QR code-based indoor positioning and routing panorama guiding method
CN106094834A (en) * 2016-07-19 2016-11-09 芜湖哈特机器人产业技术研究院有限公司 Based on the method for planning path for mobile robot under known environment
CN206411514U (en) * 2016-09-13 2017-08-15 哈尔滨工业大学深圳研究生院 A kind of intelligent storage mobile-robot system positioned based on Quick Response Code
CN106408990A (en) * 2016-10-08 2017-02-15 重庆科技学院 Non-network garage map path planning method
CN107301787A (en) * 2017-07-28 2017-10-27 东南大学 Large parking lot positioning and bootstrap technique based on position Quick Response Code

Also Published As

Publication number Publication date
CN108107895A (en) 2018-06-01

Similar Documents

Publication Publication Date Title
CN108107895B (en) Multi-robot path dynamic planning method
CN110936383B (en) Obstacle avoiding method, medium, terminal and device for robot
CN108827249B (en) Map construction method and device
CN107436148A (en) A kind of robot navigation method and device based on more maps
CN112070770B (en) High-precision three-dimensional map and two-dimensional grid map synchronous construction method
US10885666B2 (en) Hybrid metric-topological camera-based localization
CN104933886A (en) Two-dimension code scanning reverse vehicle-searching system based on intelligent terminal
CN113587933B (en) Indoor mobile robot positioning method based on branch-and-bound algorithm
CN111736586B (en) Method for automatically driving vehicle position for path planning and device thereof
WO2023005384A1 (en) Repositioning method and device for mobile equipment
CN112338916A (en) Mechanical arm obstacle avoidance path planning method and system based on fast expansion random tree
CN116105742A (en) Composite scene inspection navigation method, system and related equipment
Yin et al. Stabilize an unsupervised feature learning for LiDAR-based place recognition
CN105652238A (en) Robot position posture determination method based on RFID (Radio Frequency Identification)
US20210089506A1 (en) Method and device for creating a localization map
TWI585365B (en) Indoor navigation system and method based on relevancy of road signs
CN109633531B (en) Wireless sensor network node positioning system under composite noise condition
CN113960999B (en) Repositioning method, repositioning system and repositioning chip for mobile robot
US20210271257A1 (en) Information processing device, optimum time estimation method, self-position estimation method, and record medium recording computer program
JP6893984B2 (en) Methods and devices for determining the exact position of a vehicle based on radar signatures around the vehicle
CN113361674B (en) Encoding and decoding method of nested guide two-dimensional code
CN104819715A (en) Automatic star recognition method based on one-dimensional vector mode
CN111340870B (en) Topological map generation method based on vision
CN112509006A (en) Sub-map recovery fusion method and device
JP2021197699A (en) Communication device, program, mobile, system, and communication 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221018

Address after: 230601 Room 316, Building 3, Zone C, Intelligent Science Park, No. 3963, Susong Road, Hefei Economic and Technological Development Zone, Anhui Province

Patentee after: Hefei Hagong Xuanyuan Intelligent Technology Co.,Ltd.

Address before: 230601 Building 5, Qidi science and Technology City, Qinghua Road, economic development zone, Hefei City, Anhui Province

Patentee before: HRG INTERNATIONAL INSTITUTE FOR RESEARCH & INNOVATION