Multi-machine cooperative task planning method and device, electronic equipment and storage medium
Through the multi-machine collaborative task planning method, the problem of robots failing to perform tasks in a timely manner was solved. By rationally arranging the task sequence and power management, the reliability and efficiency of task execution were improved.
Patent Information
- Application Number
- CN202510756565.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-09
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2045-06-09
AI Technical Summary
When multiple machines collaborate to perform tasks, robots fail to perform assigned tasks in a timely manner, resulting in low reliability of task execution.
Through the multi-machine collaborative task planning method, the order in which the robots perform tasks and the power constraints are determined to ensure that the robots can complete the tasks on time and charge in time, reducing the probability of tasks not being executed in time due to power limitations.
The reliability of task execution is improved, ensuring that the robot can complete all tasks as planned without interruption due to lack of power.
Smart Images

Figure CN120335454B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robotics technology, and in particular to a multi-machine collaborative task planning method, device, electronic equipment and storage medium. Background Art
[0002] With the development of robotics, multiple robots can form intelligent clusters based on wireless communication and collaborative networking technologies. Tasks are performed by intelligent clusters, that is, multiple machines collaborate to perform tasks. For example, the robot can be a mobile robot (such as a drone). In the field of autonomous inspection and navigation, there may be complex environments that are not convenient for manual monitoring. For work areas in complex environments that include multiple objects to be monitored, intelligent clusters can be used to monitor the objects to be monitored in the work area. For example, in high-risk outdoor environments, wild bird flocks can be monitored by intelligent clusters to study the habits of bird flocks. For example, at road intersections, vehicles can be monitored by intelligent clusters to determine their trajectories.
[0003] Obviously, when multiple machines collaborate to perform tasks, if a robot fails to perform the assigned task in a timely manner, the execution result obtained may lack the execution result of the task that failed to be performed in time, that is, the reliability of task execution is not high. Summary of the Invention
[0004] The purpose of the embodiments of the present invention is to provide a multi-machine collaborative task planning method, device, electronic device, and storage medium to improve the reliability of task execution. The specific technical solution is as follows:
[0005] In a first aspect of an embodiment of the present invention, a multi-machine collaborative task planning method is provided, the method comprising: determining an object to be monitored that is not currently assigned a robot to monitor from a to-be-monitored area; predicting the position to be monitored of each current object to be monitored within a specified time period; determining the robot to be currently assigned a task in accordance with a preset order as the current robot; obtaining the time interval and the current power consumption interval of each current alternative position; and calculating the time and power consumption of the current robot moving from one alternative position to another alternative position as the time and power consumption of the position group composed of the two alternative positions; the current alternative position includes: the initial position of the current robot after completing the historical assigned task, the currently unassigned position to be monitored, and the position to be monitored. location, and the location of the designated charging station; the time-consuming interval of a position to be monitored represents: if any robot is controlled to perform the task at the position to be monitored and the robot can complete the task on time, the time-consuming interval to which the robot performs the task belongs; according to the current initial time consumption and initial power consumption, the current time consumption and power consumption of each position group, the current time-consuming interval of each alternative position and the current power consumption interval, the position assigned to the current robot and the execution order of each position are determined from the location of the designated charging station and the currently unassigned positions to be monitored, and sent to the current robot so that the current robot performs the tasks at the assigned positions according to the said execution order; return to the step of determining the robot to be currently assigned the task according to the preset order.
[0006] In a second aspect of an embodiment of the present invention, a multi-machine collaborative task planning device is provided, the device comprising: an object determination module for determining an object to be monitored that is not currently assigned a robot for monitoring from a to-be-monitored area; a position determination module for predicting the position to be monitored of each current object to be monitored within a specified time period; a robot determination module for determining the robot to be currently assigned a task in accordance with a preset order as the current robot; an acquisition module for acquiring the time interval and the current power consumption interval of each current alternative position; and calculating the time and power consumption of the current robot moving from one alternative position to another alternative position as the time and power consumption of the position group composed of the two alternative positions; the current alternative position includes: the initial position of the current robot after completing the historical assigned task The position, the currently unassigned position to be monitored, and the position of the designated charging station; the time interval of a position to be monitored represents: if any robot is controlled to perform the task at the position to be monitored and the robot can complete the task on time, the time interval to which the robot performs the task belongs; a task planning module, which is used to determine the position assigned to the current robot and the execution order of each position from the position of the designated charging station and the currently unassigned position to be monitored according to the current initial time consumption and initial power consumption, the current time consumption and power consumption of each position group, the current time consumption interval of each alternative position and the current power consumption interval, and send it to the current robot so that the current robot performs the tasks at the assigned positions according to the said execution order; return to the step of determining the robot to be currently assigned the task according to the preset order.
[0007] In a third aspect of an embodiment of the present invention, an electronic device is provided, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; the memory is used to store computer programs; and the processor is used to implement any of the multi-machine collaborative task planning methods described in the first aspect above when executing the programs stored in the memory.
[0008] In a fourth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the multi-machine collaborative task planning method described in any one of the first aspects above is implemented.
[0009] An embodiment of the present invention further provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any of the above-described multi-machine collaborative task planning methods.
[0010] The multi-machine collaborative task planning method provided by the embodiment of the present invention determines the monitored objects that are not currently assigned to robots for monitoring from the monitored area; predicts the monitored positions of each current monitored object when it is to be monitored within a specified time period; determines the robot to be currently assigned the task as the current robot in a preset order; obtains the time interval and the current power consumption interval of each current alternative position; and calculates the time and power consumption of the current robot moving from one alternative position to another alternative position as the time and power consumption of the position group composed of the two alternative positions; determines the positions assigned to the current robot and the execution order of each position from the position of the designated charging station and the currently unassigned monitored positions according to the current initial time and initial power consumption, the current time and power consumption of each position group, the current time interval and the current power consumption interval of each alternative position, and sends them to the current robot so that the current robot performs the tasks at the assigned positions in the execution order; returns to the step of determining the robot to be currently assigned the task in the preset order.
[0011] Based on the above processing, the positions assigned to the current robot and the execution order of each position are determined based on the current initial time consumption, the current time consumption of each position group, and the current time consumption interval of each candidate position. This ensures that when the current robot executes the tasks at each position according to the execution order, it can complete the assigned tasks at each position on time. Furthermore, since the location of the designated charging station is also involved in the task assignment process for the current robot, the current initial power consumption, the current power consumption of each position group, and the current power consumption interval of each candidate position are also considered when assigning tasks to the current robot. That is, the power constraints of the current power consumption interval of each candidate position and the robot's charging behavior are incorporated into the task planning scope. When assigning tasks to the current robot, the power constraints are taken into account. This ensures that after the current robot executes the tasks at each position in sequence according to the execution order, it still has enough power to travel from that position to the nearest charging station. This means that the current robot can recharge in a timely manner. This reduces the probability of the robot failing to complete the assigned tasks due to power constraints when executing the assigned tasks at each position, thereby improving the reliability of task execution.
[0012] Of course, it is not necessary to achieve all of the advantages described above simultaneously in order to implement any product or method of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other embodiments can also be obtained based on these drawings.
[0014] Figure 1 A first flow chart of a multi-machine collaborative task planning method provided by an embodiment of the present invention;
[0015] Figure 2 A scenario diagram of the multi-machine collaborative task planning method provided by an embodiment of the present invention;
[0016] Figure 3 A second flow chart of the multi-machine collaborative task planning method provided by an embodiment of the present invention;
[0017] Figure 4 A third flow chart of the multi-machine collaborative task planning method provided by an embodiment of the present invention;
[0018] Figure 5 A flowchart of a task planning algorithm provided by an embodiment of the present invention;
[0019] Figure 6 A first flow chart of label processing provided by an embodiment of the present invention;
[0020] Figure 7 A second flow chart of label processing provided by an embodiment of the present invention;
[0021] Figure 8 A structural diagram of a multi-machine collaborative task planning device provided by an embodiment of the present invention;
[0022] Figure 9 A structural diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0023] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field based on the present invention are within the scope of protection of the present invention.
[0024] In the field of robotics, with the advancement of robotics technology, multiple robots can form intelligent swarms based on wireless communication and collaborative networking technologies. Intelligent swarms execute tasks, meaning multiple robots collaborate to perform tasks. Accordingly, task planning is performed for the robots in an intelligent swarm, a process known as multi-robot collaborative task planning. Intelligent swarms can also be referred to as multi-robot systems.
[0025] For example, the robot can be a mobile robot (such as a drone). In the field of autonomous inspection and navigation, there may be large, complex environments that are inconvenient for manual monitoring. These environments are often characterized by high loads and high risks that make direct human operation difficult. Intelligent swarm-based monitoring is widely deployed in such large, complex environments. Examples include monitoring wild bird flocks, conducting 24 / 7 border patrols, and inspecting cross-regional power lines for potential hazards.
[0026] A multi-robot system's work area (i.e., the area to be monitored) exists within a wide, complex environment. The location and number of objects in the monitored area often change dynamically, such as birds changing their position as they fly; birds may also fly out of the work area. Therefore, to monitor objects in the work area, the working range of each robot in the multi-robot system must cover the work area. In other words, the multi-robot system must collaborate to cover the dynamically changing monitored area. Monitoring objects in the monitored area can be called multi-target monitoring. The multi-target monitoring problem can be referred to as the Active Information Acquisition problem, which involves optimizing sensor motion and robot control strategies to maximize information acquisition. Optimizing sensor motion involves optimizing the motion of the robot, including the sensor, or performing task planning for the robot.
[0027] Various multi-target monitoring schemes have been proposed in the prior art. For example, Kalluraya et al. proposed a centralized, non-myopic approach for multi-target monitoring; Dames et al. proposed a distributed, myopic approach; Tzes et al. proposed a learning and imitation optimal solution approach; Chopra et al. proposed a distributed Hungarian strategy approach; Sung et al. proposed a multi-target monitoring scheme that simultaneously plans the robot's tasks and motions; Homberger et al. proposed a hierarchical task decomposition approach for multi-target monitoring; and Afrin et al. proposed a reinforcement learning approach for multi-target monitoring. However, none of these schemes considers whether the robot can promptly execute the assigned task after receiving it. If the robot fails to execute the assigned task promptly, the execution results may lack the results of the task that was not executed in time, indicating low reliability of task execution. That is, the reliability of the multi-target monitoring solution proposed in the prior art is not high.
[0028] In order to solve the above problems, the present invention provides a multi-machine collaborative task planning method applied to electronic equipment.
[0029] The electronic device may be a central control device that can communicate with multiple robots. For example, the central control device may determine a planning result corresponding to each robot according to the multi-robot collaborative task planning method provided by the present invention, and then transmit the corresponding planning result to the robot; the robot then executes the task based on the received planning result.
[0030] Alternatively, the electronic device can be a device cluster including a central control device and multiple robots. According to the multi-machine collaborative task planning method provided by the present invention, the central control device can determine the robot currently to be task-planned as the current robot and send relevant data of the current candidate position to the current robot; the current robot plans its own task based on the received data and sends its corresponding planning results to the central control device, executing the task according to its own planning results; the central control device continues to determine the next robot to be task-planned as the current robot, and repeats this cycle until there are no unassigned positions to be monitored.
[0031] The multi-machine collaborative task planning method provided by the present invention can reduce the probability of robots failing to promptly execute assigned tasks at various locations due to power constraints, thereby improving task execution reliability. For ease of description, the present invention will be described using the electronic device as the central control device as an example. In practical scenarios, the electronic device can also be a cluster of devices as described above, and this invention is not limited to this.
[0032] See also Figure 1 , Figure 1 A first flow chart of a multi-machine collaborative task planning method provided in an embodiment of the present invention may include the following steps:
[0033] S101: Determine an object to be monitored that is not currently assigned a robot to monitor from the area to be monitored.
[0034] S102: Predicting the position of each object to be monitored within a specified time period.
[0035] S103: Determine the robot to be assigned a task according to a preset order as the current robot.
[0036] S104: Obtain the current time consumption interval and current power consumption interval of each candidate position; and calculate the current time consumption and power consumption of the robot moving from one candidate position to another candidate position as the time consumption and power consumption of the position group consisting of the two candidate positions.
[0037] Among them, the current alternative positions include: the initial position of the current robot after completing the historically assigned tasks, the currently unassigned position to be monitored, and the location of the designated charging station; the time interval of a position to be monitored represents: if any robot is controlled to perform the task at the position to be monitored and the robot can complete the task on time, the time interval to which the robot performs the task belongs.
[0038] S105: According to the current initial time consumption and the current initial power consumption, the current time consumption and power consumption of each position group, the current time consumption interval and the current power consumption interval of each alternative position, determine the position assigned to the current robot and the execution order of each position from the position of the designated charging station and the currently unassigned positions to be monitored, and send them to the current robot so that the current robot executes the tasks at the assigned positions in the execution order; return to the step of determining the robot to be currently assigned tasks in the preset order.
[0039] The multi-robot collaborative task planning method provided by an embodiment of the present invention determines the positions assigned to the current robot and the execution order of each position based on the current initial time consumption, the current time consumption of each position group, and the current time consumption interval of each candidate position. This ensures that the current robot can complete the assigned tasks at each position on time when executing the tasks at each position in the execution order. Furthermore, since the location of the designated charging station is also involved in the task assignment process, the current initial power consumption, the current power consumption of each position group, and the current power consumption interval of each candidate position are also considered when assigning tasks to the current robot. Specifically, the power constraints of the current power consumption interval of each candidate position and the robot's charging behavior are incorporated into the task planning scope. When assigning tasks to the current robot, the power constraints are taken into account. This ensures that after the current robot completes the tasks at each position in the execution order, it still has enough power to travel from that position to the nearest charging station. This ensures that the current robot can recharge in a timely manner. This reduces the probability of the robot failing to complete the assigned tasks due to power constraints, thereby improving the reliability of task execution.
[0040] With respect to step S101, the area in which objects are to be monitored through multi-machine collaboration is referred to as the monitored area. The specific types of objects in the monitored area can be determined based on the actual scenario, such as birds, vehicles, pedestrians, etc. The location and number of objects in the monitored area can change dynamically. For example, the monitored area can be an area within the aforementioned wide-area complex environment, or it can be another area determined based on the actual scenario requirements, and the present invention is not limited thereto.
[0041] There may be multiple robots in the monitored area for monitoring objects in the monitored area. The robots can communicate with electronic devices, move to designated locations, and perform tasks at designated locations. For example, the robot may be a drone. The present invention does not limit the specific type of robot. The robots may include robots that have been historically assigned locations and are performing tasks (which may be referred to as working robots), and robots parked on the apron (which may be referred to as standby robots). The performance of each robot may be the same or different. For example, the maximum amount of power that the battery of different robots can hold, the charging speed, the rate of power consumption during movement, etc. may be the same or different; the movement speed of different robots may be the same or different, and the present invention does not limit this.
[0042] When task planning is required, the electronic device determines an object that is not currently assigned to a robot for monitoring from the area to be monitored as the current object to be monitored. Obviously, the current object to be monitored may be one or more.
[0043] In one approach, electronic devices can periodically plan tasks. The task planning cycle can be determined based on the needs of the actual scenario. For example, in an actual scenario, if objects in the monitored area need to be monitored periodically, in order to reduce the probability that the monitoring task for the objects in the monitored area is not executed in a timely manner, the task planning cycle may not be greater than the minimum value of the monitoring cycle of each object in the monitored area (which may be referred to as the minimum monitoring cycle). For example, if the monitoring cycle of object a in the monitored area is 80 seconds, the monitoring cycle of object b is 70 seconds, and the monitoring cycle of object c is 90 seconds, then the task planning cycle may not be greater than the minimum monitoring cycle (i.e., 70 seconds), and can be set to 60 seconds.
[0044] In another method, when there is an object (which may be referred to as a target object) in the monitored area that satisfies the conditions for triggering the task planning process, task planning is currently required. This method is described in detail in the subsequent embodiments and will not be described here in detail.
[0045] For step S102, for each current object to be monitored, the electronic device can predict the position of the object to be monitored when it needs to be monitored within the specified time period based on the time between the current moment and the next time the object to be monitored, as well as the current position and movement speed of the object to be monitored, as the current position to be monitored.
[0046] When an electronic device performs a mission planning based on an object in the area to be monitored for the first time, it can first manually set the position and movement speed of the object in the area to be monitored (which can be called initial information), or use a radar to perform a global scan of the area to be monitored to obtain initial information; and then perform the first mission planning based on the initial information.
[0047] If a task has been planned based on the objects in the monitored area, the electronic device can determine the current position and speed of each monitored object based on the robot's execution results of the assigned task. For example, when the robot is performing a monitoring task at its assigned location, it can use its deployed sensors (such as radar) to scan the objects at the assigned location to obtain the position and speed of the objects at the assigned location. The electronic device then performs subsequent task planning based on the object positions and speeds obtained by the robot.
[0048] For each currently monitored object, the electronic device can calculate the duration between the current moment and the next time the object is monitored. For example, if the object is a vehicle, the monitored area includes roads, and there is an intersection of straight roads (which can be called a traffic hub), such as an intersection, within the monitored area. The vehicle starts at a random location on the road and travels along the road at a constant speed. At the traffic hub, it randomly selects a road to continue traveling (which can be called a vehicle turn). This scenario can be called a vehicle monitoring scenario. In this scenario, if the electronic device periodically monitors the vehicle, the next time the monitored object is monitored is the time when the monitoring cycle corresponding to the monitored object is next reached. The electronic device can calculate the duration between the current moment and the next time the monitoring cycle corresponding to the monitored object is reached (i.e., the first duration in subsequent embodiments); alternatively, the electronic device can calculate the duration between the current moment and the last time the monitoring cycle corresponding to the monitored object was reached (which can be called a third duration), and then calculate the difference between the monitoring cycle corresponding to the monitored object and the third duration to obtain the first duration.
[0049] Using the speed-displacement formula, the electronic device can calculate the distance (referred to as the first distance) that the monitored object would travel if it were to move at its current speed for a first duration. For example, in the aforementioned vehicle monitoring scenario, the first distance is calculated by multiplying the constant speed by the first duration. A position is determined along the current direction of movement of the monitored object, and the position that is the first distance from the current position of the monitored object is then determined. This determined position is the current monitored position.
[0050] In the case where the electronic device performs task planning periodically, the specified duration is the duration of a task planning cycle.
[0051] When planning a task when a target object is present in the area to be monitored, the specified duration is a duration set according to the actual scenario. For example, in the aforementioned vehicle monitoring scenario, the specified duration can be set to no longer than the minimum monitoring period and no less than the current minimum duration value in subsequent embodiments.
[0052] The current position to be monitored determined based on the current object to be monitored may be one or more. For example, in the aforementioned vehicle monitoring scenario, if the vehicle moves along the road to a traffic hub, and the distance between the vehicle's current position and the position of the traffic hub is less than a first distance, the electronic device can determine the position of each road that intersects the traffic hub, except for the road the vehicle is currently traveling on, that is the first distance away from the vehicle's current position, as the current position to be monitored. For example, Figure 2 As shown, Figure 2 The "a" in the figure represents vehicle a, and the arrow next to vehicle a represents the current direction of movement of vehicle a. Vehicle a moves along the road toward the "T" intersection (i.e., traffic hub Z1). Vehicle a will make a turn at the "T" intersection. Figure 2 In the example, vehicle a may turn into intersection L1 or L2. At this time, the electronic device may determine a position at intersection L1 that is a first distance from the current position of vehicle a, and a position at intersection L2 that is a first distance from the current position of vehicle a, as the current positions to be monitored.
[0053] For step S103, the parking apron is used to park robots that have not been assigned tasks, that is, robots that have completed tasks that have been assigned in the past and are not currently assigned new tasks. The location and number of the parking aprons can be set as needed; the location of the parking apron can be fixed or changed according to actual needs. The preset order can be a sequence of numbers, such as the robots participating in task planning and the numbers have a one-to-one correspondence, and the electronic device can assign tasks to the robots in sequence according to the size of the numbers. Alternatively, tasks can be assigned to the standby robots parked on the parking apron first, and then tasks can be assigned to the working robots that are currently assigned positions and are moving. For ease of description, the present invention will be introduced later using the robot to be assigned a task as an example, and the current robot can be any robot participating in task planning. The robot to be assigned a task can also be called a robot to be task planned.
[0054] For step S104, if the current robot is the aforementioned working robot, the current robot's initial position after completing its previously assigned tasks is the location of the last previously assigned task. If the current robot is the aforementioned standby robot, the current robot's initial position is the location of the landing pad where the current robot is parked.
[0055] The designated charging station is used to charge the robot. After the robot moves to the designated charging station (hereinafter referred to as the charging station), the task performed at the charging station can be called a charging task. The designated charging station can be located inside or outside the monitored area; there can be one or more designated charging stations, and this is not limited to this invention.
[0056] The current position to be monitored, the location of the designated charging station, and the current initial position of the robot are collectively referred to as the current candidate position. For each current candidate position, the electronic device can obtain the time interval of the candidate position. In the subsequent task planning process, based on the time indicated by the acquired tag and the time interval of an alternative position, it can be determined whether the current robot can complete the task at the alternative position on time if the alternative position is assigned to the current robot. The method of obtaining the above-mentioned tags is described in detail in the subsequent embodiments and will not be repeated here.
[0057] The time interval of an alternative position can be expressed as The left end of the interval (i.e. ) represents the lower limit of the time interval (which can be called the minimum time constraint), and the right end of the interval (i.e. ) represents the upper limit of the time interval (also known as the maximum time constraint). The time interval for a monitored location represents the interval to which the robot would spend performing the task at that location if it were currently controlled to complete the task on time. That is, regardless of the robot's current location or the speed at which it moves toward the monitored location, as long as it completes the task on time, the robot's time falls within the time interval for the monitored location. For example, if, starting from the current moment, the robot can complete the task at the monitored location within 35 seconds, the time interval for the monitored location is [0, 35].
[0058] Since tasks at candidate locations other than the monitored location have no time constraints, for example, a robot can charge at a charging location without a time constraint. Therefore, the lower limit of the time interval for candidate locations other than the monitored location is 0, and the upper limit is a value greater than the maximum monitoring period of each object in the monitored area. If the monitoring period of an object in a real-world scenario is typically less than 100, the maximum time constraint can be 1000.
[0059] The current power consumption range of a location can be expressed as The left end of the interval (i.e. ) represents the lower limit of the power consumption range (which can be called the minimum power constraint), and the right end of the interval (i.e. ) represents the upper limit of the power consumption interval (may be referred to as the maximum power constraint). The lower limit of the current power consumption interval of a location is 0, and the upper limit is not greater than the remaining power of the current robot after moving from the location to the nearest charging station with the maximum power. In the subsequent task planning process, the planning result obtained based on the current power consumption interval of the location must ensure that the remaining power of the robot after executing the task at the location is sufficient to support the robot to move to the nearest charging location, thereby reducing the probability of the robot stopping the execution of the task due to insufficient power. For example, the current power consumption interval of a location is . Wherein, represents the maximum power of the current robot, represents the power consumption of the current robot when moving from the location to the location of the nearest charging station. If the location is the charging location, then is 0, and the power consumption interval of the charging location is . Alternatively, in order to increase the fault tolerance, the maximum power constraint can be less than the above-mentioned remaining power.
[0060] In the case where the maximum power that can be accommodated by the battery of different robots and the power consumption speed when moving are the same, if the location of the charging station is unchanged, the power consumption interval of a location is also unchanged. In this case, before determining the current robot, the electronic device can pre-acquire the current power consumption interval and time interval of each location of all the to-be-monitored locations, the initial position of each robot participating in planning, and the charging location. After determining the current robot, the power consumption interval and time interval of the current candidate location are directly searched from the pre-acquired power consumption interval and time interval of each location.
[0061] Each of the current two candidate locations can form a location group, indicating that the two candidate locations have connectivity. That is, the current robot can move from the initial position to any to-be-monitored location that has not been allocated and the location of any designated charging station; can move from any to-be-monitored location that has not been allocated to any other to-be-monitored location that has not been allocated and the location of any designated charging station; and can move from the location of any designated charging station to any to-be-monitored location that has not been allocated and the location of any other designated charging station.
[0062] For each of the current location groups, the distance between the two candidate locations can be denoted as . According to the speed displacement formula, the time consumed by the current robot to move a distance of can be calculated. For example, when the current movement speed of the current robot is , the time consumed by the current robot to move a distance of is calculated.
[0063] In actual scenarios, it takes time for a robot to perform a task at a location, which can be recorded as For the position group that does not include the current robot's initial position (referred to as the first position group), the current robot reaches an alternative position in the position group and must complete the task at that position before moving to another alternative position. The time consumption of the first position group can be expressed as ; For the position group to which the current robot's initial position belongs (referred to as the second position group), since the current robot moves from the initial position to the alternative position in the position group, and the task of the current robot at the initial position does not participate in this task planning process, the time consumption of the second position group can be expressed as .
[0064] Correspondingly, the electronic device can obtain the power consumption of the position group. For example, the electronic device can record the battery consumption rate of the current robot during movement, that is, the ratio of the power consumed per second by the current robot during movement to the current maximum power of the robot, recorded as The product of the time taken for the position group and the current battery consumption rate of the robot (referred to as the first product) can indicate the power consumption of the position group. For example, if the maximum power of the current robot is 10,000 coulombs, the first product corresponding to the first position group is expressed as , the product of the first product and the current maximum power of the robot is the power consumption of the first position group; similarly, the first product corresponding to the second position group is expressed as , then the product of the first product corresponding to the second position group and the current maximum power of the robot is the power consumption of the second position group. Alternatively, the electronic device can also obtain the corresponding relationship between the current robot's movement distance and power consumption, as well as the execution power consumption of the current robot performing a task at a position; then, from the above corresponding relationship, find the movement distance The corresponding battery consumption rate is calculated, and then the sum of the searched power consumption and the execution power consumption is calculated to obtain the power consumption of the location group.
[0065] If the performance of the robots involved in planning is the same, the power consumption of each position group and the maximum power constraint of each candidate position can also be expressed as a percentage. For example, the first product corresponding to each position group is used as the power consumption of the position group; is 100%; It is the ratio of the power consumption of a robot moving from this position to the position closest to the charging station to the maximum power, such as 5%.
[0066] In some embodiments, a charging station can include a docking area (referred to as a docking point) and a charging area (referred to as a charging point). This means that a charging location can be decoupled into a docking point and a charging point; a charging location can include one or more charging points. The robot's movement from another location to a charging location can include: the robot moving from another location to the docking point at the charging station, and then from the docking point to a designated charging point. In this case, for each designated charging station, the docking point at that charging station also has connectivity with all charging points within that station. This means that after the robot reaches the docking point at that charging station, it can move to any charging point within that station.
[0067] In some embodiments, the charging power indicated by the tasks at different charging points in a charging station is different. charging points, a robot performs the task at the i-th charging position in the charging station as follows: the charging power of the robot in the charging station is the maximum power of the robot That is, the product of the robot's charging time and the robot's charging rate is equal to the robot's maximum power. , such as the charging power of the robot in the charging station can be expressed as ; Charging time can be expressed as ; Represents the robot's charging rate, that is, the ratio of the amount of energy the robot draws per second while charging to its maximum charge. For example, if all participating robots have the same performance, and the robot's maximum charge is 10,000 coulombs (which can be expressed as 10 units of charge), the robot draws 1 unit of charge (1,000 coulombs) per second in the charging station, representing 10% of its maximum charge. The charging station includes charging positions 1 through 5. The robot charges at charging position 1 for 2 seconds, drawing 2 units of charge; at charging position 2 for 4 seconds, drawing 4 units of charge; and so on, charging at charging position 5 for 10 seconds, drawing 10 units of charge.
[0068] After the charging power of the robot at a charging point reaches the power corresponding to the charging point, the robot can drive away from the charging point on its own; alternatively, the charging time of the charging equipment at each charging point can be preset. After the charging equipment starts charging the robot, the charging equipment can count the charging time it has spent on the robot; after the charging time reaches the charging time corresponding to the charging equipment, it stops charging the robot; after determining that the robot is not being charged, it can drive away from the charging location.
[0069] In practical scenarios, all charging points within a given charging station can participate in the mission planning process. Alternatively, only charging locations can be involved, with each robot spending the same amount of time charging within a given charging station, or each robot fully charging within a given charging station, i.e., reaching its maximum charge level, before leaving the station. This is also feasible.
[0070] When different charging points in a designated charging station participate in the task planning process, the time and power consumption of the robot during the task execution, as well as the time consumption interval of each position and the current power consumption interval can be comprehensively considered to determine the charging time of the robot, make full use of the time during the robot's task execution, reduce time waste, and enable the robot to be assigned more positions within a period of time, reducing the number of robots required to monitor objects in the monitoring area, that is, improving the utilization rate of the robot, reducing the robot cluster, and saving the resources required to be consumed during the movement of the robot cluster.
[0071] In step S105, the electronic device can obtain the current initial time and current initial power consumption. If the current robot is the aforementioned working robot, the current initial time is calculated by calculating the time difference between the current moment and the moment when the current robot completed the previously assigned task. The current initial power consumption is calculated by calculating the difference between the current robot's maximum power and the remaining power after the current robot completed the previously assigned task.
[0072] If the current robot is the aforementioned standby robot, that is, the current robot has completed the historically assigned tasks at the current moment, the current initial time consumption is 0; calculate the difference between the current robot's maximum power and the current robot's remaining power at the current moment to obtain the current initial power consumption.
[0073] Based on the acquired current initial time and current initial power consumption, as well as the previously calculated current time and power consumption for each position group, and the current time interval and current power consumption interval for each candidate position, the electronic device can determine the positions assigned to the current robot and the execution order of each position from the designated charging station position and the currently unassigned positions to be monitored. It is understood that in actual scenarios, the determined positions may include the designated charging station position or the currently unassigned positions to be monitored; the determined positions may be one or more.
[0074] Exemplarily, for each currently unassigned location to be monitored, the electronic device can calculate the time and power consumption of the current robot if it were to control the current robot to perform the task at the location to be monitored, based on the current initial time and current initial power consumption, as well as the time and power consumption of the location group that includes the current robot's initial position and the location to be monitored. If the calculated time falls within the time interval of the location to be monitored, and the calculated power consumption falls within the current power consumption interval of the location to be monitored, the location to be monitored is determined to be an optional location. Then, the optional location closest to the current robot is determined as the first location assigned to the current robot (which can be recorded as location 1). The sum of the current robot's initial time and the time of the location group that includes location 1 and the initial position is the time 1 that the current robot would take to move to location 1 to perform the task. The location of the charging station closest to location 1 is assigned to the current robot as the second location (which can be recorded as location 2), so that the current robot is fully charged at this charging station. The sum of time 1, the time the current robot takes to perform the task at position 1, and the time of the position group including position 1 and position 2, that is, time 2 when the current robot moves to position 2 to perform the task, is used as the current time of the current robot.
[0075] Next, for each unassigned location to be monitored, the robot's current time and maximum power consumption, as well as the time and power consumption of the group of locations that includes Location 2 and the location to be monitored, are used to calculate the time and power consumption of the robot if it were to control the task at that location. This allows the robot to determine an alternative location from the currently unassigned locations to be monitored. This cycle continues until no alternative locations remain, completing the planning for the current robot and determining the assigned locations and the execution order for each location.
[0076] After the electronic device obtains the positions assigned to the current robot and the execution order of each position (i.e., the planning result in the subsequent embodiments), it can continue to determine the robot to be assigned a task according to the preset order and continue to assign tasks to the currently determined robot. This cycle continues until there are no unassigned positions to be monitored.
[0077] After obtaining a robot's planning results, the electronic device can send the results to the robot. After receiving the results, the robot can sequentially execute the tasks at the assigned locations according to the execution order. Alternatively, after obtaining the planning results of each participating robot, the corresponding planning results can be sent to each robot separately.
[0078] In one implementation, when an electronic device detects the presence of a target object that triggers a task planning process in a monitored area, it can use the target object as the current monitored object, and subsequently only perform task planning for the current monitored location corresponding to the target object. That is, the electronic device only performs task planning for the target object at a time, without considering task planning for other objects. This can reduce the amount of calculations to be processed each time task planning is performed, improve the efficiency of obtaining planning results for the target object, and thereby reduce the probability that the monitoring task for the target object is not executed in a timely manner, thereby improving the reliability of task execution. For the method of determining the target object, please refer to the detailed description of the subsequent embodiments.
[0079] In another implementation, the aforementioned step S101 may include the following steps: obtaining the minimum value of the current motion time corresponding to the specified apron as the current minimum time; wherein, the current motion time corresponding to a apron is: the time it takes for the robot currently on the apron to move from the apron to the farthest position in the area to be monitored; when an object that needs to be monitored within the current minimum time and is not currently assigned to a robot for monitoring is detected in the area to be monitored, the object that is not currently assigned to a robot for monitoring is determined from the area to be monitored as the current object to be monitored.
[0080] The electronic device can sample the edge of the monitored area. For each apron, the distance between each sampling point and the current center point of the apron is calculated, and the maximum value of the calculated distance (i.e., the farthest position) is determined. Using the velocity-displacement formula, the time required for each robot currently on the apron to move from the apron to the corresponding farthest position is calculated, and the minimum value of the calculated time (i.e., the current movement time corresponding to the apron) is determined. Furthermore, the minimum value of the current movement time corresponding to the apron is determined (i.e., the current minimum time). Since the standby robot can immediately perform the task at the assigned position, the current minimum time indicates: after a position is assigned to any robot, the minimum time required for the robot to immediately move from the current position to the position.
[0081] If the robots' performance is consistent and the helipad's location is fixed, the corresponding movement time for the helipad is a fixed value, that is, the minimum movement time is a fixed value. In this case, the electronic device can predetermine the minimum movement time and then, based on the predetermined minimum movement time, detect whether the monitored area includes an object that needs to be monitored within the current minimum movement time and is not currently assigned to a robot for monitoring, i.e., the target object that triggered the task planning process mentioned above.
[0082] If the current minimum time consumption is 35 seconds, the target object needs to be detected within 35 seconds, but no robot is currently assigned to detect it. If there is a target object in the region to be monitored, the electronic device needs to perform task planning according to the multi-machine cooperative task planning method provided by the present application, otherwise it may not be able to timely monitor the target object.
[0083] For example, the parking apron is located at the center of the region to be monitored, there is only one parking apron in the region to be monitored, and the current time is denoted as , the target object needs to be monitored at the +35)th second, no robot is currently assigned to monitor the target object, and the target object is located at the farthest position of the parking apron at the +35)th second. If the electronic device performs task planning at the +1)th second, since the working robot is currently executing a historically assigned task, and it takes 35 seconds for the standby robot to move from the current position to the farthest position of the parking apron, that is, neither robot can move to the farthest position of the parking apron at the +35)th second, that is, it cannot timely monitor the target object.
[0084] Therefore, after determining that there is a target object in the region to be monitored, the electronic device determines the object to be monitored by the robot not currently assigned in the region to be monitored as the current object to be monitored according to the multi-machine cooperative task planning method provided by the present application. Obviously, the current object to be monitored at least includes the target object. That is, the current object to be monitored can be one or more.
[0085] The electronic device can periodically detect whether there is a target object in the region to be monitored. The detection period can be set according to the business requirements of the actual scene. For example, in the aforementioned vehicle monitoring scene, since the movement of the vehicle has a regularity, the detection period can be set to a larger value, such as 5 seconds.
[0086] If no target object is detected in the region to be monitored, the electronic device continues to detect whether there is a target object in the region to be monitored when the next detection period is reached; if a target object is detected in the region to be monitored, the electronic device can perform task planning according to the multi-machine cooperative task planning method provided by the present application, that is, trigger the task planning process.
[0087] Compared to only planning tasks for the target object, robots consume power during movement. This means that after a robot completes its monitoring task for the target object, the remaining power may be low, but the remaining power may still allow it to promptly perform monitoring tasks for other objects. However, if only the target object is planned each time, it is possible that while the robot is performing its task for the target object, the electronic device may determine that other robots are performing tasks for other objects, increasing the number of working robots in the monitored area. This will increase the number of robot clusters, and in turn, the resources consumed during the movement of the robot clusters.
[0088] However, if the electronic device detects the presence of a target object in the monitored area, it will treat the target object and any other objects in the monitored area that are not currently assigned to a robot as the current monitored object. Subsequent task planning is performed based on the current monitored object, increasing the probability that the robot will be assigned to a greater number of monitored locations each time a task is planned. This reduces the likelihood of the aforementioned issues, reduces the size of the robot cluster, and conserves resources consumed during the robot cluster's movement.
[0089] In some embodiments, the aforementioned step S102 may include the following steps: for each current object to be monitored, obtaining the duration between the current moment and the moment when the object to be monitored reaches the next monitoring period as the first duration; according to the first duration, the current position and movement speed of the object to be monitored, calculating the position of the object to be monitored when it reaches the corresponding monitoring period next time, as the actual monitoring position; according to the current movement direction of the object to be monitored, determining the designated position to which the object to be monitored will move next from the designated positions included in the monitored area, as the designated monitoring position ; Calculate the time it takes for the object to be monitored to move from the current position to the designated monitoring position as the second duration; if the first duration is not less than the second duration, and the first duration is not greater than the designated duration, use the designated monitoring position as the current position to be monitored; if the second duration is greater than the monitoring period corresponding to the object to be monitored, and the second duration is not greater than the designated duration, use the actual monitoring position as the current position to be monitored; if the first duration is less than the second duration, the second duration is not greater than the monitoring period corresponding to the object to be monitored, and the second duration is not greater than the designated duration, use the designated monitoring position and the actual monitoring position as the current position to be monitored.
[0090] The current monitored object can be one or more. The monitoring periods corresponding to the multiple monitored objects can be the same or different, and the present invention is not limited to this. The current moment can be recorded as ; The current object to be monitored can be recorded as , M is a positive integer; the monitoring period corresponding to a monitored object is recorded as The time between the last time the monitored object reached the corresponding monitoring period and the current time is recorded as ; Accordingly, the first duration corresponding to the object to be monitored is recorded as ; The second duration corresponding to the object to be monitored is recorded as .
[0091] For each current monitored object, the electronic device can determine the first duration and the real monitoring position corresponding to the monitored object in a similar manner to the above embodiment in determining the current monitored position. It is understandable that the real monitoring position changes with time and is determined by the current time of the monitored object. The future position of the object to be monitored is predicted based on its position and current movement speed.
[0092] When an object in the monitored area moves to a designated location, the object's motion state will change. For example, in the aforementioned vehicle monitoring scenario, a vehicle will randomly select a road to continue driving at a traffic hub, that is, the vehicle's motion direction at the traffic hub changes, and the traffic hub is the designated location. Obviously, the designated location is a determined, fixed location. According to the object's current motion direction, the designated location (i.e., the designated monitoring location) to which the object will move next can be determined. Figure 2 As shown, vehicle a moves from right to left, and the designated monitoring position corresponding to vehicle a is the position of the traffic hub point Z1.
[0093] The electronic device can then calculate the distance between the designated monitoring location and the current location of the monitored object, and, based on the velocity-displacement formula and the speed of the monitored object, determine the time it takes for the monitored object to move from its current location to the designated monitoring location (i.e., the second duration). If the monitored object is moving at a constant speed, the electronic device can calculate the ratio of the distance to the constant speed to determine the second duration.
[0094] If the first duration is not less than the second duration, , and the first duration is no longer than the specified duration, meaning the object to be monitored will first move to the specified monitoring location and change its motion state. As previously mentioned, the object to be monitored will change its motion state after passing the specified monitoring location, meaning the true monitoring location is inaccurate. For example, based on the aforementioned example, since it is impossible to determine which direction vehicle a turns at a T-junction, to avoid missing monitoring of vehicle a, it is necessary to determine multiple true monitoring locations. Only one of these multiple true monitoring locations is the location where vehicle a will be when the next monitoring cycle is reached, and the other locations are useless. By monitoring vehicle a at the specified monitoring location, the direction of its turn can be determined. That is, after monitoring vehicle a at the specified monitoring location, the accurate true monitoring location can be determined. Therefore, in this case, the electronic device can ignore the true monitoring location and only use the specified monitoring location as the current location to be monitored. In the subsequent task planning process, the accurate true monitoring location determined based on the specified monitoring location can be used as the location to be monitored, which can reduce the probability of the robot performing useless tasks and improve the effectiveness of the robot's task execution.
[0095] If the second time period is longer than the monitoring period corresponding to the monitored object, , and the second duration is no longer than the specified duration, indicating that the current location of the monitored object is far from the specified monitoring location. Therefore, there is no need to plan for the specified monitoring location during this task planning process. Therefore, in this case, the electronic device can ignore the specified monitoring location and directly use the actual monitoring location as the current monitored location. In subsequent task planning processes, planning for the specified monitoring location can reduce the number of monitored locations involved in planning, improving task planning efficiency.
[0096] If the first duration is less than the second duration, the second duration is no greater than the monitoring period for the monitored object, and the second duration is no greater than the specified duration, then no location is ignored and both the specified monitoring location and the actual monitoring location are used as the current monitored location. This reduces the probability of missing monitoring tasks for the monitored object and improves the reliability of task planning.
[0097] Since the movement of objects in real-world scenarios is often dynamic and random, it has a certain degree of uncertainty and is difficult to predict. Existing technologies often assume that the object's motion trajectory is completely known. For example, the task planning method proposed by Kalluraya, Dames, Tzes, and others assumes that the motion of the object to be monitored is known, making it difficult to deal with objects with uncertain motion. The task planning method proposed by Sung et al. assumes that the object's motion trajectory is known and that the motion occurs simultaneously, which means it cannot adapt to the uncertainty of the target and violates the real-time nature of real motion. In contrast, the present invention determines the monitored position involved in task planning based on a specified position, taking into account the uncertainty of the target's behavior. This allows for more complex detection activities of the target's behavior, better meets the needs of real-world scenarios, and has good practicality.
[0098] In some embodiments, the preset order is the order of the remaining power of each robot after completing the historically assigned tasks.
[0099] It is understandable that when a robot has a high remaining battery life, when it is assigned tasks to perform within a certain period of time, it will spend relatively less time performing charging tasks. This means that the robot will spend more time performing tasks at the monitored locations, and will likely be assigned more locations to be monitored within that period of time. This means that the robot is more likely to be assigned tasks at more locations to be monitored in a timely manner. Therefore, the electronic device first assigns tasks to robots with a high remaining battery life after completing previously assigned tasks. This means that the robot with a higher probability of being able to perform tasks at more locations to be monitored in a timely manner is assigned more locations to be monitored. This can reduce the number of robots required to monitor objects in the monitored area, thereby improving robot utilization, reducing the number of robot clusters, and conserving resources consumed during the movement of the robot clusters.
[0100] Compared to the task planning methods proposed by Kalluraya, Dames, Tzes, and others, existing methods assume a fixed number of robots and are therefore unable to dynamically adjust the number of robots. The task planning method proposed by Chopra et al. is based on a one-to-one correspondence between robots and objects, and is also unable to dynamically adjust the number of robots. While the task planning method proposed by Homberger et al. can achieve environmental representation compression through hierarchical task decomposition, significantly reducing the real-time computational overhead of autonomous systems, it still cannot adapt to objects with uncertain motion and cannot dynamically adjust the number of robots. In other words, existing technologies often focus solely on maximizing information acquisition or resource utilization, without considering minimizing the number of robot clusters. However, the present invention can improve robot utilization, significantly reduce the number of robots required to monitor an object, minimize the number of robot clusters, and conserve resources consumed during robot cluster movement.
[0101] In some embodiments, if a position to be monitored is a real monitoring position corresponding to any object to be monitored, the time interval of the position to be monitored is ;in, Indicates the monitoring period corresponding to the monitored object to which the monitored location belongs. Indicates the time between the last time the monitored object at the monitored location reached the corresponding monitoring period and the current time; Indicates the first duration corresponding to the monitored object to which the monitored position belongs; if a monitored position is a designated monitoring position corresponding to any monitored object, the time interval of the monitored position is ;in, Indicates the second duration corresponding to the monitored object to which the monitored position belongs. Indicates the time it takes for the current robot to perform the task at the location to be monitored; the lower limit of the time interval for other alternative locations except the location to be monitored is 0, and the upper limit is positive infinity; the current power consumption interval of a location has a lower limit of 0, and an upper limit is the remaining power of the current robot after moving from the location to the nearest charging station at maximum power.
[0102] When a position to be monitored is the real monitoring position corresponding to any object to be monitored, the robot can move to the real monitoring position before the object to be monitored moves to the real monitoring position, and the robot can then monitor the object to be monitored. Therefore, the time interval of the real monitoring position is If the position to be monitored is the designated monitoring position corresponding to any object to be monitored, if the robot moves to the designated monitoring position too early and the motion state of the object to be monitored has not changed, it may be difficult for the robot to detect the change in the motion state of the object to be monitored at the designated monitoring position. Therefore, the time interval for the designated monitoring position is It is understandable that, in the case that the robot moves to the designated monitoring position earlier, the robot may wait at the designated monitoring position until the object to be monitored moves to the designated monitoring position, and then monitor the object to be monitored.
[0103] Setting the upper limit of the time consumption interval for candidate locations other than the target location to positive infinity can further reduce the probability of task planning errors in real-world scenarios. Setting the upper limit of a location's current power consumption interval to the remaining power of the robot after moving from that location to the nearest charging station at full power increases the probability of assigning more locations to the robot for monitoring, thereby reducing the number of robot clusters and conserving resources consumed during robot cluster movement.
[0104] In some embodiments, the current initial time consumption represents the time difference between the current moment and the moment when the current robot completes the historically assigned task; the current initial power consumption represents the power difference between the current robot's maximum power and the remaining power after the current robot completes the historically assigned task. The above-mentioned step S105 may include the following steps: constructing a node network of the current robot with the node indicating the current initial position as the starting point; the temporary set of starting points includes an initial tag indicating the current initial time consumption and initial power consumption; the current initial tag does not indicate a tag; based on the current time consumption and power consumption of each position group, the current time consumption interval and the current power consumption interval of each alternative position, the position of the designated charging station and the currently unassigned position to be monitored, updating the current node network to obtain alternative results indicating multiple positions and the order of the multiple positions based on the current initial tag, until there is no label in the temporary set of each node; and using the latest alternative result as the planning result of the current robot.
[0105] The electronic device can create a node (referred to as a robot node) indicating the current robot's location after completing a previously assigned task (i.e., its current initial location). Starting with the robot node, the current node network corresponding to the current robot is constructed. Subsequently, the electronic device can update the current node network based on the time and power consumption of each current position group, the current time interval and current power consumption interval of each candidate position, the location of the designated charging station, and the currently unassigned locations to be monitored. This involves adding nodes to the node network to obtain alternative results, i.e., determining a path including multiple nodes from the node network. Based on the path, the position assigned to the current robot (i.e., the location indicated by each node included in the path) and the execution order of each position (i.e., the order in which the nodes included in the path are executed) are determined. This process continues until there are no labels in the temporary set of nodes, indicating that the path in the current node network cannot be further expanded. The electronic device can then use the latest alternative result as the planning result for the current robot.
[0106] The electronic device can create an empty temporary set and an empty target set for each node added to the node network to record the tags generated during subsequent task planning. The temporary set at the starting point includes a tag indicating the current initial time consumption and the current initial power consumption (i.e., the current initial tag). The initial tag does not indicate any tags, for example, the tag indicated by the initial tag can be an empty value.
[0107] The time consumption interval of each location obtained above is the time consumption interval of the node indicating the location in the node network (which can be called the time constraint of the node); the current power consumption interval of a location is the power consumption interval of the node indicating the location in the node network (which can be called the power constraint of the node).
[0108] In some embodiments, the electronic device can update the current node network in the following manner: determine the current optimal position from the currently unassigned monitored positions; determine the charging position of the charging station closest to the optimal position; add nodes indicating the currently determined optimal position and charging position to the current node network respectively; connect the currently added nodes with other nodes in the current node network; add resource vectors to the labels in the temporary set and target set of each node; determine the extended label that currently meets the extension conditions from the temporary set of each node; if the resource vector of the current extended label indicates that there are unvisited nodes, based on the current time and power consumption of each position group, the current time interval of each alternative position and the current power consumption interval, update the temporary set of nodes connected to the node to which the current extended label belongs; return to execute the step of determining the extended label that currently meets the extension conditions from the temporary set of each node until the resource vector of the current extended label indicates that there are no unvisited nodes or there are no labels in the temporary set of each node; if the resource vector of the current extended label indicates that there are no unvisited nodes, backtrack the current extended label to obtain the alternative result; return to execute the step of determining the optimal position in the currently unassigned monitored positions.
[0109] Specifically, the extension condition includes at least one of the following: the indicated time consumption is the shortest, the indicated power consumption is the least, and the weighted sum of the indicated time consumption and power consumption is the smallest; the aforementioned determining the current optimal position from the currently unassigned positions to be monitored includes: for each currently unassigned position to be monitored, determining the time consumption of the position group including the current initial position and the position to be monitored; calculating the weighted sum of the time consumption of the determined position group and the upper limit of the time consumption interval of the position to be monitored; determining the optimal position with the smallest weighted sum from the positions to be monitored that are not currently added to any node network; the aforementioned backtracking of the current extension label to obtain the alternative result includes: adding the current extension label to the current position to be monitored. The expansion label is determined as the current backtracking label; the label indicated by the current backtracking label is determined as the current backtracking label; the step of returning to determine the label indicated by the current backtracking label as the current backtracking label is executed until the current backtracking label is the current initial label; the position indicated by the node to which the determined backtracking label belongs is used as the position indicated by the alternative result, and the reverse order of the order of determining the backtracking labels is used as the order indicated by the alternative result; before the latest alternative result is used as the current planning result of the robot, the method further includes the following steps: deleting the node that indicates the current optimal position that has been newly added to the current node network.
[0110] For each position to be monitored that is not currently assigned, determine the time consumption of the position group including the current initial position and the position to be monitored, that is, predict the time consumption of the current robot from the initial position to the position to be monitored through the algorithm. Then, calculate the weighted sum of the time consumption of the determined position group and the maximum time constraint corresponding to the position to be monitored to obtain a calculation result indicating the degree of matching between the position to be monitored and the requirements of the actual scene. If the actual scene requires the robot to first perform a task at a position closer to the current position of the robot, a larger weight can be set for the time consumption of the determined task group; if it is required to further improve the reliability of the planning results and reduce the probability of the task not being executed in time, a larger weight can be set for the maximum time constraint. For example, the average value of the time consumption of the determined position group and the maximum time constraint can be calculated.
[0111] Then, from the locations to be monitored that are not currently added to any node network, the corresponding location with the smallest weighted sum is determined. This is the location where the current robot can quickly complete the task at that location without consuming excessive time moving, i.e., the location where the task is executed efficiently and with minimal energy consumption. This location is used as the currently determined optimal location (referred to as the current optimal location). The location of the charging station closest to the current optimal location is determined. This is the charging location that the current robot may use after completing the task at the current optimal location. This location is used as the currently determined charging location (referred to as the current charging location).
[0112] Add a node indicating the current optimal position in the current node network; if there is no node indicating the current charging position in the current node network, add a node indicating the current charging position in the current node network. If there is already a node indicating the current charging position in the current node network, there is no need to repeatedly add the node indicating the current charging position in the current node network. If the current optimal position is the real monitoring position in the aforementioned embodiment, the node indicating the current optimal position can be called a real target node; if the current optimal position is the designated monitoring position in the aforementioned embodiment, the node indicating the current optimal position can be called a hub target node. The real target node and the hub target node can be collectively referred to as the target node. The node indicating the current charging position can be called a charging station node.
[0113] After adding a new node to the current node network, the newly added node can be connected to other nodes in the current node network, so that every two nodes in the current node network are connected, that is, all nodes in the current node network have connectivity. The time and power consumption of the edge connecting any two nodes, that is, the time and power consumption of the location group including the locations indicated by the two nodes.
[0114] In some embodiments, a resource vector currently added to a label indicates that the node corresponding to the currently determined optimal position has not been visited; the aforementioned updating of the temporary set of nodes connected to the node to which the current extended label belongs based on the current time consumption and power consumption of each position group, the current time consumption interval of each candidate position, and the current power consumption interval includes: migrating the current extended label to the target set of nodes to which it belongs, deleting the current extended label in the temporary set; determining the reachable nodes connected to the node to which the current extended label belongs; for each current reachable node, determining the time consumption and power consumption of the position group including the position indicated by the node to which the current extended label belongs and the reachable position indicated by the reachable node. Electricity; calculate the sum of the time consumption indicated by the current extended tag and the time consumption of the currently determined position group, calculate the sum of the power consumption indicated by the current extended tag and the power consumption of the currently determined position group, and obtain the time consumption and power consumption indicated by the tag to be verified of the reachable node; when the reachable node indicates the currently determined optimal position, modify the resource vector of the tag to be verified to indicate that the reachable node has been visited; the tag to be verified also indicates the current extended tag; based on the time consumption and power consumption indicated by the tag to be verified, the resource vector of the tag to be verified, the time consumption interval and the current power consumption interval of the reachable position, and the tags in the temporary set of the reachable nodes, update the temporary set of the reachable nodes.
[0115] It is understandable that after completing a task at a location, the current robot does not need to return to that location from another location, nor does it need to repeat the task at that location. In other words, it does not need to repeatedly visit nodes in every path in the node network. Therefore, after adding the aforementioned target node to the current node network, the electronic device can add a resource vector indicating that the currently added target node (i.e., the node indicating the current optimal location) has not been visited to each tag in the temporary set of nodes and the target set included in the current node network.
[0116] For example, after adding the Nth target node to the current node network, add the Nth resource vector to each label corresponding to the current node network. At this time, the Nth resource vector of each label is 1. Set the consumption of the Nth resource vector corresponding to the edge connecting the Nth target node and other nodes to -1; among the resource vectors included in a label, the Nth resource vector is 1, indicating that the Nth target node has not been visited, that is, the path corresponding to the label does not pass through the Nth target node; the Nth resource vector is 0, indicating that the Nth node has been visited, that is, the path corresponding to the label has passed through the Nth target node; the Nth resource vector is less than 0, indicating that the Nth node has been visited multiple times, that is, the path corresponding to the label repeatedly passes through the Nth target node. In the subsequent label expansion process, calculate the sum of the resource vector of the label and the resource vectors corresponding to the edges passed during the label expansion process. According to the calculation result and the above correspondence, it can be determined whether the path corresponding to the label has passed through each target node in the current node network, that is, whether the resource vector of the label indicates that there are no unvisited nodes.
[0117] The electronic device determines a label that meets the expansion condition from the temporary set of nodes in the current node network and uses it as the current extended label. After adding a node to the current node network for the first time, since only the temporary set of nodes at the starting point in the current node network contains the initial label, the current extended label is the current initial label.
[0118] The extended conditions can be set according to the needs of the actual scenario. For example, if the probability of failure to execute tasks in a timely manner at each location needs to be reduced in the actual scenario, the extended condition is that the indicated time consumption is the shortest; if the waste of power resources needs to be reduced in the actual scenario, the extended condition is that the indicated power consumption is the least; if the probability of failure to execute tasks in a timely manner at each location needs to be reduced and the waste of power resources needs to be reduced in the actual scenario, the extended condition is that the weighted sum of the indicated time consumption and power consumption is the smallest, and the respective weights of the indicated time consumption and power consumption can also be set according to the needs of the actual scenario, and the present invention is not limited to this.
[0119] Taking the extension condition of the shortest indicated time consumption as an example, when there are multiple tags indicating the shortest indicated time consumption, the electronic device can continue to determine the tag indicating the least power consumption from the multiple tags as the current extended tag.
[0120] For example, the electronic device arranges the labels (which can be called temporary labels) in the temporary set of all nodes in lexicographic order and selects the smallest label in this sense. That is, the temporary labels are arranged in the order of time consumption to determine the label with the shortest time consumption. The time consumption is less than the label The time consumed by the label Less than label If the tag The time taken is equal to the label The time consumption and label The power consumption is less than the label The power consumption of the label Less than label .
[0121] Similarly, taking the extended condition of indicating the minimum power consumption as an example, when there are multiple tags indicating the minimum power consumption, the tag indicating the shortest time consumption is determined from the multiple tags as the current extended tag.
[0122] If the resource vector included in the current extended tag indicates that there are unvisited nodes in the current node network, that is, there are nodes whose paths corresponding to the current extended tag can be extended, the electronic device migrates the current extended tag to the target set of nodes to which the current extended tag belongs, and deletes the current extended tag recorded in the temporary set of nodes to which the current extended tag belongs, indicating that the location indicated by the node to which the current extended tag belongs may be allocated to the current robot.
[0123] Then, from the nodes included in the current node network, the node connected to the node to which the current extended tag belongs (i.e., the current reachable node) is determined. For each current reachable node, the electronic device determines the time and power consumption of the location group including the location indicated by the current extended tag node and the reachable location indicated by the reachable node, calculates the sum of the time indicated by the current extended tag and the time consumption of the currently determined location group, and calculates the sum of the power consumption indicated by the current extended tag and the power consumption of the currently determined location group, to obtain the time and power consumption indicated by the to-be-verified tag of the reachable node, that is, the time and power consumption of the current robot if it moves from the location indicated by the current extended tag node to the location indicated by the reachable node. Furthermore, when the reachable node indicates the currently determined optimal location, the electronic device can modify the resource vector of the to-be-verified tag to indicate that the reachable node has been visited. For example, based on the above example, on the edge connecting the node to which the current extended tag belongs and the reachable node (referred to as the extended edge), the resource vector corresponding to the reachable node is -1. The electronic device can calculate the sum of the resource vector corresponding to the reachable node included in the current extended tag and the resource vector corresponding to the reachable node on the extended edge to obtain the resource vector corresponding to the reachable node included in the tag to be verified. In addition, the tag to be verified also indicates the current extended tag (which can be called the previous tag of the tag to be verified). That is, a temporary tag also indicates the previous tag of the temporary tag, and the previous tag must have been recorded in the target set. Subsequently, if the temporary tag is determined to be an extended tag, the extension is continued based on the temporary tag to obtain the next tag of the temporary tag, and so on. The nodes to which the tags with a sequential relationship belong are connected according to the sequential relationship of the tags, forming a path in the node network. Obviously, there can be multiple paths in the node network; a path does not necessarily include all nodes in the node network.
[0124] Based on the time consumption and power consumption indicated by the tag to be verified, the resource vector of the tag to be verified, the time consumption interval and the current power consumption interval of the reachable position, and the tags in the temporary set of reachable nodes, the temporary set of reachable nodes is updated. Specifically: if the time consumption and power consumption indicated by the tag to be verified belong to the time consumption interval and the current power consumption interval of the reachable position respectively, the resource vector indicates that there are no repeated nodes visited multiple times, and there is no dominant tag that dominates the tag to be verified in the temporary set of reachable nodes, the tag to be verified is recorded in the temporary set of reachable nodes; one tag dominates another tag, indicating that: at least one of the time consumption and power consumption indicated by the tag is less than the other tag and the other is not greater than the other tag; if the tag to be verified If the time consumption indicated by the verification tag is less than the lower limit of the time consumption interval of the reachable location, the resource vector indicates that the duplicate node does not exist, and the dominant tag does not exist in the temporary set of the reachable nodes, the time consumption indicated by the tag to be verified is modified to the lower limit of the time consumption interval of the reachable location; if the power consumption indicated by the tag to be verified is less than the lower limit of the current power consumption interval of the reachable location, the included resource vector indicates that the duplicate node does not exist, and the dominant tag does not exist in the temporary set of the reachable nodes, the power consumption indicated by the tag to be verified is modified to the lower limit of the current power consumption interval of the reachable location; the modified tag is recorded in the temporary set of the reachable nodes; and all tags in the temporary set of the reachable nodes that are dominated by the currently newly recorded tags are deleted.
[0125] If the node resource vector included in the tag to be verified indicates that there are repeated nodes in the current node network, that is, the path corresponding to the tag to be verified repeatedly passes through nodes in the current node network, which is inconsistent with the actual situation where nodes in every path in the node network do not need to be repeatedly visited. Therefore, there is no need to record the tag to be verified.
[0126] If the resource vector included in the tag to be verified indicates that there are no nodes in the current node network that have been visited multiple times, which is consistent with the situation in actual scenarios where it is not necessary to repeatedly visit nodes in every path in the node network, the electronic device can continue to update the temporary tag set of the reachable nodes based on the tag to be verified.
[0127] If a dominant tag that dominates the tag to be verified exists in the temporary set of reachable nodes, it indicates that a more reliable task planning method exists, and there is no need to record the tag to be verified in the temporary set of reachable nodes. If a dominant tag does not exist in the temporary set of reachable nodes, it indicates that the task planning method indicated by the tag to be verified is more reliable. If the time and power consumption indicated by the tag to be verified fall within the time interval and the current power consumption interval of the reachable location, respectively, and there is no dominant tag in the temporary set of reachable nodes, the tag to be verified is recorded in the temporary set of reachable nodes, and other less reliable task planning methods are deleted. In other words, all tags in the temporary set of reachable nodes that are dominated by the newly recorded tag are deleted.
[0128] If the time consumed by the tag to be verified is less than the minimum time constraint for the reachable location, it means that the current robot takes less time to move to the reachable location, meaning that the current robot can reach the reachable location earlier. The current robot then waits at the reachable location and executes the task at the reachable location when the minimum time constraint is reached. For example, if the time constraint for a reachable location is [53, 55] and the time consumed by the tag to be verified for the reachable node is 50, then the current robot can reach the reachable location in 50 seconds, wait at the reachable location for 3 seconds, and then execute the task at the reachable location. Therefore, the time consumed by the tag to be verified can be modified to the minimum time constraint for the reachable location.
[0129] Since the locations involved in the mission planning process include charging locations, the robot can charge at a charging station. As mentioned above, the power consumption of the charging process is a negative number. In actual scenarios, the power consumption indicated by the tag may be less than 0, such as when the robot charges at the charging station for a longer time than it takes to fully charge. Due to the limited capacity of the robot's battery, the robot's power consumption at any given moment will not exceed its maximum power. Therefore, if the power consumption indicated by the tag to be verified is less than the minimum power constraint, the power consumption indicated by the tag to be verified can be modified to the minimum power constraint.
[0130] Furthermore, the electronic device may record the modified label in the temporary set of reachable nodes. The modified label may be a label with a modified time consumption and / or a label with a modified power consumption. Then, all labels in the temporary set of reachable nodes that are dominated by the newly recorded label are deleted. The process of updating the temporary set and target set of nodes to which the current extended label belongs, as well as the temporary set of reachable nodes of the node to which the current extended label belongs, based on the current extended label, may be referred to as a label extension process.
[0131] After this round of processing, nodes are added to the current node network, and the temporary set and target set of existing nodes in the current node network are updated. The process returns to the step of determining the extension label that currently meets the extension criteria from the temporary set of each node, and continues to extend the temporary labels in the current node network, thereby extending the paths in the current node network. This cycle continues until the resource vector of the current extension label indicates that there are no unvisited nodes in the current node network (this can be called case 1), or until the temporary set of all nodes in the current node network contains no labels (this can be called case 2), indicating that the paths in the current node network cannot be extended.
[0132] In Case 1 above, if the path corresponding to the current expansion tag already passes through all nodes in the current node network, the electronic device can continue to add new nodes to the current node network to further expand the path corresponding to the current expansion tag. Therefore, when Case 1 above is met, the electronic device returns to the step of determining the optimal location among the currently unassigned locations to be monitored, and continues to update the current node network based on the current optimal location.
[0133] In case 1, the electronic device may further perform tag backtracking on the current extended tag to determine the path corresponding to the current extended tag, that is, backtracking the current extended tag to obtain an alternative result.
[0134] That is, the electronic device determines the current extended tag as the current backtracking tag; determines the tag indicated by the current backtracking tag as the current backtracking tag; returns to the step of determining the tag indicated by the current backtracking tag as the current backtracking tag; until the current backtracking tag does not indicate a tag, that is, the current backtracking tag is the aforementioned initial tag. The tag indicated by the current backtracking tag is the previous tag of the current backtracking tag; the backtracking tags are searched in sequence in the above manner, that is, along the path corresponding to the current backtracking tag, starting from the last node of the path, each node in the path is determined in sequence until the robot node is found. The position indicated by the node to which the determined backtracking tag belongs, that is, the position indicated by each node in the path, is also the position indicated by the alternative result obtained based on the current extended tag; the reverse order of the determination order of the backtracking tags, that is, the order of the nodes in the path, is also the order indicated by the alternative result obtained based on the current extended tag. For example, the electronic device can record the position indicated by the node to which the backtracking tag belongs in sequence in the reverse order of the determination order of the backtracking tags to obtain the alternative result based on the current extended tag. Subsequently, as the current node network is updated, the electronic device can continuously obtain new alternative results until the above-mentioned condition 2 is met. That is, after adding the target node indicating the current optimal position in the current node network, label expansion cannot be continued. At this time, the electronic device can delete the most recently added target node in the current node network, that is, the most recently added node indicating the current optimal position. The position indicated by the latest alternative result is used as the position assigned to the current robot, and the order indicated by the latest alternative result is used as the execution order of each position, that is, the latest alternative result is used as the planning result of the current robot. Then, the next robot is determined according to the preset order as the current robot.
[0135] Compared to the task planning method proposed by Afrin et al., which introduces reinforcement learning methods to distributed systems and can find local optimal solutions under resource constraints, this approach suffers from high computational overhead. This emphasizes optimality while neglecting computational overhead. In practical scenarios, this high computational overhead makes it difficult to obtain planning results quickly when there are many objects to monitor, resulting in poor versatility. The multi-machine collaborative task planning method proposed by the present invention, based on a node network, sequentially determines the positions assigned to the current robot and the execution order of each position by adding nodes and expanding labels. By adding nodes to the network one by one, the computational effort required for each label expansion, i.e., the size of the search grid, is controlled, effectively improving real-time computational efficiency in large-scale scenarios and enabling large-scale monitoring. Furthermore, by storing the intermediate computational results of each path using temporary labels, each grid search can be performed based on the previous search, eliminating the need to recalculate from scratch. This further improves computational efficiency, and thus task planning efficiency.
[0136] In some embodiments, as Figure 2 In the vehicle monitoring scenario shown, the outermost rectangular area represents the area to be monitored, and the irregular geometric shapes represent areas within the area to be monitored where the robot cannot drive, such as construction areas; Figure 2 The circles in the figure represent vehicles moving in the area to be monitored, which are denoted as a, b, c, d, and e respectively. The triangles represent robots performing tasks in the area to be monitored, which are denoted as i, j, and k respectively. The rectangle next to the robot represents the robot's maximum power. The black area in the rectangle represents the robot's current remaining power. A parking lot T is set in the center of the area to be monitored. In addition, charging stations p and q are also set in the area to be monitored. Each charging station includes Each robot has the same performance, with a battery capacity (maximum charge) of 10. The robot consumes 0.5 watts of power per second while in motion. The robot's speed is 1 m / s; the vehicle's speed is 0.2 m / s, and the vehicle randomly selects the next road at a fork in the road. The vehicle monitoring cycle is 80 seconds, with each monitoring taking 2 seconds. The charging station's charging rate is 0.5 watts per second, and the preset planning duration is 60 seconds.
[0137] The electronic device can pre-calculate the minimum time h as 35 seconds. At the current moment, all robots have completed their previously assigned tasks. The time between the current moment and the last time vehicle a was monitored is 45 seconds, and the time between the current moment and the next time vehicle a is monitored is 35 seconds. This means that vehicle a will need to be monitored again in 35 seconds. If vehicle a is not currently in any robot's task sequence, the currently unassigned robot monitoring vehicle a triggers replanning (i.e., the aforementioned task planning).
[0138] If the objects currently not assigned to a robot for monitoring include vehicles a, b, and c, then the targets that need to be replanned (i.e., the current objects to be monitored) are vehicles a, b, and c. The maximum time constraint for the actual monitoring position of vehicle a is 35 seconds; the second duration corresponding to vehicle a is 55 seconds, that is, the time interval for the designated monitoring position of vehicle a is [53, 55]; then the nodes corresponding to the monitored position of vehicle a include: the actual target node , and the hub target node The first duration corresponding to vehicle b is 60 seconds, and the second duration corresponding to vehicle b is 50 seconds. The nodes to be monitored corresponding to vehicle b include: hub target node The first duration corresponding to vehicle c is 55 seconds, and the second duration corresponding to vehicle c is 90 seconds. The nodes to be monitored corresponding to vehicle c include: the real target node For each charging station, such as charging station p, it can be decoupled into a parking point ,as well as charging points , ; is a positive integer, such as . Charging Point Rechargeable capacity is 2; charging point The chargeable capacity is 4, and so on, the charging point The rechargeable amount is 10. Then, the nodes corresponding to the robot i, robot j, robot k, charging station p, charging station q, and the current monitored object corresponding to the current monitored position are determined to obtain the current remaining target point set.
[0139] According to the order of the remaining power of each robot after completing the historically assigned tasks, the robot with the largest remaining power (i.e., robot i) is determined, and a node network (which can be called the initialized node network) is constructed with the node of robot i as the starting point. An empty temporary set and target set are established for the starting point, and the initial label is added to the temporary set of the starting point.
[0140] Robot i to the current position to be monitored (i.e. 、 、 ,as well as ) are 15 seconds, 15 seconds, 30 seconds, and 20 seconds respectively; the current maximum time constraints for each location to be monitored are 35 seconds, 55 seconds, 50 seconds, and 55 seconds respectively. Calculate the average of the time consumed and the maximum time constraint for each location to be monitored, and sort them in ascending order of the average value. The order in which the nodes at the current locations to be monitored join the node network is: 、 、 、 The first node added to the node network is node Since the distance from charging station p to the position indicated by the real target node is less than the distance from charging station q to the position indicated by the real target node, the node p of charging station p (including the parking point and each charging point ) is also added to the node network. An empty temporary set and a target set are respectively created for each node added to the node network, and a corresponding resource vector is added to the node network.
[0141] Further, the optimal label is selected from the temporary labels of the current node network (i.e., the aforementioned current extended label). Since there is only the initial label in the current node network, the initial label is the optimal label. The initial label is placed in the target set of the starting point. Then, the node and node p are extended from the starting point. It is assumed that the results obtained by the two extensions respectively satisfy the time interval and the power interval of node and node p, respectively, and the labels in the temporary sets of node and node p do not dominate the obtained results. Since the initial label is extended to node , the new label obtained indicates that node corresponding resource vector is 0, i.e., node has been visited, and the label satisfies the full access condition, the current optimal solution is obtained, which can be represented as (i ). Then, the node is added to the current node network. Since the charging station closest to the position indicated by node is still charging station p, i.e., node p does not need to be repeatedly added. An empty temporary set and a target set are created for node , and a corresponding resource vector is added to the node network. The temporary labels in the current node network are label-extended in a similar manner as described above until the optimal solution is found or it is determined that there is no solution. It is assumed that there is a solution when node and node are added to the current node network, and there is no solution after node is added. The optimal sequence of robot i is obtained, which is represented as (i ), indicating that robot i first monitors vehicle a at the real monitoring position of vehicle a, and then charges at charging station p with a power of 4 (i.e., a charging time of 8s); then, vehicle a is monitored at the designated monitoring position of vehicle a (i.e., the traffic hub point Z1). Nodes and node in the remaining target node set are deleted. Further, the next robot (i.e., robot j) is selected in the order of power size, and the above process is repeated. The optimal task sequence of robot j is obtained as (j ), indicating that robot j first charges to 6 at charging station q (i.e., charging time of 12 seconds); then monitors vehicle b at its designated monitoring location; and finally monitors vehicle c at its actual monitoring location. At this point, the set of remaining target nodes does not include the target node corresponding to the current location to be monitored, and all locations to be monitored have been assigned to the robot. During the next preset planning duration, the robot executes tasks at each assigned location in the order indicated by the planning results obtained in this round.
[0142] In some embodiments, Figure 2 In the scenario shown, see Figure 3 , Figure 3 A second flow chart of a multi-machine collaborative task planning method provided in an embodiment of the present invention may include the following steps:
[0143] S301: Determine whether re-planning is required. In this step, if there is a target object in the area to be monitored, re-planning is required and step S302 is executed; otherwise, step S304 is executed.
[0144] S302: Constructing nodes for robots, target vehicles, and charging stations. In this step, a node is constructed for each robot, charging station, and each location of the target vehicle in the monitored area within the preset planning time.
[0145] S303: Perform multi-machine collaborative mission planning.
[0146] In this step, the electronic device performs planning according to the multi-machine collaborative task planning method provided by the present invention, obtains the positions assigned to the robots and the execution order of the positions (i.e., planning results), and sends the corresponding planning results to the robots.
[0147] S304: All robots monitor the target according to the current planning results. In this step, after receiving the corresponding planning results, the robots can perform the tasks at the assigned positions in sequence according to the execution order.
[0148] S305: The process ends.
[0149] In this step, after this round of mission planning is completed, the electronic device can continue to detect whether there is a target object in the monitored area. When the target object is detected, the electronic device continues to plan according to the multi-machine collaborative mission planning method provided by the present invention.
[0150] In some embodiments, see Figure 4 , Figure 4 A third flow chart of a multi-machine collaborative task planning method provided in an embodiment of the present invention may include the following steps:
[0151] S401: Input all robot nodes, charging station nodes, and the remaining target node set. In this step, the robot nodes, charging station nodes, and the remaining target node set are the nodes constructed in the above step S302.
[0152] S402: Select a robot in order of power level.
[0153] In this step, the order of power levels is the order of the remaining power levels of each robot after it has completed its previously assigned tasks.
[0154] S403: Execute the task planning algorithm. In this step, the task planning algorithm is executed, that is, the algorithm for expanding the labels in the node network to determine the planning result corresponding to the current robot.
[0155] S404: Determine whether the remaining target node set is empty. In this step, if the remaining target node set is not empty, it indicates that there are currently unassigned locations to be monitored. The electronic device returns to step S402 and continues to add nodes to the current node network to plan the current robot's mission. If the remaining target node set is empty, that is, all current locations to be monitored have been assigned to the robot, and step S405 is executed.
[0156] S405: The process ends.
[0157] In this step, after this round of mission planning is completed, the electronic device can continue to detect whether there is a target object in the monitored area. When the target object is detected, the electronic device continues to plan according to the multi-machine collaborative mission planning method provided by the present invention.
[0158] In some embodiments, see Figure 5 , Figure 5 A flowchart of a task planning algorithm provided in an embodiment of the present invention may include the following steps:
[0159] S501: Input the selected robot node, all charging station nodes, and the remaining target node set.
[0160] In this step, the selected robot node is the node of the current robot; the remaining target nodes are the nodes at the locations to be monitored that are not currently added to any node network.
[0161] S502: Initialize the node network with the robot node as the starting point.
[0162] S503: Create an empty temporary label set and a permanent label set for the starting node.
[0163] S504: Add the initial tag to the temporary tag set of the starting point.
[0164] S505: Add the optimal target node and the corresponding charging station node to the network.
[0165] The temporary label set is the aforementioned temporary set; the permanent label set is the aforementioned target set; the optimal target node is the aforementioned node indicating the current optimal position; the optimal target node corresponding charging station node is the aforementioned node indicating the currently determined charging position. If the optimal target node corresponding charging station node has been added to the current node network, there is no need to repeatedly add the optimal target node corresponding charging station node; in the case where the optimal target node corresponding charging station node has not been added to the current node network, the optimal target node corresponding charging station node needs to be added.
[0166] S506: Add the node resource corresponding to the target node.
[0167] In this step, after adding the node to the node network, the temporary label of each node in the current node network is added with a node resource indicating that the newly added node has not been visited (i.e., the aforementioned resource vector).
[0168] S507: Label processing process.
[0169] In this step, the temporary label set of the newly added target node and charging station node is updated.
[0170] S508: Determine whether there is a full access task sequence in the current network. In this step, the full access task sequence is that the path corresponding to the current extended label includes each target node in the current network. If the determination result is yes, i.e., there is a full access task sequence in the current network, the current network needs to be updated, and step S505 is executed; and in this case, the electronic device can also obtain an alternative result based on the current extended label according to the aforementioned label backtracking process. Otherwise, step S509 is executed.
[0171] S509: Delete the newly added target node, and then delete the target node in the current network from the remaining target node set. In this step, there is no full access task sequence, indicating that each node in the current node network cannot be fully accessed, i.e., there are positions that the current robot cannot execute tasks. Therefore, the newly added target node is deleted, and the target node in the current network is deleted from the remaining target node set, i.e., the position assigned to the current robot is deleted from the current unassigned monitoring position.
[0172] S510: Output the optimal task sequence obtained from the previous label processing. In this step, the optimal task sequence obtained from the previous label processing is the latest candidate result. The electronic device uses the position indicated by the latest candidate result as the position assigned to the current robot and the order indicated by the latest candidate result as the execution order of each position, thus obtaining the planning result for the current robot.
[0173] S511: The process ends.
[0174] In this step, the current robot's task sequence is obtained by processing the labels in the node network.
[0175] In some embodiments, see Figure 6 , Figure 6 This is a first flow chart of label processing provided by an embodiment of the present invention. The process may include the following steps:
[0176] S601: Input the node network and the temporary and permanent label sets of all nodes.
[0177] In this step, the node network is the updated node network obtained in the aforementioned step S506.
[0178] S602: Determine whether the temporary label set is completely empty. In this step, if the temporary label set is not empty, it means that the current node network can continue to expand the temporary label, and step S603 is executed; if the temporary label set is empty, it means that the label in the current node network cannot continue to expand, and therefore, step S608 is executed;
[0179] S603: Select the best label from all temporary label sets.
[0180] In this step, the optimal label is the label that meets the aforementioned extension condition, that is, the current extended label.
[0181] S604: Determine whether the label is fully accessible. In this step, if not, that is, the label does not indicate full access, it means that the current node network can continue to expand the temporary label, and step S605 is executed. If so, that is, the label indicates full access, it means that the label in the current node network has been expanded and the current node network needs to be updated later, so step S607 is executed.
[0182] S605: Remove the retrieved label from the temporary label set of the node and add it to the permanent label set of the node.
[0183] In this step, the current extended label is migrated to the target set of the node to which the current extended label belongs, and the current extended label recorded in the temporary set of the node to which the current extended label belongs is deleted.
[0184] S606: Extend the tag to all reachable neighbor nodes of the node. Return to step S603. Reachable neighbor nodes are the aforementioned reachable nodes. In this step, the electronic device updates the temporary set of reachable nodes based on the aforementioned tag expansion process. This also extends the tags in the permanent tag set to the new target node and the charging station node.
[0185] S607: Outputting the optimal task sequence obtained by backtracking the label. In this step, the optimal task sequence obtained by backtracking the label is the candidate result obtained based on the current extended label in the aforementioned label backtracking process.
[0186] S608: Outputting a task sequence that does not have full access. In this step, if the temporary set is empty, the tags in the current node network cannot be further expanded, and the electronic device directly outputs an indication that the locations indicated by the nodes in the current node network are not fully accessible. Subsequently, the newly added target node is deleted, and the current robot planning result is obtained based on the latest alternative results; the target node in the current network is deleted from the remaining target node set.
[0187] S609: The process ends.
[0188] In this step, the current robot's task sequence is obtained by processing the labels in the node network.
[0189] In some embodiments, see Figure 7 , Figure 7 The second flowchart of the label processing provided by the embodiment of the present invention may include the following steps:
[0190] S701: Add the resource of the label to the consumption of the corresponding edge to obtain a new resource.
[0191] In this step, the resources are the time consumption and power consumption indicated by the tags in the above embodiment.
[0192] S702: Determine whether the new time and power exceed the maximum constraint, or whether the new resource vector violates the constraint.
[0193] In this step, the new time and power consumption are the time and power consumption indicated by the tag to be verified in the aforementioned embodiment; the new time and power consumption exceed the maximum constraint, that is, the time consumption indicated by the tag to be verified is greater than the maximum time constraint of the reachable location, and / or the power consumption indicated by the tag to be verified is greater than the maximum power constraint of the reachable location. The new resource vector violates the constraint, indicating that the node to which the tag to be verified belongs is repeatedly visited, such as the value of the corresponding resource vector is -1. If the new time or power consumption exceeds the maximum constraint, or the new resource vector violates the constraint, the tag to be verified does not need to be retained, and step S708 is executed; otherwise, step S703 is executed.
[0194] S703: Determine whether the new time and power do not reach the minimum constraints.
[0195] If the new time or power does not reach the minimum constraint, execute step S704; otherwise, execute step S705.
[0196] S704: Replenish the time and power to the minimum constraints.
[0197] S705: Create a new tag using the new resource.
[0198] That is, if the time consumption indicated by the to-be-verified label of the reachable node belongs to the time consumption interval of the reachable location, and the power consumption indicated by the to-be-verified label belongs to the current power consumption interval of the reachable location, the subsequent process is performed based on the to-be-verified label; if the time consumption indicated by the to-be-verified label is less than the lower limit of the time consumption interval of the reachable location, the time consumption indicated by the to-be-verified label is modified to the lower limit of the time consumption interval of the reachable location; if the power consumption indicated by the to-be-verified label is less than the lower limit of the current power consumption interval of the reachable location, the power consumption indicated by the to-be-verified label is modified to the lower limit of the current power consumption interval of the reachable location; the modified label is obtained; and the subsequent process is performed based on the modified label.
[0199] S706: Determine whether there is no label in the temporary label set of the new node that dominates the new label.
[0200] If no label in the temporary label set of the new node dominates the new label, execute step S707; otherwise, execute step S708.
[0201] S707: Remove all dominated labels in the temporary label set of the new node; add the new label to the temporary label set of the new node. That is, if the dominant label of the modified label does not exist in the temporary set of the reachable node, record the modified label in the temporary set of the reachable node, and delete all labels dominated by the current newly recorded label in the temporary set of the reachable node; if the modified label exists in the temporary set of the reachable node, there is no need to record the modified label in the temporary set of the reachable node. Similarly, if the obtained label to be verified does not need to be modified, directly determine whether there is a dominant label of the label to be verified in the temporary set of the reachable node. If not, record the label to be verified in the temporary set of the reachable node, and delete all labels dominated by the current newly recorded label in the temporary set of the reachable node; if it exists, there is no need to record the label to be verified in the temporary set of the reachable node.
[0202] S708: The process ends.
[0203] Based on the above processing, the positions assigned to the current robot and the execution order of each position are determined based on the current initial time consumption, the current time consumption of each position group, and the current time consumption interval of each candidate position. This ensures that when the current robot executes the tasks at each position according to the execution order, it can complete the assigned tasks at each position on time. Furthermore, since the location of the designated charging station is also involved in the task assignment process for the current robot, the current initial power consumption, the current power consumption of each position group, and the current power consumption interval of each candidate position are also considered when assigning tasks to the current robot. That is, the power constraints of the current power consumption interval of each candidate position and the robot's charging behavior are incorporated into the task planning scope. When assigning tasks to the current robot, the power constraints are taken into account. This ensures that after the current robot executes the tasks at each position in sequence according to the execution order, it still has enough power to travel from that position to the nearest charging station. This means that the current robot can recharge in a timely manner. This reduces the probability of the robot failing to complete the assigned tasks due to power constraints when executing the assigned tasks at each position, thereby improving the reliability of task execution.
[0204] By determining the monitored positions involved in task planning based on the specified positions, the uncertainty of the target behavior is taken into account, and it can be applied to detection activities with more complex target behaviors, which is more in line with the needs of actual scenarios and has good practicality. It can improve the utilization rate of robots, significantly reduce the number of robots required in the process of monitoring objects, minimize the robot cluster, and save the resources needed during the movement of the robot cluster. Based on the node network, by adding nodes and expanding labels, the positions assigned to the current robot are determined in sequence; the order of the assigned positions is determined, that is, the order in which the nodes are added to the node network, that is, the execution order of the assigned positions. By adding nodes to the network one by one, the amount of calculation for each label expansion is controlled, that is, the size of the search grid is controlled, effectively improving the real-time computing efficiency of large-scale scenarios, and enabling large-scale monitoring. That is, based on the multi-machine collaborative unmanned planning method provided by the present invention, it has good applicability in scenarios where the resources consumed during the movement of robot clusters are limited and long-term monitoring of multiple moving objects is required. Moreover, by storing the intermediate calculation results of each path through temporary labels, each time a new temporary label is obtained, that is, each time a grid is searched, it can be performed based on the previous search without having to recalculate from scratch, further improving the calculation efficiency, that is, improving the efficiency of task planning.
[0205] Based on the same inventive concept as the above-mentioned multi-machine collaborative task planning method, the present invention also provides a multi-machine collaborative task planning device. Figure 8 , Figure 8A structural diagram of a multi-machine cooperative task planning device provided by an embodiment of the present application. The device comprises: an object determining module 801 configured to determine, from a to-be-monitored area, a to-be-monitored object that is currently not assigned to a robot for monitoring; a position determining module 802 configured to predict a to-be-monitored position of each current to-be-monitored object when the to-be-monitored object is to be monitored within a specified time length; a robot determining module 803 configured to determine, in a preset order, a robot that is currently to be assigned a task as a current robot; an acquisition module 804 configured to acquire a time consumption interval of each current candidate position and a current power consumption interval; and to calculate a time consumption and a power consumption of the current robot when moving from one candidate position to another candidate position as a time consumption and a power consumption of a position group composed of the two candidate positions; the current candidate positions include an initial position of the current robot after the robot has completed a historical assigned task, a to-be-monitored position that is currently not assigned, and a position of a specified charging station; the time consumption interval of a to-be-monitored position indicates that, if any robot is controlled to perform a task at the to-be-monitored position and the robot can complete the task on time, the time consumption interval to which a time consumption of the robot for performing the task belongs; and a task planning module 805 configured to determine, from the position of the specified charging station and the to-be-monitored position that is currently not assigned, a position assigned to the current robot and an execution order of the positions according to a current initial time consumption and a current initial power consumption, a time consumption and a power consumption of each current position group, a time consumption interval of each current candidate position, and the current power consumption interval, and to send the position and the execution order to the current robot, so that the current robot performs tasks at the assigned positions according to the execution order; and to return to the step of determining, in a preset order, the robot that is currently to be assigned a task.
[0206] Optionally, the current initial time consumption indicates a time difference between a current time and a time when the current robot has completed a historical assigned task; the current initial power consumption indicates a power difference between a maximum power of the current robot and a residual power of the current robot when the robot has completed the historical assigned task; and the task planning module 805 is specifically configured to: construct a node network of the current robot with a node indicating the current initial position as a starting point; an initial label indicating the current initial time consumption and the current initial power consumption is included in a temporary set of the starting point; the current initial label does not indicate a label; and based on the time consumption and the power consumption of each current position group, the time consumption interval of each current candidate position, the current power consumption interval, the position of the specified charging station, and the to-be-monitored position that is currently not assigned, the current node network is updated to acquire a candidate result indicating a plurality of positions and an order of the plurality of positions based on the current initial label until there is no label in the temporary set of each node; and the latest candidate result is taken as a planning result of the current robot.
[0207] Optionally, the task planning module 805 is specifically used to: determine the current optimal position from the currently unassigned positions to be monitored; determine the charging position of the charging station closest to the optimal position; add nodes indicating the currently determined optimal position and charging position to the current node network respectively; connect the currently added node with other nodes in the current node network; add resource vectors to the labels in the temporary set and target set of each node; determine the extended label that currently meets the extension condition from the temporary set of each node; if the resource vector of the current extended label indicates that there are unvisited nodes, based on the current time and power consumption of each position group, the current time interval of each alternative position and the current power consumption interval, update the temporary set of nodes connected to the node to which the current extended label belongs; return to execute the step of determining the extended label that currently meets the extension condition from the temporary set of each node until the resource vector of the current extended label indicates that there are no unvisited nodes or there are no labels in the temporary set of each node; if the resource vector of the current extended label indicates that there are no unvisited nodes, backtrack the current extended label to obtain an alternative result; return to execute the step of determining the optimal position in the currently unassigned positions to be monitored.
[0208] Optionally, the resource vector currently added for a label indicates that the node corresponding to the currently determined optimal position is not visited;
[0209] The task planning module 805 is specifically used to: migrate the current extended tag to the target set of the node to which it belongs, and delete the current extended tag in the temporary set; determine the reachable nodes connected to the node to which the current extended tag belongs; for each current reachable node, determine the time and power consumption of the location group including the location indicated by the node to which the current extended tag belongs and the reachable location indicated by the reachable node; calculate the sum of the time indicated by the current extended tag and the time consumption of the currently determined location group, and calculate the sum of the power consumption indicated by the current extended tag and the power consumption of the currently determined location group to obtain the time and power consumption indicated by the to-be-verified tag of the reachable node; when the reachable node indicates the currently determined optimal location, modify the resource vector of the to-be-verified tag to indicate that the reachable node has been visited; the to-be-verified tag also indicates the current extended tag; based on the time and power consumption indicated by the to-be-verified tag, the resource vector of the to-be-verified tag, the time consumption interval and the current power consumption interval of the reachable location, and the tags in the temporary set of the reachable nodes, update the temporary set of the reachable nodes.
[0210] Optionally, the extended condition includes at least one of the following: the indicated time consumption is the shortest, the indicated power consumption is the least, and the weighted sum of the indicated time consumption and power consumption is the smallest; the task planning module 805 is specifically configured to: determine, for each unassigned position to be monitored, the time consumption of a position group including the current initial position and the position to be monitored; calculate the weighted sum of the time consumption of the determined position group and the upper limit of the time consumption interval of the position to be monitored; and determine the optimal position with the smallest weighted sum from the positions to be monitored that are not currently connected to any node network;
[0211] The task planning module 805 is specifically configured to: determine the current extended label as the current backtracking label; determine the label indicated by the current backtracking label as the current backtracking label; return to the step of determining the label indicated by the current backtracking label as the current backtracking label until the current backtracking label becomes the current initial label; use the position indicated by the node to which the determined backtracking label belongs as the position indicated by the alternative result, and use the reverse order of the order in which the backtracking labels are determined as the order indicated by the alternative result;
[0212] The device further comprises: a deletion module for deleting the node that is newly added in the current node network and indicates the current optimal position before the task planning module 805 executes the execution of using the latest candidate result as the planning result of the current robot.
[0213] Optionally, the task planning module 805 is specifically used to: if the time consumption and power consumption indicated by the tag to be verified belong to the time consumption interval and the current power consumption interval of the reachable location respectively, the resource vector indicates that there is no repeated node visited multiple times, and there is no dominant tag that dominates the tag to be verified in the temporary set of reachable nodes, record the tag to be verified in the temporary set of reachable nodes; one tag dominates another tag, indicating that: at least one of the time consumption and power consumption indicated by the tag is less than the other tag and the other is not greater than the other tag; if the time consumption indicated by the tag to be verified is less than the lower limit of the time consumption interval of the reachable location, the resource vector indicates that If it indicates that the duplicate node does not exist and the dominant label does not exist in the temporary set of reachable nodes, the time consumption indicated by the label to be verified is modified to the lower limit of the time consumption interval of the reachable position; if the power consumption indicated by the label to be verified is less than the lower limit of the current power consumption interval of the reachable position, the included resource vector indicates that the duplicate node does not exist and the dominant label does not exist in the temporary set of reachable nodes, the power consumption indicated by the label to be verified is modified to the lower limit of the current power consumption interval of the reachable position; the modified label is recorded in the temporary set of reachable nodes; and all labels in the temporary set of reachable nodes that are dominated by the currently newly recorded label are deleted.
[0214] Optionally, the object determination module 801 is specifically used to: obtain the minimum value of the current motion time corresponding to the specified apron as the current minimum time; wherein, the current motion time corresponding to a apron is: the time it takes for the robot currently on the apron to move from the apron to the farthest position in the area to be monitored; when an object is detected in the area to be monitored, including an object that needs to be monitored within the current minimum time and for which no robot is currently assigned to monitor, the object to which no robot is currently assigned to monitor is determined from the area to be monitored as the current object to be monitored.
[0215] Optionally, the object determination module 801 is specifically used to: for each current object to be monitored, obtain the time between the current moment and the moment when the monitoring period corresponding to the object to be monitored is next reached, as the first time length; according to the first time length, the current position and movement speed of the object to be monitored, calculate the position of the object to be monitored when it reaches the corresponding monitoring period next time, as the actual monitoring position; according to the current movement direction of the object to be monitored, determine the designated position to which the object to be monitored will move next from each designated position included in the monitored area, as the designated monitoring position; calculate the movement speed of the object to be monitored from the current position The time taken to reach the designated monitoring position is used as the second duration; if the first duration is not less than the second duration, and the first duration is not greater than the specified duration, the designated monitoring position is used as the current position to be monitored; if the second duration is greater than the monitoring period corresponding to the object to be monitored, and the second duration is not greater than the specified duration, the real monitoring position is used as the current position to be monitored; if the first duration is less than the second duration, the second duration is not greater than the monitoring period corresponding to the object to be monitored, and the second duration is not greater than the specified duration, the designated monitoring position and the real monitoring position are used as the current positions to be monitored.
[0216] Optionally, if a location to be monitored is a real monitoring location corresponding to any object to be monitored, the time interval of the location to be monitored is ;in, Indicates the monitoring period corresponding to the monitored object to which the monitored location belongs. Indicates the time between the last time the monitored object at the monitored location reached the corresponding monitoring period and the current time; Indicates the first duration corresponding to the monitored object to which the monitored position belongs; if a monitored position is a designated monitoring position corresponding to any monitored object, the time interval of the monitored position is ;in, Indicates the second duration corresponding to the monitored object to which the monitored position belongs. Indicates the time it takes for the current robot to perform the task at the location to be monitored; the lower limit of the time interval for other alternative locations except the location to be monitored is 0, and the upper limit is positive infinity; the current power consumption interval of a location has a lower limit of 0, and an upper limit is the remaining power of the current robot after moving from the location to the nearest charging station at maximum power.
[0217] Optionally, the preset order is the order of the remaining power of each robot after completing the historically assigned tasks.
[0218] The embodiment of the present invention further provides an electronic device, such as Figure 9 As shown, the system includes a processor 901, a communication interface 902, a memory 903, and a communication bus 904. The processor 901, the communication interface 902, and the memory 903 communicate with each other via the communication bus 904. The memory 903 is used to store computer programs; the processor 901 is used to implement any of the aforementioned multi-machine collaborative task planning methods when executing the programs stored in the memory 903.
[0219] The communication bus mentioned in the electronic device mentioned above may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. This communication bus can be divided into an address bus, a data bus, a control bus, and so on. For ease of illustration, the figure uses only a single thick line, but this does not imply a single bus or type of bus. The communication interface is used for communication between the electronic device and other devices. The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the processor. The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0220] In another embodiment provided by the present invention, a computer-readable storage medium is also provided, which stores a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned multi-machine collaborative task planning methods are implemented.
[0221] In another embodiment provided by the present invention, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any of the multi-machine collaborative task planning methods in the above embodiments.
[0222] In the above embodiments, all or part of the embodiments can be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with the embodiments of the present invention are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disk, hard disk, tape), optical media (e.g., DVD), or semiconductor media (e.g., solid-state disk (SSD)).
[0223] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.
[0224] Each embodiment in this specification is described in a related manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences between the other embodiments. In particular, since the apparatus, electronic device, computer-readable storage medium, and computer program product are generally similar to the method embodiments, their descriptions are relatively simple. For related portions, reference can be made to the descriptions of the method embodiments.
[0225] The above description is only a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention are included in the scope of protection of the present invention.
Claims
1. A multi-machine collaborative task planning method, characterized in that: The method comprises: Determine an object to be monitored that is not currently assigned a robot for monitoring from the area to be monitored; Predict the location of each monitored object within a specified time period. Determine the robot to be assigned a task according to a preset order as the current robot; Obtain the time interval and power consumption interval for each current candidate position; and calculate the time and power consumption of the current robot moving from one candidate position to another candidate position as the time and power consumption of the position group consisting of the two candidate positions; the current candidate positions include: the initial position of the current robot after completing a historically assigned task, the currently unassigned position to be monitored, and the position of the designated charging station; the time interval of a position to be monitored represents: if any robot is controlled to perform the task at the position to be monitored and the robot can complete the task on time, the time interval to which the robot will perform the task belongs; According to the current initial time consumption and initial power consumption, the current time consumption and power consumption of each position group, the current time consumption interval and current power consumption interval of each alternative position, the position assigned to the current robot and the execution order of each position are determined from the position of the designated charging station and the currently unassigned positions to be monitored, and sent to the current robot so that the current robot performs the tasks at the assigned positions according to the said execution order; return to the step of determining the robot to be currently assigned tasks according to the preset order.
2. The method according to claim 1, characterized in that The current initial time consumption indicates the time difference between the current moment and the moment when the current robot completes the previously assigned task. The current initial power consumption indicates the difference between the current robot's maximum power and the remaining power after the current robot completes the previously assigned task. The method of determining the positions assigned to the current robot and the execution order of the positions from the positions of the designated charging station and the currently unassigned positions to be monitored according to the current initial time consumption and initial power consumption, the current time consumption and power consumption of each position group, the current time consumption interval and the current power consumption interval of each candidate position, includes: The node network of the current robot is constructed with the node indicating the current initial position as the starting point; the temporary set of starting points includes an initial label indicating the current initial time consumption and initial power consumption; the current initial label does not indicate a label; Based on the current time consumption and power consumption of each position group, the current time consumption interval and the current power consumption interval of each candidate position, the location of the designated charging station and the currently unassigned locations to be monitored, updating the current node network to obtain candidate results indicating multiple locations and the order of the multiple locations based on the current initial labels until there are no labels in the temporary set of nodes; The latest alternative result is used as the current robot planning result.
3. The method according to claim 2, characterized in that The updating of the current node network based on the current time consumption and power consumption of each position group, the current time consumption interval and the current power consumption interval of each candidate position, the position of the designated charging station and the currently unassigned position to be monitored includes: Determine the current optimal position from the currently unassigned positions to be monitored; determine the charging position of the charging station closest to the optimal position; add nodes indicating the currently determined optimal position and charging position to the current node network; connect the currently added node with other nodes in the current node network; Add resource vectors to the labels in the temporary set and target set of each node; determine the extended labels that currently meet the extension conditions from the temporary set of each node; If the resource vector of the current extended label indicates that there are unvisited nodes, based on the current time consumption and power consumption of each position group, the current time consumption interval of each candidate position, and the current power consumption interval, update the temporary set of nodes connected to the node to which the current extended label belongs; return to the step of determining the extended label that currently meets the extension condition from the temporary set of each node until the resource vector of the current extended label indicates that there are no unvisited nodes or there is no label in the temporary set of each node; If the resource vector of the current extended label indicates that there is no unvisited node, backtrack the current extended label to obtain an alternative result; and return to the step of determining the optimal position among the currently unassigned positions to be monitored.
4. The method according to claim 3, characterized in that The resource vector currently added for a label indicates that the node corresponding to the currently determined optimal position has not been visited; The updating of the temporary set of nodes connected to the node to which the current extended tag belongs based on the current time consumption and power consumption of each position group, the current time consumption interval of each candidate position, and the current power consumption interval includes: Migrate the current extended label to the target set of the node to which it belongs, and delete the current extended label in the temporary set; Determine a reachable node connected to the node to which the current extended tag belongs; for each current reachable node, determine the time consumption and power consumption of a location group including the location indicated by the current extended tag node and the reachable location indicated by the reachable node; calculate the sum of the time consumption indicated by the current extended tag and the time consumption of the currently determined location group, and calculate the sum of the power consumption indicated by the current extended tag and the power consumption of the currently determined location group, to obtain the time consumption and power consumption indicated by the to-be-verified tag of the reachable node; when the reachable node indicates the currently determined optimal location, modify the resource vector of the to-be-verified tag to indicate that the reachable node has been visited; the to-be-verified tag also indicates the current extended tag; The temporary set of reachable nodes is updated based on the time consumption and power consumption indicated by the tag to be verified, the resource vector of the tag to be verified, the time consumption interval and the current power consumption interval of the reachable location, and the tags in the temporary set of reachable nodes.
5. The method according to claim 4, characterized in that The extended condition includes at least one of the following: the indicated time consumption is shortest, the indicated power consumption is least, and the weighted sum of the indicated time consumption and power consumption is smallest; The determining of the current optimal position from the currently unassigned positions to be monitored includes: For each currently unassigned location to be monitored, determine the time taken by the location group including the current initial location and the location to be monitored; calculate the weighted sum of the time taken by the determined location group and the upper limit of the time taken by the location to be monitored; and determine the optimal location with the minimum weighted sum from the locations to be monitored that are not currently connected to any node network. The backtracking of the current extended tag to obtain alternative results includes: Determine the current extended label as the current backtracking label; determine the label indicated by the current backtracking label as the current backtracking label; return to the step of determining the label indicated by the current backtracking label as the current backtracking label until the current backtracking label becomes the current initial label; use the position indicated by the node to which the determined backtracking label belongs as the position indicated by the candidate result, and use the reverse order of the order in which the backtracking labels were determined as the order indicated by the candidate result; Before taking the latest candidate result as the current robot planning result, the method further includes: Delete the most recently added node in the current node network that indicates the current optimal position.
6. The method according to claim 4, characterized in that The updating of the temporary set of reachable nodes based on the time consumption and power consumption indicated by the tag to be verified, the resource vector of the tag to be verified, the time consumption interval and the current power consumption interval of the reachable location, and the tags in the temporary set of reachable nodes includes: If the time consumption and power consumption indicated by the tag to be verified belong to the time consumption interval and the current power consumption interval of the reachable location respectively, the resource vector indicates that there are no repeated nodes visited multiple times, and there is no dominant tag dominating the tag to be verified in the temporary set of reachable nodes, the tag to be verified is recorded in the temporary set of reachable nodes; if one tag dominates another tag, it means that at least one of the time consumption and power consumption indicated by the tag is less than that of the other tag, and the other is not greater than that of the other tag; If the time consumption indicated by the tag to be verified is less than the lower limit of the time consumption interval of the reachable location, the resource vector indicates that the duplicate node does not exist, and the dominant tag does not exist in the temporary set of reachable nodes, the time consumption indicated by the tag to be verified is modified to the lower limit of the time consumption interval of the reachable location; If the power consumption indicated by the tag to be verified is less than the lower limit of the current power consumption interval of the reachable location, the included resource vector indicates that the duplicate node does not exist, and the dominant tag does not exist in the temporary set of reachable nodes, modify the power consumption indicated by the tag to be verified to the lower limit of the current power consumption interval of the reachable location; Record the modified label in the temporary set of reachable nodes; Delete all labels in the temporary set of reachable nodes that are dominated by the label of the current new record.
7. The method according to claim 1, characterized in that The step of determining an object to be monitored that is not currently assigned a robot for monitoring from the area to be monitored includes: Obtain the minimum value of the motion time currently corresponding to the specified apron as the current minimum motion time; wherein the motion time currently corresponding to a apron is: the time it takes for the robot currently on the apron to move from the apron to the farthest position in the monitoring area; When it is detected that the area to be monitored includes an object that needs to be monitored within the current minimum time and is not currently assigned to a robot for monitoring, the object not currently assigned to a robot for monitoring is determined from the area to be monitored as the current object to be monitored.
8. The method according to claim 1, characterized in that The predicting of the monitored position of each current monitored object when it is to be monitored within a specified time period includes: For each current object to be monitored, obtain the duration between the current moment and the next moment when the monitoring cycle corresponding to the object to be monitored is reached as the first duration; According to the first time duration, the current position and movement speed of the monitored object, calculate the position of the monitored object when it reaches the corresponding monitoring period next time as the actual monitoring position; According to the current movement direction of the object to be monitored, from the designated positions included in the area to be monitored, determine the designated position to which the object to be monitored will move next as the designated monitoring position; Calculating the time it takes for the object to be monitored to move from its current position to the designated monitoring position as a second duration; If the first duration is not less than the second duration, and the first duration is not greater than the specified duration, the specified monitoring position is used as the current position to be monitored; If the second time period is greater than the monitoring period corresponding to the object to be monitored, and the second time period is not greater than the specified time period, the actual monitoring position is used as the current position to be monitored; If the first duration is less than the second duration, the second duration is not greater than the monitoring period corresponding to the monitored object, and the second duration is not greater than the specified duration, the specified monitoring position and the actual monitoring position are used as the current monitored position.
9. The method according to claim 8, characterized in that If a location to be monitored is the actual monitoring location corresponding to any object to be monitored, the time interval of the location to be monitored is ;in, Indicates the monitoring period corresponding to the monitored object to which the monitored location belongs. Indicates the time between the last time the monitored object at the monitored location reached the corresponding monitoring period and the current time; Indicates the first duration corresponding to the monitored object to which the monitored position belongs; If a location to be monitored is a designated monitoring location corresponding to any object to be monitored, the time interval of the location to be monitored is ;in, Indicates the second duration corresponding to the monitored object to which the monitored position belongs. Indicates the time it takes for the current robot to perform the task at the location to be monitored; The lower limit of the time interval for other candidate locations except the location to be monitored is 0, and the upper limit is positive infinity; The lower limit of the current power consumption range at a location is 0, and the upper limit is the remaining power of the current robot after moving from the location to the nearest charging station at maximum power.
10. The method according to claim 1, characterized in that The preset order is the order of the remaining power of each robot after completing the historically assigned tasks.
11. A multi-machine collaborative task planning device, characterized in that: The device comprises: An object determination module is used to determine an object to be monitored that is not currently assigned a robot for monitoring from the area to be monitored; A location determination module is used to predict the location of each monitored object when it is to be monitored within a specified time period; A robot determination module is used to determine the robot to be assigned a task according to a preset order as the current robot; An acquisition module is configured to obtain the time interval and power consumption interval for each current candidate position; and calculate the time and power consumption of the current robot moving from one candidate position to another candidate position as the time and power consumption of the position group consisting of the two candidate positions; the current candidate positions include: the initial position of the current robot after completing a previously assigned task, the currently unassigned position to be monitored, and the position of the designated charging station; the time interval for a position to be monitored represents: if any robot is controlled to perform the task at the position to be monitored and the robot can complete the task on time, the time interval to which the robot would spend performing the task belongs; The task planning module is used to determine the positions assigned to the current robot and the execution order of each position from the positions of the designated charging station and the currently unassigned positions to be monitored according to the current initial time consumption and initial power consumption, the current time consumption and power consumption of each position group, the current time consumption interval and the current power consumption interval of each alternative position, and send them to the current robot so that the current robot performs the tasks at the assigned positions according to the said execution order; and return to the step of determining the robot to be currently assigned the task according to the preset order.
12. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory for storing computer programs; A processor, configured to implement the method according to any one of claims 1 to 10 when executing a program stored in a memory.
13. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 10 is implemented.
Citation Information
Patent Citations
Charging scheduling method for unmanned vehicle group and cloud management server
CN110533901A
Storage robot management method and device based on segmented charging planning
CN110543980A