CN116048075A - Path planning method and device for robot cluster - Google Patents

Path planning method and device for robot cluster Download PDF

Info

Publication number
CN116048075A
CN116048075A CN202211710976.9A CN202211710976A CN116048075A CN 116048075 A CN116048075 A CN 116048075A CN 202211710976 A CN202211710976 A CN 202211710976A CN 116048075 A CN116048075 A CN 116048075A
Authority
CN
China
Prior art keywords
robot
planned
service
ith
cluster
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.)
Pending
Application number
CN202211710976.9A
Other languages
Chinese (zh)
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.)
Aobo Jiangsu Robot Co ltd
Original Assignee
Aobo Jiangsu Robot Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aobo Jiangsu Robot Co ltd filed Critical Aobo Jiangsu Robot Co ltd
Priority to CN202211710976.9A priority Critical patent/CN116048075A/en
Publication of CN116048075A publication Critical patent/CN116048075A/en
Pending legal-status Critical Current

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/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

The invention provides a path planning method and a path planning device for a robot cluster, wherein the method comprises the following steps: s1, acquiring an environment map of a robot cluster working scene; s2, starting timing of total planning time, entering a round of path planning circulation, and executing steps S3 to S7 in the round of path planning circulation; s3, acquiring position data of each robot in the robot cluster; s4, task allocation is carried out on the robot clusters so as to determine N robots to be planned with service targets; s5, selecting an ith robot to be planned, and adding robots except the robot to be planned to an environment map as obstacles; s6, setting a dynamic target point for the ith robot to be planned based on the updated environment map, and planning a path of the robot to be planned; s7, after path planning of N robots to be planned is completed, waiting for a first preset time, and returning to the step S3; and S8, ending the path planning cycle when the total planning time reaches the second preset time.

Description

