CN113819919A - Robot optimal path planning method based on Boolean constraint - Google Patents

Robot optimal path planning method based on Boolean constraint Download PDF

Info

Publication number
CN113819919A
CN113819919A CN202111128776.8A CN202111128776A CN113819919A CN 113819919 A CN113819919 A CN 113819919A CN 202111128776 A CN202111128776 A CN 202111128776A CN 113819919 A CN113819919 A CN 113819919A
Authority
CN
China
Prior art keywords
task
tasks
sequence
robot
boolean
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
CN202111128776.8A
Other languages
Chinese (zh)
Other versions
CN113819919B (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.)
Shaanxi University of Science and Technology
Original Assignee
Shaanxi University of Science and Technology
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 Shaanxi University of Science and Technology filed Critical Shaanxi University of Science and Technology
Priority to CN202111128776.8A priority Critical patent/CN113819919B/en
Publication of CN113819919A publication Critical patent/CN113819919A/en
Application granted granted Critical
Publication of CN113819919B publication Critical patent/CN113819919B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

A robot optimal path planning method based on Boolean constraint comprises the steps of dividing the global environment of a robot, and writing a space set and an adjacent matrix thereof; then, inputting the Boolean constraint task requirement of the robot, and updating the adjacency matrix according to the task requirement; then calculating and storing the shortest distance between tasks and the corresponding path; randomly generating an initial task sequence meeting the requirement of Boolean constraint task, and calculating the shortest moving distance and the corresponding path thereof; then, optimizing the initial task sequence by a simulated annealing algorithm; finally, outputting the optimal task sequence, the shortest moving distance and the corresponding path; the invention ensures that the robot has the shortest moving distance on the premise of meeting the task requirements, greatly reduces the moving cost and time cost of the robot, improves the efficiency and has good application prospect.

Description

Robot optimal path planning method based on Boolean constraint
Technical Field
The invention relates to the technical field of robots, in particular to a robot optimal path planning method based on Boolean constraint.
Technical Field
With the progress of science and technology and the development of society, the application of the mobile robot is more and more extensive, and the mobile robot relates to the fields of military affairs, industry, agriculture, families and the like. Three major core problems in the field of robot path planning research are robot positioning, task allocation and path planning techniques, where path planning is a prerequisite for a mobile robot to avoid obstacles to reach a task target and complete task content. For example: the household service type cleaning robot needs to carry out reasonable path planning on the indoor environment to complete the cleaning task; the agricultural picking robot needs path planning to pass through the crops to complete picking tasks; industrial robots also require path planning to accomplish a given task in a shared workspace.
The robot is widely applied to the aspects of home service, agricultural assistance, industrial environment, military assistance and the like. In these applications, robot path planning is particularly important, and the optimal robot path planning refers to: and finding a path which can complete the task requirement from the initial state to the target state and avoid all obstacles in the working environment, wherein the moving path is shortest.
After years of research, the optimal path planning method for general task requirements is relatively mature, however, with the increasing complexity of tasks, such as the optimal path planning of a robot with boolean constraints (boolean constraints mainly include and or non-three descriptions, and the task requirement with boolean constraints means that a path from an initial state to a target state of the robot meets the optimal path planning of the robot which must pass through some points to complete a task, select a part from some points to complete a task, and must avoid some points), the optimal path planning method for general task requirements cannot meet actual requirements.
Disclosure of Invention
In order to overcome the defects of the prior art, the invention aims to provide a robot optimal path planning method based on Boolean constraint, so that the robot has the shortest moving distance on the premise of meeting task requirements, the moving cost and the time cost of the robot are reduced to a greater extent, the efficiency is improved, and the method has a good application prospect.
In order to achieve the purpose, the invention adopts the following technical scheme:
a robot optimal path planning method based on Boolean constraint comprises the following steps:
the method comprises the following steps: dividing the global environment of the robot, and writing a space set and an adjacent matrix thereof;
step two: inputting Boolean constraint task requirements of the robot;
step three: updating the adjacency matrix according to task requirements;
step four: calculating and storing the shortest distance and the corresponding path among the tasks;
step five: randomly generating an initial task sequence meeting the requirement of Boolean constraint task, and calculating the shortest moving distance and the corresponding path thereof;
step six: optimizing the initial task sequence by a simulated annealing algorithm;
step seven: and outputting the optimal task sequence, the shortest moving distance and the corresponding path.
The first step is specifically as follows:
the global environment is divided into m spaces, and the set R is set to { R ═ R1,R2,...,RmRepresents;
the adjacency matrix W is an m × m symmetric matrix if the space RiAnd a space RjAre connected with each other and the distance between the two spaces is omegai,jWhen W (i, j) is ωi,jOtherwise, W (i, j) ∞, and W (i, i) ∞, i 1, 2.
The second step is specifically as follows:
tasks are divided into five categories:
the first type: starting task, using set Ts={RsWherein s is more than or equal to 1 and less than or equal to m, and represents that the robot moves from the space RsStarting;
the second type: end point tasks, using set Te={ReWherein, e is more than or equal to 1 and less than or equal to m, which indicates that the robot finally stops in the space Re
In the third category: boolean constrained AND tasks, using sets
Figure BDA0003279735980000031
Wherein v isaThe number of tasks that the robot must complete in the path is shown, and the Boolean constraint language is used to describe the 'AND' tasks as follows:
Figure BDA0003279735980000032
the fourth type: boolean constrained OR tasks, using sets respectively
Figure BDA0003279735980000033
Figure BDA0003279735980000034
Figure BDA0003279735980000035
Wherein v isoIndicating the number of tasks to be selected and completed by the robot in the path, wherein the 1 st 'or' task is collected
Figure BDA0003279735980000036
In which one space is selected to complete the task, the 2 nd OR task from the set
Figure BDA0003279735980000037
To select a space to complete the task, …, voFrom a set of OR tasks
Figure BDA0003279735980000038
One space is selected to complete the task, and the ith 'or' task is described by using a Boolean constraint language as follows:
Figure BDA0003279735980000039
using all OR tasks as a set ToIs shown, i.e.
Figure BDA00032797359800000310
The fifth type: boolean constrained 'not' tasks, using sets
Figure BDA0003279735980000041
Wherein v ismRepresenting the space in the path that the robot must avoid passing, the language describing the "not" task in boolean constraints is:
Figure BDA0003279735980000042
then all tasks are described with boolean constraints as:
Figure BDA0003279735980000043
Figure BDA0003279735980000044
the third step is specifically as follows:
setting the rows and columns of all Boolean constrained 'not' tasks in the adjacency matrix to ∞, namely:
Figure BDA0003279735980000045
the fourth step is specifically as follows:
calculating the shortest moving distance between two spaces and the corresponding path by utilizing Dijkstra algorithm according to the adjacency matrix W, and calculating the secondary source point RiTo the target point RjThe flow of the shortest moving distance and path is as follows:
1) two sets S, U are created and a 1 xm all 0 matrix P is created, where S is the vertex for which the shortest path has been found, U is the vertex yet to be computed, let S Ri,U=U/(Ri∪Tm);
2) The vertex R with the minimum distance in the set UkAdding to the set S and adding RkAnd the space in which the "not" task of the Boolean constraint is located is taken out of the set U, i.e. S ═ U.Rk,U=U/Rk
3) Updating the distance of the vertex in the set U if the vertex is from the source point RiTo the vertex RhIs greater than the source point RiTo the vertex RkPlus the vertex RkTo the vertex RhA distance of, i.e. di,h>di,k+dk,hThen d is updatedi,h=di,k+dk,hAnd recording the vertex RhLast vertex R ofkI.e., p (h) ═ k;
4) if the target point R isjC, returning to the step 2) for continuing if the target point R belongs to the UjE S, output from source point RiTo the target point RjShortest moving distance di,j
5) Solving path l by backtracking method according to matrix Pi,j
Respectively calculating sets T by utilizing the Dijkstra algorithmsInnerhouse sum set (T)a∪To) Shortest moving distance between inner libraries and corresponding path, set (T)a∪To) Shortest moving distance between each of the libraries and corresponding path and set (T)a∪To) Innerhouse and collectionsTShortest travel distance and corresponding path between e-repositories, i.e. RsAnd
Figure BDA0003279735980000051
in the above-mentioned manner,
Figure BDA0003279735980000052
between the two groups of the two groups,
Figure BDA0003279735980000053
and the shortest moving distance and corresponding path between Re, and mixing them with { Ri,Rj,di,j,li,jStore it in the form of.
The fifth step is specifically as follows:
according to the task requirements of Boolean constraints, all 'AND' tasks are selected and one task in each 'OR' task is selected to form a midway task sequence, namely:
Figure BDA0003279735980000054
wherein
Figure BDA0003279735980000055
Figure BDA0003279735980000056
V is required to be completeda+voA midway task and randomly sequencing the selected tasks
Figure BDA0003279735980000057
And inserting starting point tasks R at the head and the tail respectivelySAnd end point task ReGenerating an initial sequence of tasks
Figure BDA0003279735980000058
Reading the stored data to obtain the shortest moving distance of the current task sequence
Figure BDA0003279735980000059
Figure BDA00032797359800000510
The shortest moving distance corresponds to a path of
Figure BDA00032797359800000511
Figure BDA00032797359800000512
And the following operations are carried out:
and (3) optimal task sequence: mbest=M;
Shortest moving distance of optimal task sequence: dbest=D;
The path corresponding to the shortest moving distance of the optimal task sequence is as follows: l isbest=L。
The sixth step is specifically as follows:
performing simulated annealing operation on the initial task sequence from the initial temperature
Figure BDA00032797359800000623
Start and order
Figure BDA00032797359800000622
After sufficient search at each temperature, the temperature is reduced to the next temperature by the attenuation coefficient alpha,
Figure BDA00032797359800000624
until the temperature is reduced to a termination temperature
Figure BDA00032797359800000625
In the following, the following steps were carried out,
Figure BDA00032797359800000626
the sequence of tasks at each temperature may result in three operations:
first operation, two-point swap operation:
in a task sequence
Figure BDA0003279735980000061
In randomly selecting two midway tasks
Figure BDA0003279735980000062
And
Figure BDA0003279735980000063
interchanging positions generates a new sequence of tasks, assuming i < j, i.e.:
Figure BDA0003279735980000064
Figure BDA0003279735980000065
it is to be noted that as a note,
Figure BDA0003279735980000066
the second operation, the reverse operation:
in a task sequence
Figure BDA0003279735980000067
In randomly selecting two midway tasks
Figure BDA0003279735980000068
And
Figure BDA0003279735980000069
and for tasks included in the middle
Figure BDA00032797359800000610
And
Figure BDA00032797359800000611
the sequence in the method carries out reverse operation, and if i is less than j, a new task sequence is generated, namely:
Figure BDA00032797359800000612
Figure BDA00032797359800000613
it is to be noted that as a note,
Figure BDA00032797359800000614
third, reinsertion:
randomly selecting a task set in an OR task
Figure BDA00032797359800000615
1≤k≤voAnd from task collections
Figure BDA00032797359800000616
Randomly selecting a task
Figure BDA00032797359800000617
Finding a set of tasks belonging to a task sequence M
Figure BDA00032797359800000618
Intermediate task of (2)
Figure BDA00032797359800000619
If it is not
Figure BDA00032797359800000620
And
Figure BDA00032797359800000621
same, re-slave task set
Figure BDA0003279735980000071
Randomly selecting a task
Figure BDA0003279735980000072
Up to
Figure BDA0003279735980000073
And
Figure BDA0003279735980000074
different after use
Figure BDA0003279735980000075
Instead of in task sequence M
Figure BDA0003279735980000076
Namely:
Figure BDA0003279735980000077
it is to be noted that as a note,
Figure BDA0003279735980000078
after obtaining a new task sequence M*The shortest moving distance D of the task sequence is calculated*And its corresponding path L*And the following operations are carried out:
if a new task sequence M*Better than the task sequence M, i.e. D*If < D, let: m is M*,D=D*,L=L*
In addition, e.g. new task sequences M*Than optimal task sequence MbestMore preferably, i.e. D*<DbestThen, order:
Mbest=M*,Dbest=D*,Lbest=L*
if a new task sequence M*Not better than the task sequence M, i.e. D*> D, then by probability
Figure BDA0003279735980000079
Accepting the new task sequence then orders:
M=M*,D=D*,L=L*
The seventh step specifically comprises:
when the temperature is lowered to the termination temperature
Figure BDA00032797359800000710
When the following are performed
Figure BDA00032797359800000711
Outputting the optimal task sequence MbestShortest moving distance DbestAnd its corresponding path Lbest
The invention has the beneficial effects that:
for a given global environment and task requirements based on Boolean constraints, the combination of task selection and the arrangement of task sequences have multiple possibilities, and for different task selections and task sequences, the corresponding movement distances of the robot can have great differences, so how to select tasks from the Boolean constrained tasks, how to sequence the tasks, and how to select an optimal path avoiding all obstacles among various task points are necessary. The method comprises the steps of solving and storing the shortest moving distance and the corresponding path between all possible associated task points by using an intelligent algorithm combining a Dijkstra algorithm and a simulated annealing algorithm, randomly selecting tasks meeting Boolean constraints to generate an initial task sequence, carrying out simulated annealing operation on the initial task sequence, and finally finding out the optimal task sequence, the shortest moving distance and the corresponding path; the invention has good universality, can quickly find the optimal task sequence, the shortest moving distance and the corresponding path thereof, greatly reduces the moving cost and the time cost, enlarges the application field of the robot, replaces people to complete complex work tasks, improves the automation level of production and life, and has good application prospect.
The invention has universality, not only can plan and complete the optimal path meeting the requirement of Boolean constraint task, but also can make the sum of the moving distances of the robot shortest, thereby achieving the purpose of reducing the moving cost and time consumption; and the method is also combined with an intelligent algorithm to improve the efficiency of calculation.
Drawings
FIG. 1 is a block flow diagram of the method of the present invention.
FIG. 2 is a diagram of the global environment of an embodiment robot.
Fig. 3 is a spatial ensemble diagram of an embodiment robot.
Fig. 4 is a block flow diagram of a step five simulated annealing operation.
FIG. 5 is an optimal path planning diagram for an embodiment robot.
Detailed Description
The invention is further illustrated below with reference to examples and figures.
Referring to fig. 1, a robot optimal path planning method based on boolean constraints includes the following steps:
the method comprises the following steps: dividing the global environment of the robot, and writing a space set and an adjacent matrix thereof;
as shown in fig. 2, the robot global environment of the present embodiment is divided into 28 spaces, and the sets R ═ R are used respectively1,R2,...,R28Denotes as shown in fig. 3;
the adjacency matrix W is a 28 × 8 symmetric matrix if the space RiAnd a space RjAre connected with each other and the distance between the two spaces is omegai,jWhen W (i, j) is ωi,jOtherwise, W (i, j) ∞, and W (i, i) ∞, 0, 1, 2. In this embodiment, if the distance between all adjacent spaces is 1, an adjacency matrix W may be written according to fig. 4, where W (1, 1) is 0, W (1, 3) is 1, W (2, 2) is 0, W (2, 3) is 1, W (3, 1) is 1, W (3, 2) is 1, W (3, 3) is 0, W (3, 4) is 1, W (3, 10) is 1, W (4, 3) is 1, W (4, 4) is 0, W (4, 6) is 1, W (4, 9) is 1, W (5, 5) is 0, W (5, 6) is 1, W (6, 4) is 1, W (6, 5) is 1, W (6) is 0, W (6, 7), W (6), W (7) is 1, W (7), W (8) is 8, W (8) is 0, 9) w (1, 3) is 1, W (9, 4) is 1, W (9, 8) is 1, W (9, 9) is 0, W (9, 10) is 1, W (10, 3) is 1,W(10,9)=1,W(10,10)=0,W(10,11)=1,W(10,31)=1,W(11,10)=1,W(11,11)=0,W(11,12)=1,W(12,11)=1,W(12,12)=0,W(12,13)=1,W(13,10)=1,W(13,12)=1,W(13,13)=0,W(13,14)=1,W(13,18)=1,W(13,19)=1,W(14,13)=1,W(14,14)=0,W(15,15)=0,W(15,16)=1,W(16,15)=1,W(16,16)=0,W(16,17)=1,W(16,17)=1,W(17,17)=0,W(17,18)=1,W(17,24)=1,W(18,13)=1,W(18,17)=1,W(18,18)=0,W(18,20)=1,W(18,22)=1,W(19,13)=1,W(19,19)=0,W(19,20)=1,W(20,18)=1,W(20,19)=1,W(20,20)=0,W(20,21)=1,W(21,20)=1,W(21,21)=0,W(21,22)=1,W(22,18)=1,W(22,21)=1,W(22,22)=0,W(22,23)=1,W(22,24)=1,W(22,26)=1,W(23,22)=1,W(23,23)=0,W(23,25)=1,W(24,17)=1,W(24,22)=1,W(24,24)=0,W(25,23)=1,W(25,25)=0,W(25,28)=1,W(26,22)=1,W(26,26)=0,W(26,27)=1,W(27,26)=1,W(27,27)=0,W(28,25)=1,W(28,28)=0;
step two: inputting Boolean constraint task requirements of the robot; as shown in fig. 3, the tasks are mainly divided into five types, and the five types of tasks in this embodiment are as follows:
the first type: starting task, using set Ts={R1Represents the robot from space R1Starting;
the second type: end point tasks, using set Te={R27Wherein, e is more than or equal to 1 and less than or equal to m, which indicates that the robot finally stops in the space R27
In the third category: boolean constrained AND task, with set Ta={R4,R8,R19And the number of tasks which the robot must complete in the path is 3, and the and task is described by using a Boolean constraint language: r4∧R8∧R19
The fourth type: boolean constrained OR tasks, using sets respectively
Figure BDA0003279735980000101
Figure BDA0003279735980000102
The robot has to choose to complete 3 tasks in the path, where the 1 st "or" task is from the set
Figure BDA0003279735980000103
In which one task is selected to be completed, the 2 nd "or" task is selected from the set
Figure BDA0003279735980000104
In which one task is selected to be completed, the 3 rd 'or' task is selected from the set
Figure BDA0003279735980000105
One task is selected to be completed, and the language of Boolean constraint is used for describing the 1 st 'or' task as follows: r7∨R17∨R20The language of boolean constraints describes the 2 nd "or" task as: r13∨R16∨R24The language of boolean constraints describes the 3 rd "or" task as: r11∨R22All OR tasks are used as a set ToIs shown, i.e.
Figure BDA0003279735980000111
Figure BDA0003279735980000112
The fifth type: boolean constrained 'NOT' tasks, using the set Tm={R12,R15,R21And 3 space robots in the path must avoid passing through, and the Boolean constraint language describes the 'not' task as:
Figure BDA0003279735980000113
then all tasks are described with boolean constraints as:
Figure BDA0003279735980000114
step three: updating the adjacency matrix according to task requirements;
setting the rows and columns of all Boolean constrained 'not' tasks in the adjacency matrix to ∞, namely:
W(12,:)=∞,W(:,12)=∞,W(15,:)=∞,W(:,15)=
infinity, W (21: ∞), W (: 21 ∞); namely, updating W (12, 11) ∞,
W(12,12)=∞,W(12,13)=∞,W(11,12)=∞,W(13,12)=∞,
W(15,15)=∞,W(15,16)=∞,W(16,15)=∞,W(21,20)=∞,
W(21,21)=∞,W(21,22)=∞,W(20,21)=∞,W(22,21)=∞;
step four: calculating and storing the shortest distance and the corresponding path among the tasks;
calculating the shortest moving distance between two spaces and the corresponding path by utilizing Dijkstra algorithm according to the adjacency matrix W, and calculating the secondary source point RiTo the target point RjThe flow of the shortest moving distance and path is as follows:
1) two sets S, U are created and a 1 xm all 0 matrix P is created, where S is the vertex for which the shortest path has been found, U is the vertex yet to be computed, let S Ri,U=U/(Ri∪Tm);
2) The vertex R with the minimum distance in the set UkAdding to the set S and adding RkAnd the space in which the "not" task of the Boolean constraint is located is taken out of the set U, i.e. S ═ U.Rk,U=U/Rk
3) Updating the distance of the vertex in the set U if the vertex is from the source point RiTo the vertex RhIs greater than the source point RiTo the vertex RkPlus the vertex RkTo the vertex RhA distance of, i.e. di,h>di,k+dk,hThen d is updatedi,h=di,k+dk,hAnd recording the vertex RhLast one ofVertex RkI.e., p (h) ═ k;
4) if the target point R isjC, returning to the step 2) for continuing if the target point R belongs to the UjE S, output from source point RiTo the target point RjShortest moving distance di,j
5) Solving path l by backtracking method according to matrix Pi,j
Respectively calculating sets T by utilizing the Dijkstra algorithmsInnerhouse sum set (T)a∪To) Shortest moving distance between inner libraries and corresponding path, set (T)a∪To) Shortest moving distance between each of the libraries and corresponding path and set (T)a∪To) Internal library and set TeShortest moving distance between internal stores and corresponding path, R1And
R4,R7,R8,R11,R13,R16,R17,R19,R20,R22,R24in the above-mentioned manner,
R4,R7,R8,R11,R13,R16,R17,R19,R20,R22,R24between the two groups of the two groups,
R4,R7,R8,R11,R13,R16,R17,R19,R20,R22,R24and R27The shortest moving distance between them and the corresponding path, and set it as { R }i,Rj,di,j,li,jStoring in the form of';
calculating d of the present embodiment1,4=1,l1,4={p1,p3,p4};
d1,8=4,l1,8={p1,p3,p4,p6,p8};…;
d11,27=6,l11,27={p11,p10,p13,p18,p22,p26,p27};
d22,27=2,l22,27={p22,p26,p27As shown in table 1, the following components,
TABLE 1
Figure BDA0003279735980000121
Figure BDA0003279735980000131
Figure BDA0003279735980000141
It is essential that from the source point RiTo the target point RjAnd a source point RjTo the target point RiThe shortest moving distances are the same, and the paths are in a reverse order relation, so that only one path needs to be stored;
step five: randomly generating an initial task sequence meeting the requirement of Boolean constraint task, and calculating the shortest moving distance and the corresponding path thereof;
referring to fig. 4, according to the task requirements of the boolean constraint, selecting all and tasks and selecting one task in each or task constitutes an intermediate task sequence, such as:
R4,R8,R19,R17,R13,R22wherein 6 intermediate tasks are required to be completed in total and the selected tasks are randomly ordered (e.g. R)19,R22,R13,R4,R17,R8) And inserting starting point tasks R at the head and the tail respectively1And end point task R27Generating an initial task sequence M ═ R1,R19,R22,R13,R4,R17,R8,R27D, the shortest moving distance D of the current task sequence M can be obtained by reading the stored data1,19+d19,22+d22,13+d13,4+d4,17+d17,8+d8,27The shortest moving distance corresponds to a path L of 29 ═ L1,19,l19,22,l22,13,l13,4,l4,17,l17,8,l8,27}; namely:
L={R1,R3,R10,R13,R19,R13,R18,R22,R20,R13,R10,R3,R4,R3,R10,R13,R18,R17,R18,R13,R10,R9,R8,R9,R10,R13,R18,R22,R26,R27}
and the following operations are carried out:
and (3) optimal task sequence: mbest=M;
Shortest moving distance of optimal task sequence: dbest=D;
The path corresponding to the shortest moving distance of the optimal task sequence is as follows: l isbest=L;
Step six: optimizing the initial task sequence by a simulated annealing algorithm;
performing simulated annealing operation on the initial task sequence from the initial temperature
Figure BDA0003279735980000151
Start and order
Figure BDA0003279735980000152
After sufficient search at each temperature, the temperature is reduced to the next temperature by the attenuation coefficient alpha,
Figure BDA0003279735980000153
until the temperature is reduced to a termination temperature
Figure BDA0003279735980000154
Up to the following
Figure BDA0003279735980000155
In this example, the initial temperature is taken
Figure BDA0003279735980000156
Attenuation coefficient α is 0.9, end temperature
Figure BDA0003279735980000157
Figure BDA0003279735980000158
The sequence of tasks at each temperature may result in three operations:
first operation, two-point swap operation:
in task sequence M ═ { R ═ R1,R19,R22,R13,R4,R17,R8,R27Randomly selecting two midway tasks
Figure BDA0003279735980000161
And
Figure BDA0003279735980000162
(assuming i < j) interchanging positions to generate a new sequence of tasks, assuming two midway tasks R are selected22And R17And then: m*={R1,R19,R17,R13,R4,R22,R8,R27};
The second operation, the reverse operation:
in task sequence M ═ { R ═ R1,R19,R22,R13,R4,R17,R8,R27Randomly selecting two midway tasks
Figure BDA0003279735980000163
And
Figure BDA0003279735980000164
(assume i < j) and include in-flight tasks
Figure BDA0003279735980000165
And
Figure BDA0003279735980000166
the sequence within the sequence is inverted to generate a new sequence of tasks, assuming that two intermediate tasks R are selected22And R17And then: m*={R,R19,R17,R4,R13,R22,R8,R27};
Third, reinsertion:
randomly in the OR task, k is more than or equal to 1 and less than or equal to 3, and the task set is selected
Figure BDA0003279735980000167
Randomly selecting a task
Figure BDA0003279735980000168
Assuming k is 2, the task set is followed
Figure BDA0003279735980000169
Randomly selecting a task R22In task sequence M ═ { R ═ R1,R19,R22,R13,R4,R17,R8,R27Find belonging to task set
Figure BDA00032797359800001610
Intermediate task R of22Task identity, assuming a new slave set from the task set
Figure BDA00032797359800001611
Randomly selecting a task as R16With R16Replacing R in task sequence M22Namely: m*={R1,R19,R16,R13,R4,R17,R8,R27};
After obtaining a new task sequence M*The shortest moving distance D of the task sequence is calculated*And its corresponding path L*And the following operations are carried out:
if a new task sequence M*Better than the task sequence M, i.e. D*If < D, let: m is M*,D=D*,L=L*
In addition, e.g. new task sequences M*Than optimal task sequence MbestMore preferably, i.e. D*<DbestThen, order:
Mbest=M*,Dbest=D*,Lbest=L*
if a new task sequence M*Not better than the task sequence M, i.e. D*If > D, then with a certain probability
Figure BDA0003279735980000171
Accepting this new sequence of tasks, then let:
M=M*,D=D*,L=L*
in this example, 10 searches at each temperature are considered to have been adequately searched at that temperature, and the search is performed with the temperature decaying to the next temperature;
step seven: outputting an optimal task sequence, a shortest moving distance and a corresponding path;
in this embodiment, when the temperature is lowered to the termination temperature
Figure BDA0003279735980000172
When the following are performed
Figure BDA0003279735980000173
Figure BDA0003279735980000174
Transported out by MATLAB compilerOptimal task sequence Mbest={R1,R4,R8,R13,R19,R20,R22,R27The shortest moving distance Dbest13, and its corresponding path Lbest={R1,R3,R4,R9,R8,R9,R10,R13,R19,R20,R18,R22,R26,R27As shown in fig. 5.
In this embodiment, for a given global environment and boolean constraint-based task requirements, there are a total of 3 x 2 "or" task selection cases, and for the "and" task and the selected "or" task (total of 6 tasks) permutation cases
Figure BDA0003279735980000175
Therefore, a
Figure BDA0003279735980000176
And (4) possibility. The enumeration method or the linear programming method is used for solving the problems, and a large amount of time cost is consumed, so that how to select tasks from Boolean constrained tasks, how to sort the tasks, and how to select the optimal path avoiding all obstacles among all task points are necessary. In this embodiment, a Dijkstra algorithm is combined with an intelligent algorithm of a simulated annealing algorithm, the shortest moving distance and the corresponding path between all task points are solved and stored by the Dijkstra algorithm, tasks satisfying boolean constraints are randomly selected to generate an initial task sequence, simulated annealing operation is performed on the initial task sequence, and finally, an optimal task sequence, the shortest moving distance and the corresponding path are found. In the embodiment, the optimal task sequence, the shortest moving distance and the corresponding path can be found only by taking about 4 seconds, so that the moving cost and the time cost are reduced to a greater extent. Aiming at the problems of larger scale, the method provided by the invention can still solve the problems rapidly and efficiently by using an intelligent algorithm, and has good universality.

Claims (8)

1. A robot optimal path planning method based on Boolean constraint is characterized by comprising the following steps:
the method comprises the following steps: dividing the global environment of the robot, and writing a space set and an adjacent matrix thereof;
step two: inputting Boolean constraint task requirements of the robot;
step three: updating the adjacency matrix according to task requirements;
step four: calculating and storing the shortest distance and the corresponding path among the tasks;
step five: randomly generating an initial task sequence meeting the requirement of Boolean constraint task, and calculating the shortest moving distance and the corresponding path thereof;
step six: optimizing the initial task sequence by a simulated annealing algorithm;
step seven: and outputting the optimal task sequence, the shortest moving distance and the corresponding path.
2. The Boolean constraint-based optimal path planning method for the robot according to claim 1, wherein the first step specifically comprises:
the global environment is divided into m spaces, and the set R is set to { R ═ R1,R2,...,RmRepresents;
the adjacency matrix W is an m × m symmetric matrix if the space RiAnd a space RjAre connected with each other and the distance between the two spaces is omegai,jWhen W (i, j) is ωi,jOtherwise, W (i, j) ∞, and W (i, i) ∞, i 1, 2.
3. The Boolean constraint-based optimal path planning method for the robot according to claim 2, wherein the second step specifically comprises:
tasks are divided into five categories:
the first type: starting task, using set Ts={RsWherein s is more than or equal to 1 and less than or equal to m, and the robot is indicated to be driven from the skyR issStarting;
the second type: end point tasks, using set Te={ReWherein, e is more than or equal to 1 and less than or equal to m, which indicates that the robot finally stops in the space Re
In the third category: boolean constrained AND tasks, using sets
Figure FDA0003279735970000021
Wherein v isaThe number of tasks that the robot must complete in the path is shown, and the Boolean constraint language is used to describe the 'AND' tasks as follows:
Figure FDA0003279735970000022
the fourth type: boolean constrained OR tasks, using sets respectively
Figure FDA0003279735970000023
Figure FDA0003279735970000024
Figure FDA0003279735970000025
Wherein v isoIndicating the number of tasks to be selected and completed by the robot in the path, wherein the 1 st 'or' task is collected
Figure FDA0003279735970000026
In which one space is selected to complete the task, the 2 nd OR task from the set
Figure FDA0003279735970000027
To select a space to complete the task, …, voFrom a set of OR tasks
Figure FDA0003279735970000028
One space is selected to complete the task, and the ith 'or' task is described by using a Boolean constraint language as follows:
Figure FDA0003279735970000029
using all OR tasks as a set ToIs shown, i.e.
Figure FDA00032797359700000210
The fifth type: boolean constrained 'not' tasks, using sets
Figure FDA00032797359700000211
Wherein v ismRepresenting the space in the path that the robot must avoid passing, the language describing the "not" task in boolean constraints is:
Figure FDA00032797359700000212
then all tasks are described with boolean constraints as:
Figure FDA00032797359700000213
4. the Boolean constraint-based optimal path planning method for the robot according to claim 3, wherein the third step specifically comprises:
setting the rows and columns of all Boolean constrained 'not' tasks in the adjacency matrix to ∞, namely:
Figure FDA0003279735970000031
5. the Boolean constraint-based optimal path planning method for the robot according to claim 4, wherein the fourth step specifically comprises:
calculating the shortest moving distance between two spaces and the corresponding path by utilizing Dijkstra algorithm according to the adjacency matrix W, and calculating the shortest moving distance between the two spaces and the corresponding pathSource point RiTo the target point RjThe flow of the shortest moving distance and path is as follows:
1) two sets S, U are created and a 1 xm all 0 matrix P is created, where S is the vertex for which the shortest path has been found, U is the vertex yet to be computed, let S Ri,U=U/(Ri∪Tm);
2) The vertex R with the minimum distance in the set UkAdding to the set S and adding RkAnd the space in which the "not" task of the Boolean constraint is located is taken out of the set U, i.e. S ═ U.Rk,U=U/Rk
3) Updating the distance of the vertex in the set U if the vertex is from the source point RiTo the vertex RhIs greater than the source point RiTo the vertex RkPlus the vertex RkTo the vertex RhA distance of, i.e. di,h>di,k+dk,hThen d is updatedi,h=di,k+dk,hAnd recording the vertex RhLast vertex R ofkI.e., p (h) ═ k;
4) if the target point R isjC, returning to the step 2) for continuing if the target point R belongs to the UjE S, output from source point RiTo the target point RjShortest moving distance di,j
5) Solving path l by backtracking method according to matrix Pi,j
Respectively calculating sets T by utilizing the Dijkstra algorithmsInnerhouse sum set (T)a∪To) Shortest moving distance between inner libraries and corresponding path, set (T)a∪To) Shortest moving distance between each of the libraries and corresponding path and set (T)a∪To) Internal library and set TeShortest travel distance between repositories and corresponding path, RsAnd
Figure FDA0003279735970000041
in the above-mentioned manner,
Figure FDA0003279735970000042
between the two groups of the two groups,
Figure FDA0003279735970000043
and ReThe shortest moving distance between them and the corresponding path, and set it as { R }i,Rj,di,j,li,jStore it in the form of.
6. The Boolean constraint-based optimal path planning method for the robot according to claim 5, wherein the fifth step specifically comprises:
according to the task requirements of Boolean constraints, all 'AND' tasks are selected and one task in each 'OR' task is selected to form a midway task sequence, namely:
Figure FDA0003279735970000044
wherein
Figure FDA0003279735970000045
Figure FDA0003279735970000046
V is required to be completeda+voA midway task and randomly sequencing the selected tasks
Figure FDA0003279735970000047
And inserting starting point tasks R at the head and the tail respectivelysAnd end point task ReGenerating an initial sequence of tasks
Figure FDA0003279735970000048
Reading the stored data to obtain the shortest moving distance of the current task sequence
Figure FDA0003279735970000049
Figure FDA00032797359700000410
The shortest moving distance corresponds to a path of
Figure FDA00032797359700000411
Figure FDA00032797359700000412
And the following operations are carried out:
and (3) optimal task sequence: mbest=M;
Shortest moving distance of optimal task sequence: dbest=D;
The path corresponding to the shortest moving distance of the optimal task sequence is as follows: l isbest=L。
7. The Boolean constraint-based optimal path planning method for the robot according to claim 6, wherein the sixth step specifically comprises:
performing simulated annealing operation on the initial task sequence from the initial temperature
Figure FDA0003279735970000051
Start and order
Figure FDA0003279735970000052
After sufficient search at each temperature, the temperature is reduced to the next temperature by the attenuation coefficient alpha,
Figure FDA0003279735970000053
until the temperature is reduced to a termination temperature
Figure FDA0003279735970000054
In the following, the following steps were carried out,
Figure FDA0003279735970000055
the sequence of tasks at each temperature may result in three operations:
first operation, two-point swap operation:
in task orderColumn(s) of
Figure FDA0003279735970000056
In randomly selecting two midway tasks
Figure FDA0003279735970000057
And
Figure FDA0003279735970000058
interchanging positions generates a new sequence of tasks, assuming i < j, i.e.:
Figure FDA0003279735970000059
Figure FDA00032797359700000510
it is to be noted that as a note,
Figure FDA00032797359700000511
the second operation, the reverse operation:
in a task sequence
Figure FDA00032797359700000512
In randomly selecting two midway tasks
Figure FDA00032797359700000513
And
Figure FDA00032797359700000514
and for tasks included in the middle
Figure FDA00032797359700000515
And
Figure FDA00032797359700000516
the sequence in the method carries out reverse operation, and if i is less than j, a new task sequence is generated, namely:
Figure FDA00032797359700000517
Figure FDA00032797359700000518
it is to be noted that as a note,
Figure FDA00032797359700000519
third, reinsertion:
randomly selecting a task set in an OR task
Figure FDA00032797359700000520
And from task collections
Figure FDA00032797359700000521
Randomly selecting a task
Figure FDA00032797359700000522
Finding a set of tasks belonging to a task sequence M
Figure FDA00032797359700000523
Intermediate task of (2)
Figure FDA00032797359700000524
If it is not
Figure FDA00032797359700000525
And
Figure FDA00032797359700000526
same, re-slave task set
Figure FDA00032797359700000527
Randomly selecting a task
Figure FDA00032797359700000528
Up to
Figure FDA00032797359700000529
And
Figure FDA00032797359700000530
different after use
Figure FDA00032797359700000531
Instead of in task sequence M
Figure FDA0003279735970000061
Namely:
Figure FDA0003279735970000062
it is to be noted that as a note,
Figure FDA0003279735970000063
after obtaining a new task sequence M*The shortest moving distance D of the task sequence is calculated*And its corresponding path L*And the following operations are carried out:
if a new task sequence M*Better than the task sequence M, i.e. D*If < D, let: m is M*,D=D*,L=L*
In addition, e.g. new task sequences M*Than optimal task sequence MbestMore preferably, i.e. D*<DbestThen, order:
Mbest=M*,Dbest=D*,Lbest=L*
if a new task sequence M*Not better than the task sequence M, i.e. D*> D, then by probability
Figure FDA0003279735970000064
Accepting this new sequence of tasks, then let:
M=M*,D=D*,L=L*
8. the Boolean constraint-based optimal path planning method for the robot according to claim 7, wherein the seventh step specifically comprises:
when the temperature is lowered to the termination temperature
Figure FDA0003279735970000065
When the following are performed
Figure FDA0003279735970000066
Outputting the optimal task sequence MbestShortest moving distance DbestAnd its corresponding path Lbest
CN202111128776.8A 2021-09-26 2021-09-26 Robot optimal path planning method based on Boolean constraint Active CN113819919B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111128776.8A CN113819919B (en) 2021-09-26 2021-09-26 Robot optimal path planning method based on Boolean constraint

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111128776.8A CN113819919B (en) 2021-09-26 2021-09-26 Robot optimal path planning method based on Boolean constraint