Path planning method and device for robot cluster
Technical Field
The invention relates to the technical field of robot control, in particular to a path planning method and a path planning device for a robot cluster.
Background
With the development of technologies such as machine vision, automatic control and artificial intelligence, robot application technologies have also made great progress. At present, robots are applied to various occasions, and the purposes of saving manpower, improving working efficiency, avoiding danger of manual operation and the like are achieved. Especially, the robot cluster technology further improves the working efficiency through simultaneous work or cooperative work of multiple robots.
The control of the robot cluster involves the problem of path planning for a plurality of robots, by means of which obstacle avoidance and as fast as possible reaching of the target position of the robot during travel can be achieved. However, at present, when path planning is performed on a plurality of robots in a robot cluster, some planning modes can avoid collision between the robots and obstacles in a working environment, but it is difficult to avoid collision between the robots and other robots; other planning modes design a traffic control strategy in a targeted manner, set a traffic control area, and restrict the advancing rule of each robot by using complex traffic rules, which obviously greatly increases the planning difficulty, and after the working environment of the robot or the state of part of robots changes due to faults and other reasons, the established traffic control strategy can fail, and needs to consume a great deal of time and calculation force again to redesign.
In addition, the running efficiency of the robot is low and the time consumption is long in the current robot path planning mode.
Disclosure of Invention
The invention provides a path planning method and a path planning device for a robot cluster, which can effectively prevent the robots from collision and ensure the safe and stable operation of the robot cluster; the method has the advantages of no need of designing complex traffic control strategies, simplicity, convenience, easiness in implementation and wide applicability; the running efficiency of the robot can be improved, and the running time of the robot can be shortened.
The technical scheme adopted by the invention is as follows:
a path planning method of a robot cluster comprises the following steps: s1, acquiring an environment map of the robot cluster working scene, wherein the environment map comprises information of obstacles in the robot cluster working scene; s2, starting timing of total planning time, entering a round of path planning circulation, and executing steps S3 to S7 in the round of path planning circulation; s3, acquiring position data of each robot in the robot cluster; s4, performing task allocation on the robot cluster to determine N robots to be planned, which have service targets, in the robot cluster, wherein the N robots to be planned are in one-to-one correspondence with the N service targets, and N is an integer greater than 1; s5, selecting an ith robot to be planned, and adding all robots except the ith robot to be planned in the robot cluster into the environment map as barriers to update the environment map, wherein i is more than or equal to 1 and less than or equal to N, and i is an integer; s6, setting a dynamic target point for the ith robot to be planned based on the updated environment map, planning a path from the current position to the dynamic target point for the ith robot to be planned, and controlling the ith robot to be planned to drive to the dynamic target point along the planned path, wherein the dynamic target point is on a line segment taking the current position of the ith robot to be planned and the position of a service target corresponding to the ith robot to be planned as two endpoints; s7, executing steps S5 to S6 on the N robots to be planned until the path planning of the N robots to be planned is completed, waiting for a first preset time, and returning to step S3 to enter a next path planning cycle; and S8, ending the path planning cycle when the total planning time reaches a second preset time.
Each robot in the robot cluster is connected to a central node, through which steps S1 to S8 are performed.
The step S4 specifically comprises the following steps: constructing a cost function, wherein the cost function aims at minimizing total spending time from robots in the robot cluster to a service target; and solving the cost function under a preset constraint condition to determine the corresponding relation between the N robots to be planned and the N service targets.
When the number of robots in the robot cluster is smaller than or equal to the number of service targets in the robot cluster working scene, the preset constraint condition includes: each robot must serve one service target, each robot can only serve one service target, the state of each robot can only be out of service or service, and each service target can only require one robot to provide service; when the number of robots in the robot cluster is greater than the number of service targets in the robot cluster working scene, the preset constraint condition includes: each robot can serve at most one service target, the state of each robot can only be not served or served, and each service target can only require one robot to provide service.
The step S3 of setting the dynamic target point for the ith robot to be planned in step S6 includes: setting a dynamic target distance; acquiring the current coordinate of the ith robot to be planned; acquiring coordinates of a service target corresponding to the ith robot to be planned; calculating the total distance between the ith robot to be planned and a service target of the ith robot to be planned; according to the ratio between the dynamic target distance and the total distance; and calculating the coordinates of the dynamic target point according to the proportion, the current coordinates of the ith robot to be planned and the coordinates of the service target corresponding to the ith robot to be planned, so as to take the dynamic target point as the running target of the ith robot to be planned at the current moment.
The path planning device of the robot cluster comprises a first acquisition module, a timing module, a second acquisition module, an allocation module, an updating module and a planning module, wherein the first acquisition module is used for acquiring an environment map of a working scene of the robot cluster, and the environment map comprises information of obstacles in the working scene of the robot cluster; the timing module is used for starting timing of the total planning time, entering a round of path planning cycle after starting timing of the total planning time, and in the round of path planning cycle: acquiring position data of each robot in the robot cluster through the second acquisition module; task allocation is carried out on the robot cluster through the allocation module so as to determine N robots to be planned, which have service targets, in the robot cluster, wherein the N robots to be planned are in one-to-one correspondence with the N service targets, and N is an integer greater than 1; selecting an ith robot to be planned through the updating module, and adding all robots except the ith robot to be planned in the robot cluster into the environment map as barriers to update the environment map, wherein i is more than or equal to 1 and less than or equal to N, and i is an integer; setting a dynamic target point for the ith robot to be planned based on the updated environment map by the planning module, planning a path from the current position to the dynamic target point for the ith robot to be planned, and controlling the ith robot to be planned to drive to the dynamic target point along a planned path, wherein the dynamic target point is on a line segment taking the current position of the ith robot to be planned and the position of a service target corresponding to the ith robot to be planned as two endpoints, after finishing path planning of N robots to be planned by the updating module and the planning module, waiting for a first preset time, entering a next round of path planning cycle, and ending the path planning cycle when the total planning time reaches a second preset time.
Each robot in the robot cluster is connected with a central node, and the first acquisition module, the timing module, the second acquisition module, the distribution module, the updating module and the planning module are integrally arranged in the central node.
The distribution module is specifically configured to: constructing a cost function, wherein the cost function aims at minimizing total spending time from robots in the robot cluster to a service target; and solving the cost function under a preset constraint condition to determine the corresponding relation between the N robots to be planned and the N service targets.
When the number of robots in the robot cluster is smaller than or equal to the number of service targets in the robot cluster working scene, the preset constraint condition includes: each robot must serve one service target, each robot can only serve one service target, the state of each robot can only be out of service or service, and each service target can only require one robot to provide service; when the number of robots in the robot cluster is greater than the number of service targets in the robot cluster working scene, the preset constraint condition includes: each robot can serve at most one service target, the state of each robot can only be not served or served, and each service target can only require one robot to provide service.
The position data acquired by the second acquisition module are coordinates, and the setting of the dynamic target point for the ith robot to be planned by the planning module specifically comprises: setting a dynamic target distance; acquiring the current coordinate of the ith robot to be planned; acquiring coordinates of a service target corresponding to the ith robot to be planned; calculating the total distance between the ith robot to be planned and a service target of the ith robot to be planned; according to the ratio between the dynamic target distance and the total distance; and calculating the coordinates of the dynamic target point according to the proportion, the current coordinates of the ith robot to be planned and the coordinates of the service target corresponding to the ith robot to be planned, so as to take the dynamic target point as the running target of the ith robot to be planned at the current moment.
The invention has the beneficial effects that:
according to the invention, other robots are used as barriers to update the map, and the robots are subjected to path planning one by one and round by round according to a dynamic target point method, so that collision among the robots can be effectively prevented, and the safe and stable operation of the robot clusters is ensured; the method has the advantages of no need of designing complex traffic control strategies, simplicity, convenience, easiness in implementation and wide applicability; the running efficiency of the robot can be improved, and the running time of the robot can be shortened.
Drawings
Fig. 1 is a flowchart of a path planning method of a robot cluster according to an embodiment of the present invention;
fig. 2 is a block diagram of a path planning apparatus for a robot cluster according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
As shown in fig. 1, the path planning method of the robot cluster according to the embodiment of the invention includes the following steps:
s1, acquiring an environment map of a robot cluster working scene, wherein the environment map comprises information of obstacles in the robot cluster working scene.
The working scene of the robot cluster in the embodiment of the invention can be an industrial scene or a non-industrial scene. For example, in an industrial scenario, the robot cluster may be a cluster formed by a plurality of AGVs including mechanical arms, and the service targets in the scenario may be numerically controlled machine tools, so as to implement loading and unloading operations of the corresponding numerically controlled machine tools through the AGVs. In a non-industrial scenario, the robot cluster may be a cluster composed of a plurality of robots having a function of carrying blood collection tubes, and the service target in the scenario may be blood detection devices, through which the blood collection tubes are placed to the corresponding blood detection devices.
In one embodiment of the invention, each robot in the robot cluster is connected to a central node, through which steps S1 to S8 can be performed.
An environment map of the robot cluster work scene may be stored in the central node, the environment map including information of obstacles in all environments, such as walls, tables, machine stations, etc., but not including information of robots.
S2, starting timing of the total planning time, and entering a round of path planning circulation. Steps S3 to S7 are performed in a round of path planning cycles.
The timer is started when the first round of path planning cycle is started.
S3, acquiring position data of each robot in the robot cluster.
In one embodiment of the invention, the location data is coordinates. The central node may continually send coordinate requests to each robot in the cluster of robots, each robot sending its own real-time coordinates to the central node after receiving the requests.
S4, task allocation is carried out on the robot cluster to determine N robots to be planned with service targets in the robot cluster. The N robots to be planned are in one-to-one correspondence with N service targets, and N is an integer greater than 1.
The task allocation performed on the robot cluster refers to determining a service target of a robot in the robot cluster, so that path planning is performed for the robot to finally travel to the service target, and therefore, in the embodiment of the invention, the robot with the service target is called a robot to be planned.
In particular, a cost function may be constructed, wherein the cost function targets a minimum total time spent by robots in the robot cluster to service targets. And then solving a cost function under a preset constraint condition to determine the corresponding relation between the N robots to be planned and the N service targets.
When the number of robots in the robot cluster is smaller than or equal to the number of service targets in the robot cluster working scene, the preset constraint conditions include: each robot must service one service object, each robot can only service one service object, the state of each robot can only be out of service or service, each service object can only require one robot to provide service. When the number of robots in the robot cluster is greater than the number of service targets in the robot cluster working scene, the preset constraint conditions include: each robot can serve at most one service target, the state of each robot can only be not served or served, and each service target can only require one robot to provide service.
That is, in the embodiment of the present invention, different task allocation algorithms are executed for different situations of the relationship between the number of robots and the number of service targets.
In one particular embodiment of the invention, for scenario 1: the number of robots in the robot cluster is less than or equal to the number of service targets in the robot cluster working scene, and the task allocation algorithm 1 is used. The task allocation algorithm 1 uses an integer programming method to construct the following integer programming problem:
min u(x)=c T x
wherein u (x) is a cost function, x represents a robot state, and is a vector, and the form is as follows:
Figure BDA0004026156710000071
wherein, the liquid crystal display device comprises a liquid crystal display device,
Figure BDA0004026156710000072
where nT denotes the number of the service target, and nR denotes the number of the robot.
Each element in the robot state
Figure BDA0004026156710000073
Representing the state of robot nR for service target nT, the embodiment of the present invention uses two state values to describe the state, 0 and 1, respectively:
Figure BDA0004026156710000074
wherein, the liquid crystal display device comprises a liquid crystal display device,
Figure BDA0004026156710000075
indicating that robot nR is not serving for service target nT,/>
Figure BDA0004026156710000076
Indicating that the robot nR serves the service target nT.
c is a time matrix describing robot n R Reaching the service target n T Time spent, matrix size N T ×N R Row, column 1, as follows:
Figure BDA0004026156710000081
wherein, the liquid crystal display device comprises a liquid crystal display device,
Figure BDA0004026156710000082
indicating that the time for the robot to reach the service target is positive.
The constraint in task allocation algorithm 1 consists of four parts.
The first partial constraint means that each robot must serve one service objective as follows:
Figure BDA0004026156710000083
...
Figure BDA0004026156710000084
wherein N is R ={0,...,N R -1}, representing a set of all robot numbers; n (N) T ={0,...,N T -1}, representing a set of all service object numbers.
The second partial constraint refers to each robot being able to service only one service objective, as follows:
Figure BDA0004026156710000085
...
Figure BDA0004026156710000086
the third partial constraint refers to the state of each robot being either only 0 or 1, as follows:
Figure BDA0004026156710000087
/>
the fourth part refers to that each service target can only require one robot to provide service, as follows:
Figure BDA0004026156710000088
...
Figure BDA0004026156710000089
for scenario 2: the number of robots in the robot cluster is greater than the number of service targets in the robot cluster work scenario, using task allocation algorithm 2. The task allocation algorithm 2 also uses an integer programming method to construct the following integer programming problem:
min u(x)=c T x
i.e. the form of the cost function u (x) is exactly the same as the task allocation algorithm 1.
The constraint in the task allocation algorithm 2 consists of three parts.
The first partial constraint refers to each robot being able to serve at most one service objective, as follows:
Figure BDA0004026156710000091
...
Figure BDA0004026156710000092
the second partial constraint means that the state of each robot can only be 0 or 1, as follows:
Figure BDA0004026156710000093
the third part refers to that each service target can only require one robot to provide service, as follows:
Figure BDA0004026156710000094
...
Figure BDA0004026156710000095
S5, selecting an ith robot to be planned, and adding all robots except the ith robot to be planned in the robot cluster to the environment map as obstacles so as to update the environment map. Wherein i is more than or equal to 1 and less than or equal to N, and i is an integer.
S6, setting a dynamic target point for the ith robot to be planned based on the updated environment map, planning a path from the current position to the dynamic target point for the ith robot to be planned, and controlling the ith robot to be planned to drive to the dynamic target point along the planned path. The dynamic target point is on a line segment taking the current position of the ith robot to be planned and the position of the service target corresponding to the ith robot to be planned as two endpoints.
In the related art, the target point refers to a final position of the robot, that is, a position where the robot works at a position where the robot reaches the service target. In the related art, the target point setting mode is a fixed target point method, wherein the fixed target point method refers to that the target point is kept unchanged in one task of the robot, and the target point always represents the position of the robot when the service target works. The disadvantage of this approach is that the robot is inefficient to travel and time consuming. The reason for this disadvantage is that the position of the robot cluster is constantly changing, resulting in the need to constantly modify the path of the robot during the driving. Especially in a narrow channel scenario, the robot may pass through the channel at random, resulting in both states of patency and blockage of the channel in the time sequence, and the two states may alternate irregularly. For the robot going through the channel, if the current channel state is blocking, the robot searches a more distant path to reach the target point; if the current channel state is clear, the robot will pass through this channel to reach the target point.
Aiming at the defects of the fixed target point method, the embodiment of the invention provides a dynamic target point method, namely, the target point is not fixed any more, and a position which can be effectively reached in a short period is set according to the current state of the robot. The purpose of guiding the robot to run is achieved by continuously updating the dynamic target point. In the dynamic target point method, the selection process of the dynamic target point of the ith robot to be planned is as follows: setting a dynamic target distance l d The method comprises the steps of carrying out a first treatment on the surface of the Acquiring current coordinates of an ith robot to be planned
Figure BDA0004026156710000101
Acquiring coordinates of a service target corresponding to an ith robot to be planned>
Figure BDA0004026156710000102
Calculating the total distance between the ith robot to be planned and the service target +.>
Figure BDA0004026156710000103
According to the ratio between the dynamic target distance and the total distance ∈ ->
Figure BDA0004026156710000104
Calculating the coordinate of the dynamic target point according to the proportion, the current coordinate of the ith robot to be planned and the coordinate of the service target corresponding to the ith robot to be planned +.>
Figure BDA0004026156710000105
To +.>
Figure BDA0004026156710000106
As a driving target of the ith robot to be planned at the current moment.
In one embodiment of the invention, the dynamic target distance l d Can be set manually, for example, the dynamic target distance l is set according to the size of the working environment d 10cm or 1m, etc. It will be appreciated that when the ith robot to be planned is total to its service targets When the distance is smaller than or equal to the distance of the dynamic target, the position of the service target corresponding to the ith robot to be planned can be directly used as the dynamic target point.
And S7, executing steps S5 to S6 on the N robots to be planned until the path planning of the N robots to be planned is completed, waiting for a first preset time, and returning to step S3 to enter a next path planning cycle.
The first preset time may be set manually, for example, may be 1s or 10 s. It should be understood that the shorter the first preset time, the better the path of the robot cluster, but the larger the calculation amount, so the actual situations such as the quality requirement for the path control of the robot cluster and the calculation capability of the central node can be combined.
And S8, ending the path planning cycle when the total planning time reaches the second preset time.
The second preset time may be set manually, for example, may be 2h. Generally, the path planning and the driving control of each robot to be planned to the service target of the robot are enough to be completed within the second preset time set by people. Therefore, when the counted time reaches the second preset time, the path planning loop of the steps S3 to S7 can be ended.
According to the path planning method of the robot cluster, the robots are planned one by one and one by the wheel according to the dynamic target point method by taking other robots as barriers to update the map, so that collision among the robots can be effectively prevented, and safe and stable operation of the robot cluster is ensured; the method has the advantages of no need of designing complex traffic control strategies, simplicity, convenience, easiness in implementation and wide applicability; the running efficiency of the robot can be improved, and the running time of the robot can be shortened.
The invention also provides a path planning device of the robot cluster corresponding to the path planning method of the robot cluster.
As shown in fig. 2, the path planning apparatus for a robot cluster according to the embodiment of the present invention includes a first acquisition module 10, a timing module 20, a second acquisition module 30, an allocation module 40, an update module 50, and a planning module 60.
The first obtaining module 10 is configured to obtain an environment map of a robot cluster working scene, where the environment map includes information of obstacles in the robot cluster working scene; the timing module 20 is used to start timing of the total planning time. After starting the timing of the total planning time, a round of path planning cycle is entered, in which: acquiring position data of each robot in the robot cluster through a second acquisition module 30; task allocation is performed on the robot cluster through the allocation module 40 to determine N robots to be planned with service targets in the robot cluster, wherein the N robots to be planned are in one-to-one correspondence with the N service targets, and N is an integer greater than 1; selecting an ith robot to be planned through an updating module 50, and adding all robots except the ith robot to be planned in the robot cluster into an environment map as barriers to update the environment map, wherein i is more than or equal to 1 and less than or equal to N, and i is an integer; setting a dynamic target point for the ith robot to be planned based on the updated environment map through the planning module 60, planning a path from the current position to the dynamic target point for the ith robot to be planned, and controlling the ith robot to be planned to drive to the dynamic target point along the planned path, wherein the dynamic target point is on a line segment taking the current position of the ith robot to be planned and the position of a service target corresponding to the ith robot to be planned as two endpoints. After the path planning of the N robots to be planned is completed through the updating module 50 and the planning module 60, waiting for a first preset time, entering a next path planning cycle, and ending the path planning cycle when the total planning time reaches a second preset time.
The working scene of the robot cluster in the embodiment of the invention can be an industrial scene or a non-industrial scene. For example, in an industrial scenario, the robot cluster may be a cluster formed by a plurality of AGVs including mechanical arms, and the service targets in the scenario may be numerically controlled machine tools, so as to implement loading and unloading operations of the corresponding numerically controlled machine tools through the AGVs. In a non-industrial scenario, the robot cluster may be a cluster composed of a plurality of robots having a function of carrying blood collection tubes, and the service target in the scenario may be blood detection devices, through which the blood collection tubes are placed to the corresponding blood detection devices.
In one embodiment of the invention, each robot of the robot cluster is connected to a central node, in which the first acquisition module 10, the timing module 20, the second acquisition module 30, the allocation module 40, the update module 50 and the planning module 60 are integrally arranged.
An environment map of the robot cluster work scene may be stored in the central node, the environment map including information of obstacles in all environments, such as walls, tables, machine stations, etc., but not including information of robots.
The timing module 20 begins timing when the first round of path planning cycle begins.
In one embodiment of the invention, the location data is coordinates. The second acquisition module 30 may continuously send a coordinate request to each robot in the cluster of robots, each robot sending its own real-time coordinates to the second acquisition module 30 after receiving the request.
The task allocation performed on the robot cluster refers to determining a service target of a robot in the robot cluster, so that path planning is performed for the robot to finally travel to the service target, and therefore, in the embodiment of the invention, the robot with the service target is called a robot to be planned.
The assignment module 40 may specifically construct a cost function, wherein the cost function targets a minimum total time spent by robots in the robot cluster to service targets. And then solving a cost function under a preset constraint condition to determine the corresponding relation between the N robots to be planned and the N service targets.
When the number of robots in the robot cluster is smaller than or equal to the number of service targets in the robot cluster working scene, the preset constraint conditions include: each robot must service one service object, each robot can only service one service object, the state of each robot can only be out of service or service, each service object can only require one robot to provide service. When the number of robots in the robot cluster is greater than the number of service targets in the robot cluster working scene, the preset constraint conditions include: each robot can serve at most one service target, the state of each robot can only be not served or served, and each service target can only require one robot to provide service.
That is, the allocation module 40 in the embodiment of the present invention executes different task allocation algorithms for different situations of the relationship between the number of robots and the number of service targets.
In one particular embodiment of the invention, for scenario 1: the number of robots in the robot cluster is less than or equal to the number of service targets in the robot cluster work scenario, and the assignment module 40 uses the task assignment algorithm 1. The task allocation algorithm 1 uses an integer programming method to construct the following integer programming problem:
min u(x)=c T x
wherein u (x) is a cost function, x represents a robot state, and is a vector, and the form is as follows:
Figure BDA0004026156710000141
wherein, the liquid crystal display device comprises a liquid crystal display device,
Figure BDA0004026156710000142
where nT denotes the number of the service target, and nR denotes the number of the robot.
Each element in the robot state
Figure BDA0004026156710000143
Representing the state of robot nR for service target nT, the embodiment of the present invention uses two state values to describe the state, 0 and 1, respectively:
Figure BDA0004026156710000144
wherein, the liquid crystal display device comprises a liquid crystal display device,
Figure BDA0004026156710000145
indicating that robot nR is not serving for service target nT,/>
Figure BDA0004026156710000146
Indicating that the robot nR serves the service target nT.
c is a time matrix describing robot n R Reaching the service target n T Time spent, matrix size N T ×N R Row, column 1, as follows:
Figure BDA0004026156710000147
wherein, the liquid crystal display device comprises a liquid crystal display device,
Figure BDA0004026156710000148
Indicating that the time for the robot to reach the service target is positive.
The constraint in task allocation algorithm 1 consists of four parts.
The first partial constraint means that each robot must serve one service objective as follows:
Figure BDA0004026156710000149
...
Figure BDA00040261567100001410
wherein N is R ={0,...,N R -1}, representing a set of all robot numbers; n (N) T ={0,...,N T -1}, representing a set of all service object numbers.
The second partial constraint refers to each robot being able to service only one service objective, as follows:
Figure BDA0004026156710000151
...
Figure BDA0004026156710000152
the third partial constraint refers to the state of each robot being either only 0 or 1, as follows:
Figure BDA0004026156710000153
the fourth part refers to that each service target can only require one robot to provide service, as follows:
Figure BDA0004026156710000154
...
Figure BDA0004026156710000155
for scenario 2: the number of robots in the robot cluster is greater than the number of service targets in the robot cluster work scenario and the assignment module 40 uses the task assignment algorithm 2. The task allocation algorithm 2 also uses an integer programming method to construct the following integer programming problem:
min u(x)=c T x
i.e. the form of the cost function u (x) is exactly the same as the task allocation algorithm 1.
The constraint in the task allocation algorithm 2 consists of three parts.
The first partial constraint refers to each robot being able to serve at most one service objective, as follows:
Figure BDA0004026156710000156
...
Figure BDA0004026156710000157
the second partial constraint means that the state of each robot can only be 0 or 1, as follows:
Figure BDA0004026156710000158
The third part refers to that each service target can only require one robot to provide service, as follows:
Figure BDA0004026156710000161
...
Figure BDA0004026156710000162
in the related art, the target point refers to a final position of the robot, that is, a position where the robot works at a position where the robot reaches the service target. In the related art, the target point setting mode is a fixed target point method, wherein the fixed target point method refers to that the target point is kept unchanged in one task of the robot, and the target point always represents the position of the robot when the service target works. The disadvantage of this approach is that the robot is inefficient to travel and time consuming. The reason for this disadvantage is that the position of the robot cluster is constantly changing, resulting in the need to constantly modify the path of the robot during the driving. Especially in a narrow channel scenario, the robot may pass through the channel at random, resulting in both states of patency and blockage of the channel in the time sequence, and the two states may alternate irregularly. For the robot going through the channel, if the current channel state is blocking, the robot searches a more distant path to reach the target point; if the current channel state is clear, the robot will pass through this channel to reach the target point.
Aiming at the defects of the fixed target point method, the embodiment of the invention provides a dynamic target point method, namely, the target point is not fixed any more, and a position which can be effectively reached in a short period is set according to the current state of the robot. The purpose of guiding the robot to run is achieved by continuously updating the dynamic target point. In the dynamic target point method, the planning module 60 sets a dynamic target point for the ith robot to be planned specifically includes: setting a dynamic target distance l d The method comprises the steps of carrying out a first treatment on the surface of the Acquiring current coordinates of an ith robot to be planned
Figure BDA0004026156710000163
Acquiring coordinates of a service target corresponding to an ith robot to be planned>
Figure BDA0004026156710000164
Calculating the total distance between the ith robot to be planned and the service target +.>
Figure BDA0004026156710000165
According to the ratio between the dynamic target distance and the total distance ∈ ->
Figure BDA0004026156710000166
Calculating the coordinate of the dynamic target point according to the proportion, the current coordinate of the ith robot to be planned and the coordinate of the service target corresponding to the ith robot to be planned +.>
Figure BDA0004026156710000167
To +.>
Figure BDA0004026156710000168
As a driving target of the ith robot to be planned at the current moment.
In one embodiment of the invention, the dynamic target distance l d Can be set manually, for example, the dynamic target distance l is set according to the size of the working environment d 10cm or 1m, etc. It should be appreciated that, when the total distance between the ith robot to be planned and its serving target is less than or equal to the dynamic target distance, The position of the service target corresponding to the ith robot to be planned can be directly used as a dynamic target point.
The first preset time may be set manually, for example, may be 1s or 10 s. It should be understood that the shorter the first preset time, the better the path of the robot cluster, but the larger the calculation amount, so the actual situations such as the quality requirement for the path control of the robot cluster and the calculation capability of the central node can be combined.
The second preset time may be set manually, for example, may be 2h. Generally, the path planning and the driving control of each robot to be planned to the service target of the robot are enough to be completed within the second preset time set by people. Therefore, when the counted time reaches the second preset time, the path planning cycle can be ended.
According to the path planning device for the robot clusters, disclosed by the embodiment of the invention, the robots are planned one by one and wheel by wheel according to a dynamic target point method by updating the map by taking other robots as barriers, so that collision among the robots can be effectively prevented, and safe and stable operation of the robot clusters is ensured; the method has the advantages of no need of designing complex traffic control strategies, simplicity, convenience, easiness in implementation and wide applicability; the running efficiency of the robot can be improved, and the running time of the robot can be shortened.
In the description of the present invention, the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. The meaning of "a plurality of" is two or more, unless specifically defined otherwise.
In the present invention, unless explicitly specified and limited otherwise, the terms "mounted," "connected," "secured," and the like are to be construed broadly, and may be, for example, fixedly connected, detachably connected, or integrally formed; can be mechanically or electrically connected; can be directly connected or indirectly connected through an intermediate medium, and can be communicated with the inside of two elements or the interaction relationship of the two elements. The specific meaning of the above terms in the present invention can be understood by those of ordinary skill in the art according to the specific circumstances.
In the present invention, unless expressly stated or limited otherwise, a first feature "up" or "down" a second feature may be the first and second features in direct contact, or the first and second features in indirect contact via an intervening medium. Moreover, a first feature being "above," "over" and "on" a second feature may be a first feature being directly above or obliquely above the second feature, or simply indicating that the first feature is level higher than the second feature. The first feature being "under", "below" and "beneath" the second feature may be the first feature being directly under or obliquely below the second feature, or simply indicating that the first feature is less level than the second feature.
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, schematic representations of the above terms are not necessarily for the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, the different embodiments or examples described in this specification and the features of the different embodiments or examples may be combined and combined by those skilled in the art without contradiction.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and further implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.
Logic and/or steps represented in the flowcharts or otherwise described herein, e.g., a ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). In addition, the computer readable medium may even be paper or other suitable medium on which the program is printed, as the program may be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
It is to be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, may be implemented using any one or combination of the following techniques, as is well known in the art: discrete logic circuits having logic gates for implementing logic functions on data signals, application specific integrated circuits having suitable combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like.
Those of ordinary skill in the art will appreciate that all or a portion of the steps carried out in the method of the above-described embodiments may be implemented by a program to instruct related hardware, where the program may be stored in a computer readable storage medium, and where the program, when executed, includes one or a combination of the steps of the method embodiments.
In addition, each functional unit in the embodiments of the present invention may be integrated in one processing module, or each unit may exist alone physically, or two or more units may be integrated in one module. The integrated modules may be implemented in hardware or in software functional modules. The integrated modules may also be stored in a computer readable storage medium if implemented in the form of software functional modules and sold or used as a stand-alone product.
While embodiments of the present invention have been shown and described above, it will be understood that the above embodiments are illustrative and not to be construed as limiting the invention, and that variations, modifications, alternatives and variations may be made to the above embodiments by one of ordinary skill in the art within the scope of the invention.