Publications (2)

Publication Number Publication Date
CN113819919A true CN113819919A (en) 2021-12-21
CN113819919B CN113819919B (en) 2022-07-01

Family

ID=78921372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111128776.8A Active CN113819919B (en) 2021-09-26 2021-09-26 Robot optimal path planning method based on Boolean constraint

Country Status (1)

Country Link
CN (1) CN113819919B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075596A (en) * 2023-05-24 2023-11-17 陕西科技大学 Method and system for planning complex task path of robot under uncertain environment and motion

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196858A (en) * 2017-07-04 2017-09-22 西安理工大学 A kind of k solving the shortest path methods for considering polymorphic type constraint
US20180341894A1 (en) * 2017-05-24 2018-11-29 Telespazio S.P.A. Innovative satellite scheduling method based on genetic algorithms and simulated annealing and related mission planner
CN109141430A (en) * 2018-09-04 2019-01-04 南京理工大学 Electric inspection process robot path planning method based on simulated annealing ant group algorithm
LU102400A1 (en) * 2019-08-06 2021-02-09 Nanjing Seawolf Ocean Tech Co Ltd Path planning method and system for unmanned surface vehicle based on improved genetic algorithm
CN112951399A (en) * 2021-03-31 2021-06-11 广东医通软件有限公司 Intelligent scheduling method and scheduling system
CN112965500A (en) * 2021-03-27 2021-06-15 同济大学 Path planning method and device with must-pass point set and additional hard constraints

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180341894A1 (en) * 2017-05-24 2018-11-29 Telespazio S.P.A. Innovative satellite scheduling method based on genetic algorithms and simulated annealing and related mission planner
CN107196858A (en) * 2017-07-04 2017-09-22 西安理工大学 A kind of k solving the shortest path methods for considering polymorphic type constraint
CN109141430A (en) * 2018-09-04 2019-01-04 南京理工大学 Electric inspection process robot path planning method based on simulated annealing ant group algorithm
LU102400A1 (en) * 2019-08-06 2021-02-09 Nanjing Seawolf Ocean Tech Co Ltd Path planning method and system for unmanned surface vehicle based on improved genetic algorithm
CN112965500A (en) * 2021-03-27 2021-06-15 同济大学 Path planning method and device with must-pass point set and additional hard constraints
CN112951399A (en) * 2021-03-31 2021-06-11 广东医通软件有限公司 Intelligent scheduling method and scheduling system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LIN, BL,ET AL.: "Integrating traffic routing optimization and train formation plan using simulated annealing algorithm", 《APPLIED MATHEMATICAL MODELLING》 *
方惠蓉: "基于遗传模拟退火算法的移动机器人路径规划", 《漳州职业技术学院学报》 *
李东等: "必经节点集约束型无环最短路径算法研究", 《杭州电子科技大学学报(自然科学版)》 *
王强等: "节点约束型链路分离算法", 《计算机工程与设计》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075596A (en) * 2023-05-24 2023-11-17 陕西科技大学 Method and system for planning complex task path of robot under uncertain environment and motion
CN117075596B (en) * 2023-05-24 2024-04-26 陕西科技大学 Method and system for planning complex task path of robot under uncertain environment and motion

Also Published As

Publication number Publication date
CN113819919B (en) 2022-07-01

Similar Documents

Publication Publication Date Title
CN109542103B (en) Robot welding path planning method based on firework particle swarm algorithm
CN110632907B (en) Scheduling optimization method and system for distributed assembly type replacement flow shop
Rossi et al. Integration of hybrid additive/subtractive manufacturing planning and scheduling by metaheuristics
CN111611274A (en) Database query optimization method and system
CN110802601A (en) Robot path planning method based on fruit fly optimization algorithm
Abdelwahed et al. Solving the motion planning problem using learning experience through case-based reasoning and machine learning algorithms
CN113819919B (en) Robot optimal path planning method based on Boolean constraint
Tseng Guided genetic algorithms for solving a larger constraint assembly problem
CN108446814B (en) Tree searching method and device for same-sequence assembly line workshop scheduling problem
CN109991950A (en) The balance ameliorative way of cooperation robotic asssembly production line based on genetic algorithm
Zhang et al. Robot path planning based on genetic algorithm with hybrid initialization method
Wang et al. Non-productive time optimization for 5-axis EDM drilling using HVNTS algorithm
Barkat Ullah et al. AMA: a new approach for solving constrained real-valued optimization problems
CN116907490A (en) Multi-robot path planning method based on conflict search
Jiang et al. A control system of rail-guided vehicle assisted by transdifferentiation strategy of lower organisms
Ab Rashid et al. A novel Tiki-Taka algorithm to optimize hybrid flow shop scheduling with energy consumption
Bahubalendruni Computer aided optimal robotic assembly sequence generation
CN114742593A (en) Logistics storage center optimal site selection method and system
Zhang et al. A Robot Spraying Path Planning Method for the Digital Camouflage Pattern
CN113792494A (en) Multi-target flexible job shop scheduling method based on migrating bird group algorithm and cross fusion
CN117215275B (en) Large-scale dynamic double-effect scheduling method for flexible workshop based on genetic programming
CN102750460A (en) Operational method of layering simplifying large-scale graph data
Chou et al. Niche Genetic Algorithm for Solving Multiplicity Problems in Genetic Association Studies.
Kusuma et al. Enriched Coati Osprey Algorithm: A Swarm-based Metaheuristic and Its Sensitivity Evaluation of Its Strategy.
Bi et al. Multiple factors collaborative optimisation of intelligent storage system

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