Claims (10)

1. The path planning method of the robot cluster is characterized by comprising the following steps of:
s1, acquiring an environment map of the robot cluster working scene, wherein the environment map comprises information of obstacles in the robot cluster working scene;
s2, starting timing of total planning time, entering a round of path planning circulation, and executing steps S3 to S7 in the round of path planning circulation;
s3, acquiring position data of each robot in the robot cluster;
s4, performing task allocation on the robot cluster to determine N robots to be planned, which have service targets, in the robot cluster, wherein the N robots to be planned are in one-to-one correspondence with the N service targets, and N is an integer greater than 1;
s5, selecting an ith robot to be planned, and adding all robots except the ith robot to be planned in the robot cluster into the environment map as barriers to update the environment map, wherein i is more than or equal to 1 and less than or equal to N, and i is an integer;
S6, setting a dynamic target point for the ith robot to be planned based on the updated environment map, planning a path from the current position to the dynamic target point for the ith robot to be planned, and controlling the ith robot to be planned to drive to the dynamic target point along the planned path, wherein the dynamic target point is on a line segment taking the current position of the ith robot to be planned and the position of a service target corresponding to the ith robot to be planned as two endpoints;
s7, executing steps S5 to S6 on the N robots to be planned until the path planning of the N robots to be planned is completed, waiting for a first preset time, and returning to step S3 to enter a next path planning cycle;
and S8, ending the path planning cycle when the total planning time reaches a second preset time.
2. The path planning method of a robot cluster according to claim 1, characterized in that each robot of the robot cluster is connected to a central node, by means of which steps S1 to S8 are performed.
3. The path planning method of a robot cluster according to claim 1, wherein step S4 specifically includes:
Constructing a cost function, wherein the cost function aims at minimizing total spending time from robots in the robot cluster to a service target;
and solving the cost function under a preset constraint condition to determine the corresponding relation between the N robots to be planned and the N service targets.
4. A path planning method of a robot cluster according to claim 3, characterized in that,
when the number of robots in the robot cluster is smaller than or equal to the number of service targets in the robot cluster working scene, the preset constraint condition includes: each robot must serve one service target, each robot can only serve one service target, the state of each robot can only be out of service or service, and each service target can only require one robot to provide service;
when the number of robots in the robot cluster is greater than the number of service targets in the robot cluster working scene, the preset constraint condition includes: each robot can serve at most one service target, the state of each robot can only be not served or served, and each service target can only require one robot to provide service.
5. The path planning method of a robot cluster according to claim 1, wherein the setting of the dynamic target point for the ith robot to be planned in step S6 includes:
setting a dynamic target distance;
acquiring the current coordinate of the ith robot to be planned;
acquiring coordinates of a service target corresponding to the ith robot to be planned;
calculating the total distance between the ith robot to be planned and a service target of the ith robot to be planned;
according to the ratio between the dynamic target distance and the total distance;
and calculating the coordinates of the dynamic target point according to the proportion, the current coordinates of the ith robot to be planned and the coordinates of the service target corresponding to the ith robot to be planned, so as to take the dynamic target point as the running target of the ith robot to be planned at the current moment.
6. A path planning device of a robot cluster is characterized by comprising a first acquisition module, a timing module, a second acquisition module, an allocation module, an updating module and a planning module,
the first acquisition module is used for acquiring an environment map of the robot cluster working scene, wherein the environment map comprises information of obstacles in the robot cluster working scene;
The timing module is used for starting the timing of the total planning time,
after starting the timing of the total planning time, a round of path planning cycle is entered, in which: acquiring position data of each robot in the robot cluster through the second acquisition module; task allocation is carried out on the robot cluster through the allocation module so as to determine N robots to be planned, which have service targets, in the robot cluster, wherein the N robots to be planned are in one-to-one correspondence with the N service targets, and N is an integer greater than 1; selecting an ith robot to be planned through the updating module, and adding all robots except the ith robot to be planned in the robot cluster into the environment map as barriers to update the environment map, wherein i is more than or equal to 1 and less than or equal to N, and i is an integer; setting a dynamic target point for the ith robot to be planned based on the updated environment map by the planning module, planning a path from the current position to the dynamic target point for the ith robot to be planned, and controlling the ith robot to be planned to drive to the dynamic target point along the planned path, wherein the dynamic target point is on a line segment taking the current position of the ith robot to be planned and the position of a service target corresponding to the ith robot to be planned as two endpoints,
After finishing the path planning of N robots to be planned through the updating module and the planning module, waiting for a first preset time, entering a next path planning cycle, and ending the path planning cycle when the total planning time reaches a second preset time.
7. The path planning device of a robot cluster according to claim 6, wherein each robot in the robot cluster is connected to a central node, and the first acquisition module, the timing module, the second acquisition module, the distribution module, the update module, and the planning module are integrally provided in the central node.
8. The path planning device of a robot cluster according to claim 6, wherein the allocation module is specifically configured to:
constructing a cost function, wherein the cost function aims at minimizing total spending time from robots in the robot cluster to a service target;
and solving the cost function under a preset constraint condition to determine the corresponding relation between the N robots to be planned and the N service targets.
9. The path planning apparatus of a robot cluster according to claim 8, wherein,
When the number of robots in the robot cluster is smaller than or equal to the number of service targets in the robot cluster working scene, the preset constraint condition includes: each robot must serve one service target, each robot can only serve one service target, the state of each robot can only be out of service or service, and each service target can only require one robot to provide service;
when the number of robots in the robot cluster is greater than the number of service targets in the robot cluster working scene, the preset constraint condition includes: each robot can serve at most one service target, the state of each robot can only be not served or served, and each service target can only require one robot to provide service.
10. The path planning device of a robot cluster according to claim 6, wherein the position data acquired by the second acquisition module is coordinates, and the setting of the dynamic target point for the ith robot to be planned by the planning module specifically includes:
setting a dynamic target distance;
acquiring the current coordinate of the ith robot to be planned;
acquiring coordinates of a service target corresponding to the ith robot to be planned;
Calculating the total distance between the ith robot to be planned and a service target of the ith robot to be planned;
according to the ratio between the dynamic target distance and the total distance;
and calculating the coordinates of the dynamic target point according to the proportion, the current coordinates of the ith robot to be planned and the coordinates of the service target corresponding to the ith robot to be planned, so as to take the dynamic target point as the running target of the ith robot to be planned at the current moment.
CN202211710976.9A 2022-12-29 2022-12-29 Path planning method and device for robot cluster Pending CN116048075A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211710976.9A CN116048075A (en) 2022-12-29 2022-12-29 Path planning method and device for robot cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211710976.9A CN116048075A (en) 2022-12-29 2022-12-29 Path planning method and device for robot cluster

Publications (1)

Publication Number Publication Date
CN116048075A true CN116048075A (en) 2023-05-02

Family

ID=86132669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211710976.9A Pending CN116048075A (en) 2022-12-29 2022-12-29 Path planning method and device for robot cluster

Country Status (1)

Country Link
CN (1) CN116048075A (en)

Similar Documents

Publication Publication Date Title
CN110371107B (en) Automatic parking method, device, medium and equipment
US9701020B1 (en) Method and system for robotic surface coverage
CN111949017B (en) Robot obstacle crossing edge path planning method, chip and robot
US10207408B1 (en) Method to minimize collisions of mobile robotic devices
CN110554699A (en) Robot control system and control method
CN111326003A (en) Intelligent car tracking driving method, system and storage medium
CN110833361A (en) Cleaning robot and multi-zone cleaning method thereof
CN109814575B (en) Lane changing route planning method and device for automatic driving vehicle and terminal
CN113516429B (en) Multi-AGV global planning method based on network congestion model
CN108873882A (en) Intelligent mobile equipment and its movement routine planing method, device, program, medium
CN110764518A (en) Underwater dredging robot path planning method and device, robot and storage medium
CN111915106A (en) Path generation method and device, crystal face machine and storage medium
CN114081399B (en) Cleaning method and system of floor washing robot, cleaning equipment and storage medium
CN116166024A (en) Obstacle avoidance method, device, medium and equipment of walking type photovoltaic panel cleaning robot
CN114812566A (en) Method and device for planning driving path of mine vehicle and computer equipment
CN116048075A (en) Path planning method and device for robot cluster
US20240085919A1 (en) Traversal Method and System, Robot, and Readable Storage Medium
CN112987713A (en) Control method and device for automatic driving equipment and storage medium
CN112107257B (en) Intelligent cleaning equipment and obstacle avoidance path planning method and device thereof
CN115454062A (en) Robot dynamic path planning method and system based on Betz curve
CN112932367B (en) Fixed-point sweeping method of cleaning equipment and cleaning equipment
CN115352436A (en) Automatic parking method and device for vehicle, vehicle and storage medium
CN111714031A (en) Sweeping method and device for sweeping equipment and electronic equipment
CN114474064B (en) Robot control method and device, sweeping robot and storage medium
CN116494956B (en) Parking control method and device, vehicle and storage medium

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