CN109426560A - Method for allocating tasks, device and computer readable storage medium - Google Patents

Method for allocating tasks, device and computer readable storage medium Download PDF

Info

Publication number
CN109426560A
CN109426560A CN201710748498.3A CN201710748498A CN109426560A CN 109426560 A CN109426560 A CN 109426560A CN 201710748498 A CN201710748498 A CN 201710748498A CN 109426560 A CN109426560 A CN 109426560A
Authority
CN
China
Prior art keywords
task
mobile robot
sub
grid
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710748498.3A
Other languages
Chinese (zh)
Inventor
缪松华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201710748498.3A priority Critical patent/CN109426560A/en
Publication of CN109426560A publication Critical patent/CN109426560A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The invention discloses a kind of method for allocating tasks, device and computer readable storage mediums, belong to big data technical field.The described method includes: obtaining the multiple tasks in target area, the quantity of the multiple task is the first quantity;Determine that multiple mobile robots, the quantity of the multiple mobile robot are the second quantity;It is that each mobile robot distributes a task from the multiple task when first quantity is greater than second quantity.The present invention considers the task quantity that mobile robot is distributed during distribution task, only a task is distributed to each mobile robot, and remaining task can be in state to be allocated, so that subsequent allocations give other mobile robots, flexibility is improved, and improves the execution efficiency of task totality.

Description

Task allocation method and device and computer readable storage medium
Technical Field
The present invention relates to the field of big data technologies, and in particular, to a method and an apparatus for task allocation and a computer-readable storage medium.
Background
At present, various mobile robots such as storage robots, sweeping robots, agricultural robots, patrol robots and the like are born at a glance, and can replace users to execute related tasks, such as carrying goods in a warehouse, sweeping in an office, weeding on a lawn, harvesting crops in a field and the like, so that the labor cost and the time cost are saved, the efficiency of executing tasks is improved, and great convenience is brought to the lives of people.
Taking the mobile robot as a sweeping robot as an example, when a plurality of sweeping robots need to execute a task of sweeping the warehouse, a certain sweeping area is allocated to each sweeping robot according to the total area of the warehouse and the sweeping capacity of each sweeping robot, and the sweeping area determined by the sweeping robot with the stronger sweeping capacity is larger.
In the process of implementing the embodiment of the present invention, the inventor finds that the related art has at least the following problems:
the task allocation method does not consider the number of tasks allocated to the mobile robot, when the number of tasks is larger than the number of the mobile robots, a plurality of tasks may be allocated to a certain mobile robot, and then the tasks are executed after the mobile robot executes the current task, but cannot be allocated to other mobile robots, so that the flexibility is poor, and the efficiency of executing the tasks is affected.
Disclosure of Invention
Embodiments of the present invention provide a task allocation method, a task allocation device, and a computer-readable storage medium, which can solve the problem in the related art that tasks that have been allocated but not executed cannot be allocated to other mobile robots. The technical scheme is as follows:
in a first aspect, a task allocation method is provided, and the method includes:
acquiring a plurality of tasks in a target area, wherein the number of the tasks is a first number;
determining a plurality of mobile robots, wherein the number of the mobile robots is a second number;
when the first number is greater than the second number, assigning one task to each mobile robot from the plurality of tasks.
In one possible implementation, after allocating one task from the plurality of tasks to each mobile robot when the first number is greater than the second number, the method further includes:
when a first mobile robot in the plurality of mobile robots performs a task, selecting one task from a plurality of tasks which are not distributed yet and distributing the selected task to the first mobile robot; or,
when a new second mobile robot is added, one task is selected from among a plurality of tasks that have not been assigned to the second mobile robot.
In another possible implementation manner, after allocating one task from the plurality of tasks to each mobile robot when the first number is greater than the second number, the method further includes:
when a third mobile robot which has been assigned a first task among the plurality of tasks cancels execution of the first task, selecting a fourth mobile robot from the plurality of mobile robots which have not been assigned a task;
assigning the first task to the fourth mobile robot.
In another possible implementation manner, when the first number is greater than the second number, allocating one task to each mobile robot from the plurality of tasks includes:
determining a current location of each of the plurality of mobile robots;
calculating the cost value of each mobile robot for executing each task respectively according to the current position of each mobile robot;
and determining a designated task allocation scheme with the minimum sum of cost values in a plurality of task allocation schemes according to the calculated plurality of cost values, wherein each task allocation scheme in the plurality of task allocation schemes comprises a task uniquely corresponding to each mobile robot.
In another possible implementation manner, the acquiring a plurality of tasks in the target area includes:
obtaining a plurality of sub-regions in the target region, each sub-region comprising at least one channel, each channel comprising a plurality of grids;
and acquiring a task of each channel to obtain the plurality of tasks, wherein each task is moved from a starting grid of the corresponding channel to an ending grid of the channel along the channel.
In another possible implementation manner, the calculating, according to the current position of each mobile robot, a cost value for each mobile robot to respectively execute each task includes:
for each mobile robot and each task, calculating a moving path of the mobile robot when the mobile robot moves to a starting grid corresponding to the task, wherein the task moves from the starting grid of a corresponding channel to an ending grid of the channel along the channel;
and calculating the cost value of the mobile robot when the mobile robot executes the task according to the moving path.
In another possible implementation manner, the calculating, according to the movement path, a cost value when the mobile robot performs the task includes:
and acquiring a moving distance corresponding to the moving path, and taking the moving distance as a cost value of the mobile robot for executing the task.
In another possible implementation manner, the calculating, according to the movement path, a cost value when the mobile robot performs the task includes:
acquiring a moving distance corresponding to the moving path;
obtaining the income of the task, wherein the income is positively correlated with the priority of the task;
and calculating a difference value between the moving distance and the profit as a cost value of the mobile robot for executing the task.
In another possible implementation manner, the target area includes a plurality of sub-areas, each sub-area includes at least one channel, the number of channels with the highest benefit of the task in each sub-area is at least one, and the highest benefits of different sub-areas are equal.
In another possible implementation manner, the profit of the task of the first channel in each sub-area is the highest, the termination grid of any channel in each sub-area is adjacent to the start grid of the adjacent channel, and the profit of the task of each channel in each sub-area is sequentially decreased according to the decreasing magnitude. .
In another possible implementation manner, the determining, according to the calculated plurality of cost values, a designated task allocation plan with a smallest sum of cost values among a plurality of task allocation plans for the task executed by each mobile robot includes:
forming a cost value matrix by the plurality of cost values, wherein the first dimension of the cost value matrix is the mobile robot, the second dimension of the cost value matrix is the task, and elements in the cost value matrix are the cost values of the corresponding mobile robot when the corresponding task is executed;
acquiring a matching matrix corresponding to the cost value matrix by adopting a preset task allocation algorithm, wherein elements in the matching matrix are matching coefficients between the corresponding mobile robot and the corresponding task;
and forming a matching combination by the mobile robot and the task corresponding to the matching coefficient which is equal to the specified value in the matching matrix to obtain a plurality of matching combinations, and forming the specified distribution scheme by the plurality of matching combinations.
In another possible implementation manner, the determining, according to the calculated plurality of cost values, a designated task allocation plan with a smallest sum of cost values among a plurality of task allocation plans for the task executed by each mobile robot includes:
constructing a capacity network, wherein the capacity network comprises a source node, a sink node, a robot node corresponding to each mobile robot and a task node corresponding to each task, the source node and each robot node are respectively connected through a first type of path, each robot node and each task node are respectively connected through a second type of path, and each task node and the sink node are respectively connected through a third type of path;
configuring the cost of each first type path and each third type path in the capacity network to be 0, and configuring the cost of each second type path to be a cost value when a mobile robot corresponding to a connected robot node executes a task corresponding to the connected task node;
acquiring a plurality of second-type paths which are started from the source node and passed by the sink node when the total cost of the capacity network is minimum and the total flow is maximum by adopting a minimum cost maximum flow algorithm;
and forming a matching combination by the mobile robot corresponding to the robot node connected with the same second type path in the second types of paths and the task corresponding to the connected task node to obtain a plurality of matching combinations, and forming the designated distribution scheme by the matching combinations.
In another possible implementation manner, the acquiring a plurality of sub-regions in the target region, each sub-region including at least one channel, includes:
dividing the target area into a plurality of grids, wherein the size of each grid is the same, and the grids containing the obstacles are obstacle grids;
partitioning grids except the obstacle grids in the target area to obtain a plurality of sub-areas;
for each sub-region, the sub-region is divided into at least one channel having a length equal to the length of the sub-region and a width equal to one grid.
In another possible implementation manner, the partitioning a grid in the target region except for the obstacle grid to obtain a plurality of sub-regions includes:
in the process of scanning the target area once, when a first position with changed connectivity is scanned and then a second position with changed connectivity is scanned, dividing the area between the first position and the second position according to the position of an obstacle grid to obtain at least one sub-area, so that different sub-areas are separated by the obstacle grid;
the change of the connectivity refers to the change of the distribution of the obstacle grids.
In a second aspect, a task allocation apparatus is provided, wherein the apparatus includes:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring a plurality of tasks in a target area, and the number of the tasks is a first number;
the mobile robot system comprises a determining module, a judging module and a judging module, wherein the determining module is used for determining a plurality of mobile robots, and the number of the mobile robots is a second number;
an assignment module to assign a task to each mobile robot from the plurality of tasks when the first number is greater than the second number.
In a possible implementation manner, the allocating module is further configured to, when a first mobile robot of the plurality of mobile robots performs a task, select one task from a plurality of tasks that have not been allocated to allocate to the first mobile robot; or,
the allocation module is further configured to select one task from a plurality of tasks that have not been allocated to allocate to the second mobile robot when a new second mobile robot is added.
In another possible implementation manner, the allocating module is further configured to select a fourth mobile robot from the plurality of mobile robots that have not yet allocated the task when the third mobile robot that has already allocated the first task of the plurality of tasks cancels execution of the first task; assigning the first task to the fourth mobile robot.
In another possible implementation manner, the allocating module includes:
a determination submodule for determining a current position of each of the plurality of mobile robots;
the calculation submodule is used for calculating the cost value of each mobile robot for executing each task according to the current position of each mobile robot;
the determining submodule is further configured to determine, according to the calculated multiple cost values, a designated task allocation scheme with a smallest sum of cost values in multiple task allocation schemes, where each task allocation scheme in the multiple task allocation schemes includes a task uniquely corresponding to each mobile robot.
In another possible implementation manner, the obtaining module is further configured to obtain a plurality of sub-regions in the target region, where each sub-region includes at least one channel, and each channel includes a plurality of grids;
the obtaining module is further configured to obtain a task of each channel to obtain the multiple tasks, where each task is a termination grid that moves from a start grid of a corresponding channel to the channel along the channel.
In another possible implementation manner, the calculation sub-module is further configured to calculate, for each mobile robot and each task, a movement path of the mobile robot when the mobile robot moves to a start grid corresponding to the task, where the task moves from the start grid of a corresponding channel to an end grid of the channel along the channel; and calculating the cost value of the mobile robot when the mobile robot executes the task according to the moving path.
In another possible implementation manner, the calculation sub-module is further configured to obtain a movement distance corresponding to the movement path, and use the movement distance as a cost value for the mobile robot to execute the task.
In another possible implementation manner, the calculation sub-module is further configured to obtain a movement distance corresponding to the movement path; obtaining the income of the task, wherein the income is positively correlated with the priority of the task; and calculating a difference value between the moving distance and the profit as a cost value of the mobile robot for executing the task.
In another possible implementation manner, the target area includes a plurality of sub-areas, each sub-area includes at least one channel, the number of channels with the highest benefit of the task in each sub-area is at least one, and the highest benefits of different sub-areas are equal.
In another possible implementation manner, the profit of the task of the first channel in each sub-area is the highest, the termination grid of any channel in each sub-area is adjacent to the start grid of the adjacent channel, and the profit of the task of each channel in each sub-area is sequentially decreased according to the decreasing magnitude.
In another possible implementation manner, the determining sub-module includes:
the composition unit is used for composing the cost values into a cost value matrix, the first dimension of the cost value matrix is the mobile robot, the second dimension of the cost value matrix is the task, and elements in the cost value matrix are the cost values of the corresponding mobile robot when the corresponding task is executed;
the acquisition unit is used for acquiring a matching matrix corresponding to the cost value matrix by adopting a preset task allocation algorithm, and elements in the matching matrix are matching coefficients between the corresponding mobile robot and the corresponding task;
the component unit is further configured to combine the mobile robot and the task corresponding to the matching coefficient equal to the specified value in the matching matrix into a matching combination to obtain a plurality of matching combinations, and form the specified allocation scheme from the plurality of matching combinations.
In another possible implementation manner, the determining sub-module includes:
the construction unit is used for constructing a capacity network, the capacity network comprises a source node, a sink node, a robot node corresponding to each mobile robot and a task node corresponding to each task, the source node and each robot node are respectively connected through a first type of path, each robot node and each task node are respectively connected through a second type of path, and each task node and the sink node are respectively connected through a third type of path;
the configuration unit is used for configuring the cost of each first-type path and each third-type path in the capacity network to be 0, and configuring the cost of each second-type path to be a cost value when a mobile robot corresponding to a connected robot node executes a task corresponding to the connected task node;
an obtaining unit, configured to obtain, by using a minimum cost maximum flow algorithm, a plurality of second-type paths that may be passed from the source node to the sink node when total cost of the capacity network is minimum and total flow is maximum;
and the composition unit is used for composing a matching combination of the mobile robot corresponding to the robot node connected with the same second type path in the second type paths and the task corresponding to the connected task node to obtain a plurality of matching combinations, and composing the designated distribution scheme by the matching combinations.
In another possible implementation manner, the obtaining module further includes:
the dividing submodule is used for dividing the target area into a plurality of grids, the size of each grid is the same, and the grid containing the obstacles is an obstacle grid;
the partitioning submodule is used for partitioning grids except the obstacle grids in the target area to obtain a plurality of sub-areas;
the dividing submodule is used for dividing each sub-area into at least one channel with the length equal to that of the sub-area and the width equal to one grid.
In another possible implementation manner, the partitioning sub-module is configured to, in a process of scanning the target region once, when a first position where connectivity changes is scanned and then a second position where connectivity changes is scanned, partition a region between the first position and the second position according to a position of an obstacle grid to obtain at least one sub-region, so that different sub-regions are separated by the obstacle grid;
the change of the connectivity refers to the change of the distribution of the obstacle grids.
In a third aspect, a distribution apparatus is provided, the distribution apparatus comprising a processor and a memory; a memory for storing a computer program; a processor for executing the computer program stored in the memory to perform the method steps of the first aspect.
In a fourth aspect, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when executed by a processor, the computer program implements the method steps of the first aspect.
The technical scheme provided by the embodiment of the invention has the following beneficial effects:
according to the method, the device and the computer readable storage medium provided by the embodiment of the invention, in the process of distributing the tasks, the number of the tasks distributed by the mobile robot is considered, only one task is distributed to each mobile robot, and the rest tasks are in the state to be distributed so as to be distributed to other mobile robots in the following process, so that the flexibility is improved, and the overall execution efficiency of the tasks is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic illustration of an implementation environment provided by an embodiment of the invention;
FIG. 2 is a flowchart of a task allocation method according to an embodiment of the present invention;
FIG. 3A is a flowchart of a task allocation method according to an embodiment of the present invention;
fig. 3B is a schematic diagram of a target area divided into a plurality of sub-areas according to an embodiment of the present invention;
FIG. 3C is a schematic diagram of a sub-region being divided into at least one channel according to an embodiment of the present invention;
FIG. 3D is a flowchart of a method for performing task allocation according to an embodiment of the present invention;
fig. 3E is a schematic diagram of a capacity network according to an embodiment of the present invention;
FIG. 4 is a schematic structural diagram of a task allocation apparatus according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a terminal according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a server according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The embodiment of the present invention is described by taking the number of tasks as a first number and the number of mobile robots as a second number, where the first number is greater than the second number. In addition, "first" and "second" are merely for convenience of description and do not include other special meanings.
In the embodiment of the present invention, a mobile robot that performs a task is referred to as a first mobile robot, a newly added mobile robot is referred to as a second mobile robot, a mobile robot that cancels a task (e.g., a mobile robot that fails or a mobile robot assigned to perform another task) is referred to as a third mobile robot, and a mobile robot that is reallocated to a task of the third mobile robot is referred to as a fourth mobile robot.
Fig. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present invention, where the implementation environment includes: the distribution apparatus 101 and the plurality of mobile robots 102 establish connections, respectively, and the distribution apparatus 101 and the plurality of mobile robots 102 can communicate via the established connections, the connections including a Wireless Fidelity (WI-FI) connection, a data network connection, and the like.
When a plurality of mobile robots 102 need to perform tasks in a target area, the assigning apparatus 101 is configured to assign a task to each mobile robot 102, and each mobile robot 102 is configured to perform the assigned task. The distribution device 101 may be a computer, a mobile phone, a server, or the like, and the mobile robot 102 may be a warehousing robot, a sweeping robot, an agricultural robot, a patrol robot, or various other robots.
Fig. 2 is a flowchart of a task allocation method according to an embodiment of the present invention. The execution subject of the embodiment of the invention is a distribution device, and referring to fig. 2, the method comprises the following steps:
201. and acquiring a plurality of tasks in the target area, wherein the number of the tasks is a first number.
202. And determining a plurality of mobile robots, wherein the number of the mobile robots is a second number.
203. When the first number is greater than the second number, each mobile robot is assigned a task from a plurality of tasks.
According to the method provided by the embodiment of the invention, in the process of distributing the tasks, the number of the tasks distributed by the mobile robots is considered, only one task is distributed to each mobile robot, and the rest tasks are in the state to be distributed so as to be distributed to other mobile robots in the following process, so that the flexibility is improved, and the overall execution efficiency of the tasks is improved.
Optionally, when the first number is greater than the second number, after allocating one task to each mobile robot from the plurality of tasks, the method further includes:
when a first mobile robot in the plurality of mobile robots executes a task, selecting one task from a plurality of tasks which are not distributed yet and distributing the task to the first mobile robot; or,
when a new second mobile robot is added, one task is selected from among a plurality of tasks that have not been assigned to the second mobile robot.
Optionally, when the first number is greater than the second number, after allocating one task to each mobile robot from the plurality of tasks, the method further includes:
when the third mobile robot which has been assigned the first task among the plurality of tasks cancels execution of the first task, selecting a fourth mobile robot from the plurality of mobile robots which have not been assigned the task;
the first task is assigned to the fourth mobile robot.
Optionally, when the first number is greater than the second number, allocating one task to each mobile robot from the plurality of tasks, including:
determining a current location of each of the plurality of mobile robots;
calculating the cost value of each mobile robot for executing each task respectively according to the current position of each mobile robot;
and determining a designated task allocation scheme with the minimum sum of cost values in a plurality of task allocation schemes according to the calculated plurality of cost values, wherein each task allocation scheme in the plurality of task allocation schemes comprises a task uniquely corresponding to each mobile robot.
Optionally, the acquiring a plurality of tasks in the target area includes:
acquiring a plurality of sub-areas in the target area, wherein each sub-area comprises at least one channel, and each channel comprises a plurality of grids;
and acquiring a task of each channel to obtain a plurality of tasks, wherein each task is moved from a starting grid of the corresponding channel to an ending grid of the channel along the channel.
Optionally, the calculating a cost value for each mobile robot to respectively execute each task according to the current position of each mobile robot includes:
for each mobile robot and each task, calculating a moving path of the mobile robot when the mobile robot moves to a starting grid corresponding to the task, wherein the task moves from the starting grid of a corresponding channel to an ending grid of the channel along the channel;
and calculating a cost value when the mobile robot executes the task according to the moving path.
Optionally, the calculating a cost value when the mobile robot executes the task according to the moving path includes:
and acquiring a moving distance corresponding to the moving path, and taking the moving distance as a cost value of the mobile robot for executing the task.
Optionally, the calculating a cost value when the mobile robot executes the task according to the moving path includes:
acquiring a moving distance corresponding to the moving path;
obtaining the income of the task, wherein the income is positively correlated with the priority of the task;
and calculating the difference value of the moving distance and the profit as the cost value of the mobile robot for executing the task.
Optionally, the target area includes a plurality of sub-areas, each sub-area includes at least one channel, the number of channels with the highest profit of the task in each sub-area is at least one, and the highest profits of different sub-areas are equal.
Optionally, the benefit of the task of the first channel in each sub-area is the highest, the termination grid of any channel in each sub-area is adjacent to the start grid of the adjacent channel, and the benefits of the tasks of the channels in each sub-area decrease sequentially according to the decreasing magnitude.
Optionally, the determining, according to the calculated plurality of cost values, a designated task allocation plan with a smallest sum of cost values in the plurality of task allocation plans for the task executed by each mobile robot includes:
forming a cost value matrix by the plurality of cost values, wherein the first dimension of the cost value matrix is the mobile robot, the second dimension of the cost value matrix is the task, and the elements in the cost value matrix are the cost values of the corresponding mobile robot when the corresponding task is executed;
acquiring a matching matrix corresponding to the cost value matrix by adopting a preset task allocation algorithm, wherein elements in the matching matrix are matching coefficients between the corresponding mobile robot and the corresponding task;
and forming a matching combination by the mobile robot and the task corresponding to the matching coefficient which is equal to the specified value in the matching matrix to obtain a plurality of matching combinations, and forming the specified distribution scheme by the plurality of matching combinations.
Optionally, the determining, according to the calculated plurality of cost values, a designated task allocation plan with a smallest sum of cost values in the plurality of task allocation plans for the task executed by each mobile robot includes:
constructing a capacity network, wherein the capacity network comprises a source node, a sink node, a robot node corresponding to each mobile robot and a task node corresponding to each task, the source node and each robot node are respectively connected through a first type of path, each robot node and each task node are respectively connected through a second type of path, and each task node and the sink node are respectively connected through a third type of path;
configuring the cost of each first type path and each third type path in the capacity network as 0, and configuring the cost of each second type path as a cost value when a mobile robot corresponding to a connected robot node executes a task corresponding to the connected task node;
acquiring a plurality of second-type paths which are passed from the source node to the sink node when the total cost of the capacity network is minimum and the total flow is maximum by adopting a minimum cost maximum flow algorithm;
and forming a matching combination by the mobile robot corresponding to the robot node connected with the same second type path in the second type paths and the tasks corresponding to the connected task nodes to obtain a plurality of matching combinations, and forming the designated distribution scheme by the plurality of matching combinations.
Optionally, the acquiring a plurality of sub-regions in the target region, each sub-region including at least one channel, includes:
dividing the target area into a plurality of grids, wherein the size of each grid is the same, and the grids containing the obstacles are obstacle grids;
partitioning grids except the obstacle grids in the target area to obtain a plurality of sub-areas;
for each sub-region, the sub-region is divided into at least one channel having a length equal to the length of the sub-region and a width equal to one grid.
Optionally, the partitioning the grid except for the obstacle grid in the target region to obtain a plurality of sub-regions includes:
in the process of scanning the target area once, when a first position with changed connectivity is scanned and then a second position with changed connectivity is scanned, dividing the area between the first position and the second position according to the position of the obstacle grid to obtain at least one sub-area so as to separate different sub-areas by the obstacle grid;
the change of the connectivity refers to the change of the distribution of the obstacle grids.
The embodiment of the invention provides an allocation scheme for the process of executing the tasks in the target area by the mobile robot, and the number of the tasks allocated by the mobile robot is considered to ensure that the rest tasks can be in a state to be allocated so as to be executed by the mobile robot which completes the executed tasks, and certainly can be executed by the mobile robot which is newly added in the system, so that the flexibility and the efficiency of executing the tasks are greatly improved.
The embodiment of the invention can be applied to various scenes, and the target area and the task can be determined according to the actual scene of application, for example, when the method is applied to a scene of searching a shelf in a warehouse, the target area is the warehouse, and the task is the search of a target object; when applied to a scenario of harvesting a crop in a field, the target area is the field and the task is harvesting the crop; when the method is applied to a scene of cleaning a building, the target area is the building, and the task is cleaning. In addition, the weeding composition can also be applied to scenes such as weeding in a lawn, carrying goods on a construction site and the like, and is not repeated herein.
In particular, the embodiment of the present invention may be applied to a "full-area coverage" scenario, where the tasks of the scenario are: each position of the target area is traversed, the target area is divided into a plurality of channels according to the embodiment of the invention, and the effect of traversing each position in the target area is finally realized by controlling each mobile robot to move along the corresponding channel.
Fig. 3A is a flowchart of a task allocation method provided by an embodiment of the present invention, which may be applied in the implementation environment shown in fig. 1, where an interaction subject includes an allocation apparatus and a plurality of mobile robots, and referring to fig. 3A, the method includes:
301. the distribution device acquires a plurality of tasks in the target area, wherein the number of the tasks is a first number.
In the process of determining the target area by the allocation device, the allocation device may install a drawing application, and in the process of running the drawing application, detect an operation of drawing the target area by a user, thereby acquiring the target area. Alternatively, the distribution means may acquire map data imported by the user, or download the map data from the server, thereby selecting the target area from the map data.
In order to divide the work of a plurality of mobile robots to share the total task load, the embodiment of the invention refines and splits a target area: the target area is divided into a plurality of sub-areas, each sub-area is further divided into at least one channel, and each mobile robot only needs to be in charge of the task of one channel each time.
Specifically, the process of splitting the target region may include the following steps 3011-3013:
3011. the target area is divided into a plurality of grids.
In the embodiment of the invention, the grid is the minimum unit of the division of the target area, or the minimum unit of the movement of the mobile robot. The size of each grid is the same, e.g. the size of each grid may be equal to the size of the mobile robot. Further, the length and width of each grid may also be the same, and the width of each grid may be equal to the width of the mobile robot, and the length of each grid may be equal to the length of the mobile robot.
For grids containing obstacles in a target area, the distribution device sets the grids as obstacle grids, the obstacle grids can be excluded in the subsequent process of dividing the sub-areas, so that the divided sub-areas and further channels do not contain the obstacle grids, and the subsequent mobile robot can not pass through the obstacle grids when executing tasks along the channels, so that the obstacles are avoided, and the mobile robot is prevented from falling down or being damaged due to the fact that the mobile robot touches the obstacles.
The allocation device may detect a selection operation of any one of the grids in the target area, and use the grid selected by the user as the obstacle grid. Alternatively, the distribution device may analyze the map data in the target area, determine an obstacle in the map data, and use the position of the obstacle as the obstacle grid.
3012. And partitioning grids except the obstacle grids in the target area to obtain a plurality of sub-areas.
For grids other than the obstacle grid, the distribution device partitions the grids according to the positions of the obstacle grids to obtain a plurality of rectangular sub-areas, and different sub-areas are separated by the obstacle grids.
Specifically, the dispensing device may scan the target region along a certain scanning direction by using a Boustrophedon decomposition method (cattle farming decomposition method), and in one scanning process, when a first position with changed connectivity is scanned and then a second position with changed connectivity is scanned, the region between the first position and the second position is divided according to the position of the obstacle grid to obtain at least one sub-region. The scanning direction may be a direction in which any edge of the target area is located, such as a horizontal direction or a vertical direction, and the change in connectivity refers to a change in distribution of the obstacle grids.
In practical applications, the target area may be a two-dimensional area, the first position and the second position may be represented by a first straight line and a second straight line in the target area, respectively, and taking the scanning direction as a third direction as an example, the allocating device may scan in the target area along the third direction, when the connectivity changes when the first straight line is scanned, and then when the connectivity changes when the second straight line is scanned, the area between the first straight line and the second straight line may be divided according to the position of the obstacle grid, so as to obtain at least one sub-area.
The first straight line and the second straight line point to a fourth direction perpendicular to the third direction, and the change of connectivity refers to the change of distribution of the obstacle grids in the fourth direction. For example, when the third direction is a horizontal direction, the first straight line and the second straight line point in a vertical direction, a critical line between two columns of grids may be a straight line formed by connecting edges of any column of grids in the target region, and the change in connectivity means that the distribution of the obstacle grids in one column of grids before the current scanning position is different from the distribution of the obstacle grids in one column of grids after the current scanning position. The distribution of the obstacle grids includes the positions, the number and the like of the obstacle grids.
In an exemplary scenario, referring to fig. 3B, a schematic diagram of dividing a target region into a plurality of sub-regions is shown, wherein a grid including X represents a barrier grid, and a region enclosed by a frame of a thick line and including a reference number is the divided sub-region.
In the process of dividing the sub-regions, scanning is performed from left to right, namely, scanning is performed from a first column grid to a last column grid, and when the position of the first straight line is scanned, since a fourth grid of a fourth column is an obstacle grid and a fourth grid of a third column is not an obstacle grid, it is determined that connectivity changes. When the right scanning is continued to reach the position of the second straight line, since the fourth grid of the sixth column is the obstacle grid and the fourth grid of the seventh column is not the obstacle grid, and it is determined again that the connectivity changes, the grids between the first straight line and the second straight line are divided according to the position of the obstacle grid, so that the sub-area 2 and the sub-area 3 are obtained. The division process of other sub-regions is similar.
3013. For each sub-region, the sub-region is divided into at least one channel having a length equal to the length of the sub-region and a width equal to one grid.
After dividing the target area into a plurality of sub-areas, for each sub-area, the distribution device divides the sub-area into at least one channel, the length of each channel is equal to the length of the corresponding sub-area, and the width is equal to one grid. For example, the allocation means may determine a first direction and a second direction of the sub-area, divide the sub-area every other grid in the first direction, resulting in at least one channel along the second direction, each channel comprising a grid in the first direction, the number of grids comprised in the second direction being equal to the number of grids comprised in the second direction by the sub-area. The first direction is the direction in which the edge with the smaller length in the sub-region is located, or the direction determined by the width of the sub-region, and the second direction is the direction in which the edge with the larger length in the sub-region is located, or the direction determined by the length of the sub-region.
In one exemplary scenario, see fig. 3C, which shows a schematic diagram of a sub-area divided into at least one channel, each arrow symbol in the schematic diagram pointing from a start grid to an end grid, indicating a direction of movement in the channel when performing a task. Taking the division of the sub-region 1 as an example, the length of the sub-region 1 is equal to 8 grids, and the width is equal to 3 grids, the sub-region 1 may be divided into 3 channels, each channel has a length of 8 grids and a width of 1 grid.
After the target area is divided into a plurality of channels through steps 3011-3013, for each channel in the plurality of channels, the distribution device determines a start grid and a stop grid of the channel, and moves from the start grid of the channel to the stop grid of the channel along the channel as a task corresponding to the channel, thereby obtaining a task of each channel. In this embodiment of the present invention, the total number of channels in the target area is referred to as a first number, and then the total number of tasks in the target area is also the first number.
In one possible implementation, the distribution device may divide the target area into "no tillage" channels, i.e. in each sub-area, the termination grid of any channel is adjacent to the start grid of the adjacent channel, i.e. it is ensured that the moving direction of any channel is opposite to the moving direction of the adjacent channel, then the mobile robot moves from the start grid to the termination grid of any channel, and after the task is completed, if the task of the adjacent channel is to be performed, only one grid needs to be moved. For example, referring to fig. 3C, the starting grid of the channel 11 is at the bottom row, the ending grid is at the top row, the moving direction is from bottom to top, the starting grid of the channel 12 is at the top row, the ending grid is at the bottom row, and the moving direction is from top to bottom, so that after the mobile robot completes the task of the channel 11, if the task of the channel 12 needs to be performed, it only needs to move one grid to the right.
Further, for any two adjacent sub-areas in the target area, the allocating device may set the ending grid of the last channel of the previous sub-area to be adjacent to the starting grid of the first channel of the next sub-area, so that after the task performed by the previous sub-area is completed, if the task performed by the next sub-area is to be performed, the mobile robot only needs to move one grid. For example, referring to fig. 3C, the termination grid of channels 13 in subregion 1 is adjacent to the start grid of channels 21 in subregion 2, and the termination grid of channels 33 in subregion 3 is adjacent to the start grid of channels 41 in subregion 4.
302. The allocation device determines a plurality of mobile robots, the number of the mobile robots is a second number, and calculates the cost value of each mobile robot for executing each task respectively.
In a possible implementation manner, for any mobile robot and any task, the matching degree of the mobile robot and the task can be measured by using an index of cost value, and a smaller cost value indicates that the matching degree of the mobile robot and the task is higher, the less time the mobile robot consumes to execute the task is, and the higher efficiency is. Then, after the allocating device divides the target area and determines a plurality of tasks through the above step 301, the allocating device may determine a plurality of mobile robots, and calculate a cost value for each mobile robot to perform each task, respectively, according to a current position of each mobile robot in the plurality of mobile robots.
Alternatively, in the calculating of the cost value, the allocating device may combine a plurality of mobile robots and a plurality of tasks into a plurality of combinations, and calculate the cost value of each combination so as to measure whether the mobile robots and the tasks in the combination match or not according to the cost value of the combination. For example, the allocating device may select any one of the mobile robots from the plurality of mobile robots, and may select any one of the tasks from the plurality of tasks, respectively, to form a plurality of combinations, each of the combinations including one mobile robot and one task, and different combinations may have the same mobile robot and different tasks, or the same task and different mobile robots, or different mobile robots and different tasks. And assuming that the first number is J and the second number is K, that is, the number of tasks is J, and the number of mobile robots is K, the number of combinations is J × K.
In determining the cost value of a mobile robot to perform a task, it is considered that the mobile robot generally needs to move along a movement path before performing the task, the movement path being a path along which the mobile robot moves from a current position to a starting grid of the task. Factors such as the moving distance, the number of turns, the obstacle distribution, and the complexity in the moving path all affect the time consumed by the mobile robot to prepare for executing the task. In combination with this concept, for a certain mobile robot and a certain task, the allocating device may calculate a movement path of the mobile robot corresponding to the task, and calculate a cost value when the mobile robot executes the task according to the movement path.
In a possible implementation manner, the cost value may be calculated according to parameters such as the number of turns, the distribution of obstacles, and the complexity in the moving path, for example, the larger the number of turns, the larger the calculated cost value, the larger the distribution of obstacles, the larger the calculated cost value, the more complex the moving path, and the larger the calculated cost value.
In another possible implementation manner, the cost value may be calculated according to the moving distance in the moving path, which specifically includes the following steps 3021 or 3022:
3021. and acquiring a moving distance corresponding to the moving path, and taking the moving distance as a cost value of the mobile robot for executing the task.
When determining the cost value of a mobile robot to execute a task, considering that the mobile robot usually needs to move a certain moving distance before executing the task, the mobile robot should execute the task with the closer moving distance first and then execute the task with the farther moving distance. With the combination of the conception, the step obtains the moving distance corresponding to the moving path of the mobile robot for executing the task, and takes the moving distance as the cost value of executing the task. The movement distance is a distance when the mobile robot moves from the current position to the starting grid corresponding to the task, and the movement distance may be represented by the number of grids that the mobile robot passes through when moving from the current position to the starting grid, for example, when the mobile robot moves 3 grids to the left and then moves 4 grids to the front to reach the starting grid, the movement distance is 7, and the cost value is also 7.
3022. And acquiring a moving distance corresponding to the moving path and the income of the task, and calculating a difference value between the moving distance and the income to be used as a cost value for the mobile robot to execute the task.
Considering that the priorities of different tasks are different, the mobile robot should execute the task with higher priority first and then execute the task with lower priority. In combination with this concept, the embodiment of the present invention sets the benefit indicator to indicate that the priority level of the task is high or low, the benefit is directly related to the priority level of the task, and if the priority level of a certain task is high, the allocating device considers that the task should be executed preferentially, so that a greater benefit is determined for the task.
Specifically, the allocating device may obtain a benefit of each task according to a priority of each task, and for a certain mobile robot, obtain a difference between a moving distance required by the mobile robot to execute the task and the benefit, as a cost value for the mobile robot to execute the task, where the cost value is positively correlated to the moving distance and negatively correlated to the priority. For example, when the moving distance of the mobile robot to perform a certain task is 7 and the profit of the task is 1, the cost value is 7-1 to 6.
Further, it is considered that, for a plurality of lanes in the target area, the mobile robot will generally preferentially move to the lane with the highest profit of the task to perform the task of the lane, regardless of the moving distance. In order to prevent the plurality of mobile robots from moving to the same sub-area in succession to execute the task of a certain channel, which may cause mutual interference between different mobile robots, the allocation apparatus may set the number of channels with the highest profit of the task in each sub-area to be at least one, and the highest profits of different sub-areas are equal. Then, since each sub-area has the most profitable path for the task, the plurality of mobile robots are scattered and moved to paths in different sub-areas to perform the task, respectively, without being gathered in the same sub-area.
Further, in combination with the above-mentioned scheme of the "bull-tilling" channel in step 301, in order to enable a certain mobile robot to perform a certain task only by moving one grid to perform the next task, in the embodiment of the present invention, the profit of the task of the first channel in each sub-area may be set to be the highest, the termination grid of any channel in each sub-area is adjacent to the start grid of the adjacent channel, and the profit of the tasks of the channels in each sub-area is sequentially decreased according to the decreasing amplitude. Then theoretically, the task with the smallest cost value among the plurality of tasks that have not been allocated will be the task whose starting grid is adjacent to the ending grid of the previously allocated task.
In one possible implementation, taking fig. 3C as an example, assuming that the gains of the first channel of different sub-regions are all set to 300, the decreasing magnitudes of the gains of different sub-regions are all set to 100, the gains of sub-region 1 include channel 11, channel 12, and channel 13 are 300, 200, and 100, respectively, the gains of sub-region 2 include channel 21, channel 22, and channel 23 are 300, 200, and 100, respectively, and the gains of the channels of other sub-regions are similar.
Assuming that a total of 10 mobile robots can be allocated, after the above-mentioned gains are used for calculation, the 10 mobile robots in the allocation plan are allocated to the lanes 11, 21, 31 to 101, respectively. Taking the first task of the mobile robot that allocates the channel 21 to be completed as an example, the remaining tasks include the tasks of the channels 12, 22 to 102, 13, 23 to 103, and the like, and in these channels, the moving distance between the mobile robot and the channel 22 is 1, and the benefit of the channel 22 is 200, the combined cost value of the two is-199, and the moving distance between the mobile robot and other unassigned tasks is greater than 1, and the benefit is not greater than 200, so the mobile robot will allocate the task corresponding to the channel 22, and the mobile robot can move to the channel 22 to execute the task only by moving one grid.
303. And the distribution device determines the appointed task distribution scheme with the minimum sum of the cost values in the multiple task distribution schemes according to the calculated multiple cost values.
Alternatively, a specific assignment scheme of a plurality of task assignment schemes may be determined, each task assignment scheme of the plurality of task assignment schemes including one task uniquely corresponding to each mobile robot, and the specific assignment scheme being an assignment scheme having a smallest sum of cost values among the task assignment schemes, the mobile robot and the task in the specific assignment scheme are globally the best matched.
Specifically, the allocation device may perform calculation by using a preset task allocation algorithm or a minimum cost maximum flow algorithm according to a cost value of each mobile robot for executing each task, to obtain a plurality of matching combinations, each matching combination corresponds to one mobile robot and one task, and the plurality of matching combinations may be configured to form a designated task allocation scheme.
It should be noted that, the above steps 303 and 304 are only described by taking the example of calculating the cost value of each robot to execute each task to allocate one task to each mobile robot, in practical applications, calculating the cost value to perform the allocation process is only an alternative, and when the number of tasks (the first number) is greater than the number of robots (the second number), the allocating device may allocate one task to each mobile robot in other manners. For example, a second number of tasks may be randomly selected from the plurality of tasks, and each mobile robot may be randomly assigned a selected one of the tasks, or for example, the plurality of tasks may be sorted in order of priority from high to low, the first second number of tasks may be selected, and each mobile robot may be randomly assigned a selected one of the tasks. For another example, the tasks may be sorted from the plurality of tasks in order of low difficulty to high difficulty, a second number of tasks may be selected, and each mobile robot may be randomly assigned with a selected task. Of course, other methods can be adopted to allocate one task to each mobile robot, and only one task needs to be allocated to one mobile robot.
304. The allocation device controls each mobile robot to execute the allocated tasks according to a designated allocation scheme.
When the assigned assignment scheme is obtained, for each mobile robot, the assignment device controls the mobile robot to perform the assigned task. Wherein, the control process actually is as follows: and controlling the mobile robot to move from the current position to the starting grid of the channel corresponding to the task, and then moving from the starting grid to the ending grid along the channel.
Specifically, the allocating device may determine a first moving trajectory of the mobile robot from the current position to the start grid and a second moving trajectory of the mobile robot from the start grid to the end grid based on a channel corresponding to the task and the current position of the mobile robot, first send a first notification message indicating the first moving trajectory to the mobile robot, and when the mobile robot moves to the start grid according to the first notification message and notifies the allocating device, the allocating device determines that the mobile robot is to start executing the task, and the allocating device sends a second notification message indicating the second moving trajectory to the mobile robot to start executing the task, and the mobile robot starts executing the task according to the second notification message and moves from the start grid to the end grid.
For example, the distribution device may first send a first notification message to the mobile robot: "move 3 grids to the left and then move 10 grids forward", the mobile robot will move 3 grids to the left and then 10 grids forward, arrive at the starting grid and notify the dispensing device, which sends a second notification message to the mobile robot: "sweep and move 8 grids to the right", the mobile robot will start sweeping and move to the right until moving 8 grids to the right, informing the assignment device that the task has been performed.
Of course, the allocating device may not need to send the notification message twice, but directly send a third notification message to the mobile robot, where the third notification message indicates that the task is to be executed when the mobile robot starts to move along the second movement track and the first movement track and the second movement track, and the mobile robot moves from the current position to the start grid according to the third notification message, and then starts to execute the task and moves from the start grid to the end grid
For example, the distribution device may send a third notification message to the mobile robot: "move 3 grids to the left, move 10 grids forward, start cleaning, and move 8 grids to the right", the mobile robot moves 3 grids to the left, moves 10 grids forward, reaches the starting grid, starts cleaning, and moves to the right until 8 grids move to the right, and notifies the assignment device that the task has been performed.
The embodiment of the present invention further provides a scheme for allocating tasks to mobile robots that have completed the allocated tasks after allocating tasks to each mobile robot, which is described in detail in the following step 305, and a scheme for allocating tasks to newly added mobile robots, which is described in the following step 306. When a mobile robot fails or exits, the tasks originally assigned to it are reassigned to other mobile robots, as described in step 307 below.
305. When a first mobile robot among the plurality of mobile robots performs a task completion, the assigning means selects one task from among the plurality of tasks that have not been assigned to assign to the first mobile robot.
In the case where the first mobile robot performs task completion, the assigning device may acquire a plurality of tasks that have not been assigned yet, select one task from among the tasks, and assign the selected task to the first mobile robot. The allocation device may randomly select one task, or may select a task with the highest priority, or may select a task with the simplest execution difficulty, or may select one task in other manners.
In a possible implementation manner, the assigning device may select a task with the smallest cost value when the first mobile robot performs from the tasks, and assign the task to the first mobile robot. For example, a movement path of the first mobile robot moving from the current position to the start grid corresponding to each of the plurality of tasks may be calculated, the cost value may be calculated according to the movement path, the task with the minimum cost value may be determined from the plurality of tasks, and the task may be assigned to the first mobile robot.
306. When a new second mobile robot is added, the assigning means selects one task from among a plurality of tasks that have not been assigned to assign to the second mobile robot.
This step is similar to step 305 described above, taking as an example the addition of a new second mobile robot, which is available for the allocating means to schedule, the allocating means may retrieve a plurality of tasks that have not been allocated yet, select one task from these tasks, and allocate it to the first mobile robot. The allocation device may randomly select one task, or may select a task with the highest priority, or may select a task with the simplest execution difficulty, or may select one task in other manners.
In a possible implementation manner, the assigning device may select a task with the smallest cost value when the first mobile robot performs from the tasks, and assign the task to the first mobile robot. For example, a movement path of the first mobile robot moving from the current position to the start grid corresponding to each of the plurality of tasks may be calculated, the cost value may be calculated according to the movement path, the task with the minimum cost value may be determined from the plurality of tasks, and the task may be assigned to the first mobile robot.
According to the allocation scheme provided in the step 305 or 306, after the assigned allocation scheme is determined, when a task needs to be allocated to a certain mobile robot again, only the task needs to be selected from a plurality of unassigned tasks, the target area does not need to be subdivided, existing matching combinations are not disturbed, the steps are simple, and the allocation efficiency is higher.
307. When the third mobile robot to which the first task among the plurality of tasks has been assigned cancels execution of the first task, the assignment device selects a fourth mobile robot from among the plurality of mobile robots to which no task has been assigned, and assigns the first task to the fourth mobile robot.
Considering that the mobile robot cancels the assigned task in the scenes of failure of the mobile robot, need of temporarily assigning the mobile robot to perform other tasks, scheduling of the mobile robot to leave the target area, and the like, the task originally assigned to the mobile robot is reassigned to the other mobile robot.
Taking the third mobile robot to which the first task has been assigned to cancel execution of the task as an example, the assigning device may acquire a plurality of mobile robots to which the tasks have not been assigned, select one fourth mobile robot from the plurality of mobile robots, and assign the first task to the fourth mobile robot. The allocation device may randomly select one mobile robot, or may select the mobile robot with the highest execution capability.
In one possible implementation, the distribution device may select, from the mobile robots, the mobile robot that is least valuable in performing the first task time. For example, the allocating device may calculate a moving path of each of the plurality of mobile robots moving from the current position to the start grid corresponding to the task in the combination, calculate a cost value of the mobile robot for executing the first task according to the moving path, determine a fourth mobile robot corresponding to the smallest cost value, and allocate the first task to the fourth mobile robot. That is, the first task is recovered, and the mobile robot is newly assigned to the task.
Further, considering that the third mobile robot may have performed a part of the first task when a fault occurs, i.e., has moved a certain distance on the lane corresponding to the first task, the fourth mobile robot does not need to move on the road section that the third mobile robot has moved, in other words, the fourth mobile robot does not need to move from the starting grid, but directly from the current position of the third mobile robot.
Therefore, the allocating device may directly update the start position of the first task to the current position of the third mobile robot, and allocate the updated first task to the fourth mobile robot, thereby controlling the fourth mobile robot to move from its own position to the current position of the third mobile robot, and then start to execute the updated first task, and move from the current position of the third mobile robot to the termination grid of the first task. When the fourth mobile robot is determined, the mobile robot with the minimum value in the time of executing the updated first task can be calculated as the fourth mobile robot according to the updated initial position of the first task and the current position of each mobile robot.
According to the allocation scheme provided by the step, when a certain mobile robot breaks down or exits and the task originally allocated to the certain mobile robot needs to be reallocated to other mobile robots, the mobile robot is selected from the unallocated multiple mobile robots without repartitioning the target area, the existing matching combination cannot be disturbed, the step is simple, and the allocation efficiency is higher.
In another possible implementation manner, if the third mobile robot to which the first task is assigned cancels the task execution, but other mobile robots all have assigned tasks and there is no idle mobile robot, the assigning device may wait first, and when any mobile robot completes the assigned task, directly assign the first task to the mobile robot.
The first point to be described is that, in the process that each mobile robot executes tasks along the respective channels, if a certain mobile robot encounters another mobile robot in the channel and an abnormal situation of the blocked road occurs, the mobile robot of the blocked road notifies the allocating device, and the allocating device sends an instruction message to the mobile robot of the blocked road to move the mobile robot of the blocked road to make way. For example, the mobile robot to be blocked may obtain an identifier and a current position of the mobile robot to be blocked, send a notification message carrying the identifier and the current position to the allocation device, the allocation device determines the mobile robot to be blocked according to the identifier, and determines a way-giving movement track of the mobile robot to be blocked according to the current position, where the way-giving movement track may include a movement direction, a movement distance, and the like that the mobile robot to be blocked should move when giving way, and send an indication message indicating the way-giving movement track to the mobile robot to be blocked corresponding to the identifier, and the mobile robot to be blocked may move according to the way-giving movement track to give way.
The second point to be noted is that, each time a certain mobile robot moves across a certain grid, the allocation device may add an overlay mark to the grid in the target area, indicating that there is already a mobile robot moving across the grid, or that the task of the grid has been completed, without having to let the mobile robot move across the grid again. Then, when all the grids of the target area have been added with the overlay mark, it may be determined that the task of the target area has been processed, and the entire task is ended. In addition, for a scene in which a target object is searched in a target area, when a certain mobile robot finds the target object, a notification message is sent to the allocation device, the allocation device can determine that the task is finished after receiving the notification message, and then other mobile robots do not need to continue to execute the task, and the whole task is finished.
In practical applications, a flowchart of the task allocation method performed by the allocation apparatus may be as shown in fig. 3D, and the flowchart may be formed by four modules of the allocation apparatus: the system comprises a task generating module, a task distributing module, a channel planning module and a task counting module.
The task generation module is responsible for dividing the target area into a plurality of sub-areas, dividing each sub-area into at least one channel and obtaining the task of each channel. The task allocation module is responsible for calculating a cost value of each mobile robot for executing each task and determining a specified allocation scheme so as to determine which robots have a rest and which robots work, and the working robots specifically execute which task. And the path planning module is responsible for guiding the robot to move from the current position to the starting grid of the task and move to the ending grid along the channel according to the specified distribution scheme so as to finish the task. And the task counting module is used for managing a target area, recording the moving track of the mobile robot, setting a covered mark on a grid moved by the mobile robot, counting the task completion condition, and enabling the mobile robot to participate in new task allocation and to execute in a circulating manner when the mobile robot is idle after the task is completed until all tasks are executed and the whole task is finished.
According to the method provided by the embodiment of the invention, in the process of distributing the tasks, the number of the tasks distributed by the mobile robots is considered, only one task is distributed to each mobile robot, and the rest tasks are in the state to be distributed so as to be distributed to other mobile robots in the subsequent process, so that the flexibility is improved, and the overall execution efficiency of the tasks is improved.
Furthermore, the current position of the mobile robot is considered in the process of distributing the tasks, the consideration is more comprehensive, and the influence on the efficiency of executing the tasks due to the current position of the mobile robot is avoided. In addition, the sum of cost values of a plurality of mobile robots in the assigned assignment scheme for executing the tasks is as small as possible, so that the overall execution time of the tasks can be reduced, and the overall execution efficiency of the tasks can be improved.
Furthermore, the priority of each task is considered in the process of distributing the tasks, the task distributed to the mobile robot in the obtained assigned distribution scheme is guaranteed to be the task with higher priority in the target area, and the task with higher priority is processed as preferentially as possible.
Further, the number of channels with the highest profit of the task in each sub-area in the target area is at least one, so that a plurality of mobile robots can be dispersed to different sub-areas to execute the task, and the mobile robots are prevented from being gathered in the same sub-area to cause mutual interference.
Furthermore, the target sub-areas are divided into the 'cattle-farming' type channels, and the benefits of tasks of all the channels of each sub-area are set, so that the allocation scheme of the current time is concerned, the allocation scheme of the next task after the current task is executed is also considered, the next task can be executed only by moving one grid after each mobile robot executes the task, the moving distance is reduced, and the working efficiency is improved.
Further, after the assigned allocation scheme is determined, when a task is completed for a certain executing task or a newly added mobile robot is allocated again, the task is allocated to the mobile robot only by selecting the task from a plurality of unassigned tasks, the target area does not need to be re-divided, the determined matching combination is not disturbed, and the steps are simple.
Furthermore, when a certain mobile robot cancels the execution of the task, a scheme of re-distributing the task which is responsible for the mobile robot to other mobile robots is provided, and the situation that the task is not processed by people due to the fault of the mobile robot is avoided.
On the basis of the embodiment shown in fig. 3A, the step 303 "determining the designated task allocation plan with the smallest sum of the cost values in the plurality of task allocation plans according to the calculated plurality of cost values" may include the following two possible implementation manners:
the first method is as follows: adopting a preset task allocation algorithm:
and step S1, combining the plurality of cost values into a cost value matrix, wherein the first dimension of the cost value matrix is the mobile robot, the second dimension of the cost value matrix is the task, and the elements in the cost value matrix are the cost values of the corresponding mobile robot when the corresponding task is executed.
The dimension may include rows and columns, and the first dimension is a row and the second dimension is a column, or the first dimension is a column and the second dimension is a row. Taking the first dimension as a row and the second dimension as an example, each row represents one mobile robot, each column represents one task, the cost value matrix may be as shown in table 1 below, and an element R in the cost value matrixkijRepresenting the cost value of the mobile robot k to perform the task j of sub-area i.
TABLE 1
R111 R112 R113 R121 …… R1ij
R211 R212 R213 R221 …… R2ij
R311 R312 R313 R321 …… R3ij
…… …… …… …… …… ……
Rk11 Rk12 Rk13 Rk21 …… Rkij
And step S2, acquiring a matching matrix corresponding to the cost value matrix by adopting a preset task allocation algorithm.
The preset task allocation algorithm can be a Hungarian algorithm, a market auction algorithm and the like, the input of the preset task allocation algorithm is a cost value matrix, and the output of the preset task allocation algorithm is a matching matrix consisting of matching coefficients. The matching coefficient of the matching matrix takes the value of a designated value or 0, wherein the matching coefficient is equal to the designated value and indicates that the mobile robot corresponding to the row where the mobile robot is located is matched with the task corresponding to the column where the mobile robot is located, namely the mobile robot and the task can form a matching combination, the mobile robot can execute the task, and the matching coefficient is equal to 0 and indicates that the mobile robot corresponding to the row where the mobile robot is located is not matched with the task corresponding to the column where the mobile robot is located. Wherein the specified value can be 1 or other positive integer other than 0.
It should be noted that, in order to ensure that each mobile robot in the finally obtained assigned task assignment scheme only assigns one task, the process of obtaining the matching matrix may be calculated according to a constraint condition, where the constraint condition is: the sum of the matching coefficients between the same mobile robot and each of the plurality of tasks is not more than a specified value.
Only one of the matching coefficients between the same mobile robot and each task is a designated value, and the other matching coefficients are all 0, that is, the sum of the matching coefficients between the same mobile robot and each task is either a designated value indicating that the mobile robot is matched with one task or 0 indicating that the mobile robot is not matched with each task, so that each mobile robot can be matched with one task at most under the constraint condition that the sum of the matching coefficients between the same mobile robot and each task is not more than the designated value.
Corresponding to table 1, taking the specified value as 1 as an example, the constraint condition can be represented by the following formula:
wherein k represents the identifier of the mobile robot, I represents the identifier of the target sub-area, I represents the number of the target sub-areas, I is a positive integer not greater than I, J represents the identifier of the task, J represents the identifier of the mobile robotiRepresenting the number of tasks of the target sub-area i, J being not greater than JiA positive integer ofkijThe matching coefficient represents whether the task j of the mobile robot k and the target subarea i are matched or not, akijA value of 1 indicates that the mobile robot k matches the task j of the target sub-area i, akijA value of 0 indicates that the task j of the mobile robot k and the target sub-area i do not match.
Based on the example in table 1, after the cost value matrix is calculated by using a preset task allocation algorithm and according to the constraint condition, the matching matrix shown in table 2 below is obtained.
TABLE 2
a111 a112 a113 a121 …… a1ij
a211 a212 a213 a221 …… a2ij
a311 a312 a313 a321 …… a3ij
…… …… …… …… …… ……
ak11 ak12 ak13 ak21 …… akij
And step S3, combining the mobile robots and the tasks corresponding to the matching coefficients which are equal to the specified values in the matching matrix into a matching combination to obtain a plurality of matching combinations, and combining the plurality of matching combinations into a specified distribution scheme.
For the obtained matching matrix, the distribution device determines each matching coefficient which is equal to the specified value in the matching coefficients, obtains the mobile robot and the task corresponding to each matching coefficient, combines the mobile robots and the tasks corresponding to the same matching coefficient into a matching combination, and finally obtains a plurality of matching combinations which are the specified distribution scheme.
The second method comprises the following steps: adopting a minimum cost maximum flow algorithm:
for ease of understanding, the capacity network and min-cost max-flow algorithm are first introduced as follows:
the starting node of the capacity network is a source node, the terminating node is a sink node, a plurality of layers of nodes can be included between the source node and the sink node, and any two nodes can be connected to form a path. The capacity network can simulate a scenario where a target starts from a source node, selects a node in each layer to pass through, and finally reaches a sink node. In this scenario, there are many alternative paths, and each path may generate traffic of different sizes.
The minimum cost maximum flow algorithm is an algorithm for selecting paths in a capacity network, the input of the algorithm is the capacity network with the capacity and cost of each path determined, and the output of the algorithm is a plurality of paths which are required to be passed from a source node to a sink node and the flow on each path when the total cost of the capacity network is minimum and the total flow is maximum. Wherein the capacity of each path represents the maximum flow of the path and the cost represents the cost that would be incurred in traversing the path. And when selecting a path, it is necessary to satisfy the traffic conservation of each node in the capacity network, that is, the incoming traffic and the outgoing traffic of each node are equal.
P1, constructing capacity network.
The capacity network may be as shown in fig. 3E, and include a Source node (Source), a Sink node (Sink), a robot node (Worker) corresponding to each mobile robot, and a Task node (Task) corresponding to each Task, where the Source node and each robot node are connected through a first type of path, each robot node and each Task node are connected through a second type of path, and each Task node and each Sink node are connected through a third type of path.
P2, configuring the capacity and cost value of each path in the capacity network.
For the cost of each path in the capacity network, the cost of each first type path and each third type path is configured because the flow of traffic from the source node to the robot node and the flow of traffic from the task node to the sink node have no practical significanceThe traffic is 0, and the flow from any robot node to any task node indicates that the corresponding mobile robot is to execute the corresponding task, and a corresponding cost value is generated, so the cost for configuring each second-type path is the cost value of the mobile robot corresponding to the connected robot node when executing the task corresponding to the connected task node. For example, referring to FIG. 3E, the cost of the second type of path connecting robot node k and task node ij would be configured as robot WkExecuting task TijCost value R ofkij
P3, adopting the minimum cost maximum flow algorithm, obtaining a plurality of second type paths which are passed from the source node to the sink node when the total cost of the capacity network is minimum and the total flow is maximum.
It should be noted that, in order to ensure that each mobile robot in the finally obtained assigned task allocation scheme allocates only one task, in the process of configuring the capacity network, the capacity of each first-type path in the capacity network may be configured to be 1, which means that the traffic on the path may only be 0 or 1, and then, for each robot node, at most one second-type path may be selected, that is, the robot node may only be connected to one task node at most, thereby ensuring that one mobile robot may only match one task at most, that is, only corresponds to one task.
And P4, forming a matching combination by the mobile robot corresponding to the robot node connected with the same second type path in the second type paths and the task corresponding to the connected task node to obtain a plurality of matching combinations.
When the minimum cost maximum flow algorithm is adopted to calculate the capacity network, a plurality of second-type paths can be obtained, and the mobile robot corresponding to the robot node connected with the same second-type path in the plurality of second-type paths is matched with the task corresponding to the task node. That is, each obtained second-class path may determine a matching combination, for example, referring to fig. 3E, if the second-class path connecting the robot node k and the task node ij is selected, the mobile robot W may be configured tokAnd task TijForm a matching combination, thereby being a mobile robot WkAssigning a task Tij
Fig. 4 is a schematic structural diagram of a task allocation apparatus according to an embodiment of the present invention. Referring to fig. 4, the apparatus includes: an acquisition module 401, a determination module 402 and an allocation module 403.
An obtaining module 401, configured to obtain a plurality of tasks in a target area, where the number of the plurality of tasks is a first number;
a determining module 402, configured to determine a number of mobile robots, where the number of mobile robots is a second number;
an assigning module 403, configured to assign a task to each mobile robot from the plurality of tasks when the first number is greater than the second number.
According to the device provided by the embodiment of the invention, in the process of distributing tasks, the number of the tasks distributed by the mobile robots is considered, only one task is distributed to each mobile robot, and the rest tasks are in the state to be distributed so as to be distributed to other mobile robots in the following process, so that the flexibility is improved, and the overall execution efficiency of the tasks is improved.
In a possible implementation manner, the allocating module 403 is further configured to, when a first mobile robot of the plurality of mobile robots performs a task, select a task from a plurality of tasks that have not been allocated to allocate to the first mobile robot; or,
the allocating module 403 is further configured to select one task from the plurality of tasks that have not been allocated to be allocated to the second mobile robot when a new second mobile robot is added.
In another possible implementation manner, the allocating module 403 is further configured to, when the third mobile robot that has allocated the first task of the multiple tasks cancels execution of the first task, select a fourth mobile robot from the multiple mobile robots that have not allocated the task; the first task is assigned to the fourth mobile robot.
In another possible implementation manner, the allocating module 403 includes:
a determination submodule for determining a current position of each of the plurality of mobile robots;
the calculation submodule is used for calculating the cost value of each mobile robot for executing each task according to the current position of each mobile robot;
the determining submodule is further configured to determine, according to the calculated multiple cost values, a designated task allocation scheme with a smallest sum of cost values in multiple task allocation schemes, where each task allocation scheme in the multiple task allocation schemes includes a task uniquely corresponding to each mobile robot.
In another possible implementation manner, the obtaining module 401 is further configured to obtain a plurality of sub-areas in the target area, where each sub-area includes at least one channel, and each channel includes a plurality of grids;
the obtaining module 401 is further configured to obtain a task of each channel, and obtain the plurality of tasks, where each task is moved from a start grid of a corresponding channel to an end grid of the channel along the channel.
In another possible implementation manner, the calculation sub-module is further configured to calculate, for each mobile robot and each task, a movement path of the mobile robot when moving to a start grid corresponding to the task, where the task moves from the start grid of a corresponding channel to an end grid of the channel along the channel; and calculating a cost value when the mobile robot executes the task according to the moving path.
In another possible implementation manner, the calculation sub-module is further configured to obtain a moving distance corresponding to the moving path, and use the moving distance as a cost value for the mobile robot to execute the task.
In another possible implementation manner, the calculation sub-module is further configured to obtain a movement distance corresponding to the movement path; obtaining the income of the task, wherein the income is positively correlated with the priority of the task; and calculating the difference value of the moving distance and the profit as the cost value of the mobile robot for executing the task.
In another possible implementation manner, the target area includes a plurality of sub-areas, each sub-area includes at least one channel, the number of channels with the highest benefit of the task in each sub-area is at least one, and the highest benefits of different sub-areas are equal.
In another possible implementation manner, the profit of the task of the first channel in each sub-area is the highest, the termination grid of any channel in each sub-area is adjacent to the start grid of the adjacent channel, and the profit of the task of each channel in each sub-area is sequentially decreased according to the decreasing magnitude.
In another possible implementation manner, the determining sub-module includes:
the composition unit is used for composing the cost values into a cost value matrix, the first dimension of the cost value matrix is the mobile robot, the second dimension of the cost value matrix is the task, and the elements in the cost value matrix are the cost values of the corresponding mobile robot when the corresponding task is executed;
the acquisition unit is used for acquiring a matching matrix corresponding to the cost value matrix by adopting a preset task allocation algorithm, and elements in the matching matrix are matching coefficients between the corresponding mobile robot and the corresponding task;
the component unit is further configured to combine the mobile robot and the task corresponding to the matching coefficient equal to the specified value in the matching matrix into a matching combination, obtain a plurality of matching combinations, and form the specified allocation scheme from the plurality of matching combinations.
In another possible implementation manner, the determining sub-module includes:
the system comprises a construction unit, a capacity network and a task management unit, wherein the capacity network comprises a source node, a sink node, a robot node corresponding to each mobile robot and a task node corresponding to each task, the source node and each robot node are respectively connected through a first type of path, each robot node and each task node are respectively connected through a second type of path, and each task node and the sink node are respectively connected through a third type of path;
the configuration unit is used for configuring the cost of each first type path and each third type path in the capacity network to be 0, and configuring the cost of each second type path to be a cost value when a mobile robot corresponding to the connected robot node executes a task corresponding to the connected task node;
an obtaining unit, configured to obtain, by using a minimum cost maximum flow algorithm, a plurality of second-type paths that will pass from the source node to the sink node when total cost of the capacity network is minimum and total flow is maximum;
and the composition unit is used for composing a matching combination of the mobile robot corresponding to the robot node connected with the same second type path in the second type paths and the task corresponding to the connected task node to obtain a plurality of matching combinations, and composing the designated distribution scheme by the matching combinations.
In another possible implementation manner, the obtaining module 401 further includes:
the dividing submodule is used for dividing the target area into a plurality of grids, the size of each grid is the same, and the grid containing the obstacles is an obstacle grid;
the partitioning submodule is used for partitioning grids except the obstacle grids in the target area to obtain a plurality of sub-areas;
the dividing submodule is used for dividing each sub-area into at least one channel with the length equal to the length of the sub-area and the width equal to one grid.
In another possible implementation manner, the partitioning sub-module is configured to, in a process of scanning the target region once, when a first position where connectivity changes is scanned and then a second position where connectivity changes is scanned, partition a region between the first position and the second position according to a position of an obstacle grid to obtain at least one sub-region, so that different sub-regions are separated by the obstacle grid;
the change of the connectivity refers to the change of the distribution of the obstacle grids.
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
It should be noted that: in the task allocation device provided in the above embodiment, when allocating a task, only the division of the functional modules is illustrated, and in practical applications, the function allocation may be completed by different functional modules according to needs, that is, the internal structure of the allocation device is divided into different functional modules to complete all or part of the functions described above. In addition, the task allocation apparatus and the task allocation method provided in the above embodiments belong to the same concept, and specific implementation processes thereof are described in the method embodiments for details, which are not described herein again.
Fig. 5 is a schematic structural diagram of a terminal according to an embodiment of the present invention. The terminal may be configured to implement the functions performed by the allocation apparatus in the task allocation method shown in the above-described embodiments. Specifically, the method comprises the following steps:
the terminal 500 may include RF (Radio Frequency) circuitry 110, memory 120 including one or more computer-readable storage media, an input unit 130, a display unit 140, a sensor 150, audio circuitry 160, a transmission module 170, a processor 180 including one or more processing cores, and a power supply 190. Those skilled in the art will appreciate that the terminal structure shown in fig. 5 is not intended to be limiting and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components. Wherein:
the RF circuit 110 may be used for receiving and transmitting signals during information transmission and reception or during a call, and in particular, receives downlink information from a base station and then sends the received downlink information to the one or more processors 180 for processing; in addition, data relating to uplink is transmitted to the base station. In general, the RF circuitry 110 includes, but is not limited to, an antenna, at least one Amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, an LNA (Low Noise Amplifier), a duplexer, and the like. In addition, the RF circuitry 110 may also communicate with networks and other terminals via wireless communications. The wireless communication may use any communication standard or protocol, including but not limited to GSM (Global System for Mobile communications), GPRS (General Packet Radio Service), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), e-mail, SMS (short messaging Service), etc.
The memory 120 may be used to store software programs and modules, such as the software programs and modules corresponding to the terminal shown in the above exemplary embodiment, and the processor 180 executes various functional applications and data processing, such as implementing video-based interaction, by running the software programs and modules stored in the memory 120. The memory 120 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the terminal 500, and the like. Further, the memory 120 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, the memory 120 may further include a memory controller to provide the processor 180 and the input unit 130 with access to the memory 120.
The input unit 130 may be used to receive input numeric or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control. In particular, input unit 130 may include a touch-sensitive surface 131 as well as other input terminals 132. The touch-sensitive surface 131, also referred to as a touch display screen or a touch pad, may collect touch operations by a user on or near the touch-sensitive surface 131 (e.g., operations by a user on or near the touch-sensitive surface 131 using a finger, a stylus, or any other suitable object or attachment), and drive the corresponding link device according to a predetermined program. Alternatively, the touch sensitive surface 131 may comprise two parts, a touch detection means and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 180, and can receive and execute commands sent by the processor 180. Additionally, the touch-sensitive surface 131 may be implemented using various types of resistive, capacitive, infrared, and surface acoustic waves. In addition to the touch-sensitive surface 131, the input unit 130 may also include other input terminals 132. In particular, other input terminals 132 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like.
The display unit 140 may be used to display information input by or provided to a user and various graphical user interfaces of the terminal 500, which may be made up of graphics, text, icons, video, and any combination thereof. The Display unit 140 may include a Display panel 141, and optionally, the Display panel 141 may be configured in the form of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), or the like. Further, the touch-sensitive surface 131 may cover the display panel 141, and when a touch operation is detected on or near the touch-sensitive surface 131, the touch operation is transmitted to the processor 180 to determine the type of the touch event, and then the processor 180 provides a corresponding visual output on the display panel 141 according to the type of the touch event. Although in FIG. 5, touch-sensitive surface 131 and display panel 141 are shown as two separate components to implement input and output functions, in some embodiments, touch-sensitive surface 131 may be integrated with display panel 141 to implement input and output functions.
The terminal 500 can also include at least one sensor 150, such as a light sensor, motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor that may adjust the brightness of the display panel 141 according to the brightness of ambient light, and a proximity sensor that may turn off the display panel 141 and/or a backlight when the terminal 500 is moved to the ear. As one of the motion sensors, the gravity acceleration sensor can detect the magnitude of acceleration in each direction (generally, three axes), can detect the magnitude and direction of gravity when the mobile phone is stationary, and can be used for applications of recognizing the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer and tapping), and the like; as for other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, which can be configured in the terminal 500, detailed descriptions thereof are omitted.
Audio circuitry 160, speaker 161, and microphone 162 may provide an audio interface between a user and terminal 500. The audio circuit 160 may transmit the electrical signal converted from the received audio data to the speaker 161, and convert the electrical signal into a sound signal for output by the speaker 161; on the other hand, the microphone 162 converts the collected sound signal into an electric signal, converts the electric signal into audio data after being received by the audio circuit 160, and then outputs the audio data to the processor 180 for processing, and then to the RF circuit 110 to be transmitted to, for example, another terminal, or outputs the audio data to the memory 120 for further processing. The audio circuit 160 may also include an earbud jack to provide communication of peripheral headphones with the terminal 500.
The terminal 500 may assist the user in e-mail, web browsing, streaming media access, etc. through the transmission module 170, which provides the user with wireless or wired broadband internet access. Although fig. 5 shows the transmission module 170, it is understood that it does not belong to the essential constitution of the terminal 500 and may be omitted entirely as needed within the scope not changing the essence of the invention.
The processor 180 is a control center of the terminal 500, links various parts of the entire handset using various interfaces and lines, and performs various functions of the terminal 500 and processes data by operating or executing software programs and/or modules stored in the memory 120 and calling data stored in the memory 120, thereby integrally monitoring the handset. Optionally, processor 180 may include one or more processing cores; preferably, the processor 180 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 180.
The terminal 500 further includes a power supply 190 (e.g., a battery) for supplying power to the various components, which may preferably be logically connected to the processor 180 via a power management system, such that functions of managing charging, discharging, and power consumption are performed via the power management system. The power supply 190 may also include any component including one or more of a dc or ac power source, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and the like.
Although not shown, the terminal 500 may further include a camera, a bluetooth module, etc., which will not be described herein. Specifically, in the present embodiment, the display unit of the terminal 500 is a touch screen display, and the terminal 500 further includes a memory, and one or more programs, where the one or more programs are stored in the memory, and the one or more programs executed by the one or more processors include instructions for implementing the operations performed by the distribution device in the above embodiments.
Fig. 6 is a schematic structural diagram of a server according to an embodiment of the present invention, where the server 600 may have a relatively large difference due to different configurations or performances, and may include one or more Central Processing Units (CPUs) 622 (e.g., one or more processors) and a memory 632, and one or more storage media 630 (e.g., one or more mass storage devices) for storing applications 642 or data 644. Memory 632 and storage medium 630 may be, among other things, transient or persistent storage. The program stored in the storage medium 630 may include one or more modules (not shown), each of which may include a series of instruction operations for the server. Still further, the central processor 622 may be configured to communicate with the storage medium 630 and execute a series of instruction operations in the storage medium 630 on the server 600.
The Server 600 may also include one or more power supplies 626, one or more wired or wireless network interfaces 650, one or more input-output interfaces 658, one or more keyboards 656, and/or one or more operating systems 641, such as a Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTMAnd so on.
The server 600 may be configured to perform the steps performed by the allocating apparatus in the task allocating method provided in the foregoing embodiments.
In an exemplary embodiment, a computer-readable storage medium is also provided, for example, a memory storing a computer program, which when executed by a processor implements the task allocation method in the above embodiments. For example, the computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (30)

1. A method of task allocation, the method comprising:
acquiring a plurality of tasks in a target area, wherein the number of the tasks is a first number;
determining a plurality of mobile robots, wherein the number of the mobile robots is a second number;
when the first number is greater than the second number, assigning one task to each mobile robot from the plurality of tasks.
2. The method of claim 1, wherein after assigning one task to each mobile robot from the plurality of tasks when the first number is greater than the second number, the method further comprises:
when a first mobile robot in the plurality of mobile robots performs a task, selecting one task from a plurality of tasks which are not distributed yet and distributing the selected task to the first mobile robot; or,
when a new second mobile robot is added, one task is selected from among a plurality of tasks that have not been assigned to the second mobile robot.
3. The method of claim 1, wherein after assigning one task to each mobile robot from the plurality of tasks when the first number is greater than the second number, the method further comprises:
when a third mobile robot which has been assigned a first task among the plurality of tasks cancels execution of the first task, selecting a fourth mobile robot from the plurality of mobile robots which have not been assigned a task;
assigning the first task to the fourth mobile robot.
4. The method of any of claims 1-3, wherein assigning one task from the plurality of tasks to each mobile robot when the first number is greater than the second number comprises:
determining a current location of each of the plurality of mobile robots;
calculating the cost value of each mobile robot for executing each task respectively according to the current position of each mobile robot;
and determining a designated task allocation scheme with the minimum sum of cost values in a plurality of task allocation schemes according to the calculated plurality of cost values, wherein each task allocation scheme in the plurality of task allocation schemes comprises a task uniquely corresponding to each mobile robot.
5. The method of any one of claims 1-3, wherein the obtaining a plurality of tasks within a target area comprises:
obtaining a plurality of sub-regions in the target region, each sub-region comprising at least one channel, each channel comprising a plurality of grids;
and acquiring a task of each channel to obtain the plurality of tasks, wherein each task is moved from a starting grid of the corresponding channel to an ending grid of the channel along the channel.
6. The method of claim 4, wherein calculating a cost value for each mobile robot to perform each task separately according to the current location of each mobile robot comprises:
for each mobile robot and each task, calculating a moving path of the mobile robot when the mobile robot moves to a starting grid corresponding to the task, wherein the task moves from the starting grid of a corresponding channel to an ending grid of the channel along the channel;
and calculating the cost value of the mobile robot when the mobile robot executes the task according to the moving path.
7. The method of claim 6, wherein calculating the cost value of the mobile robot in performing the task according to the movement path comprises:
and acquiring a moving distance corresponding to the moving path, and taking the moving distance as a cost value of the mobile robot for executing the task.
8. The method of claim 6, wherein calculating the cost value of the mobile robot in performing the task according to the movement path comprises:
acquiring a moving distance corresponding to the moving path;
obtaining the income of the task, wherein the income is positively correlated with the priority of the task;
and calculating a difference value between the moving distance and the profit as a cost value of the mobile robot for executing the task.
9. The method of claim 8, wherein the target area comprises a plurality of sub-areas, each sub-area comprising at least one channel, wherein the number of channels with highest profit for the task in each sub-area is at least one, and wherein the highest profit for different sub-areas is equal.
10. The method of claim 9, wherein the first channel in each sub-area has the highest profit and the termination grid of any channel in each sub-area is adjacent to the start grid of the adjacent channel, and the profit of the tasks of the respective channels in each sub-area decreases in order of decreasing magnitude.
11. The method of claim 4, wherein determining the assigned task assignment scheme with the smallest sum of cost values in the plurality of task assignment schemes for the task performed by each mobile robot according to the calculated plurality of cost values comprises:
forming a cost value matrix by the plurality of cost values, wherein the first dimension of the cost value matrix is the mobile robot, the second dimension of the cost value matrix is the task, and elements in the cost value matrix are the cost values of the corresponding mobile robot when the corresponding task is executed;
acquiring a matching matrix corresponding to the cost value matrix by adopting a preset task allocation algorithm, wherein elements in the matching matrix are matching coefficients between the corresponding mobile robot and the corresponding task;
and forming a matching combination by the mobile robot and the task corresponding to the matching coefficient which is equal to the specified value in the matching matrix to obtain a plurality of matching combinations, and forming the specified distribution scheme by the plurality of matching combinations.
12. The method of claim 4, wherein determining the assigned task assignment scheme with the smallest sum of cost values in the plurality of task assignment schemes for the task performed by each mobile robot according to the calculated plurality of cost values comprises:
constructing a capacity network, wherein the capacity network comprises a source node, a sink node, a robot node corresponding to each mobile robot and a task node corresponding to each task, the source node and each robot node are respectively connected through a first type of path, each robot node and each task node are respectively connected through a second type of path, and each task node and the sink node are respectively connected through a third type of path;
configuring the cost of each first type path and each third type path in the capacity network to be 0, and configuring the cost of each second type path to be a cost value when a mobile robot corresponding to a connected robot node executes a task corresponding to the connected task node;
acquiring a plurality of second-type paths which are started from the source node and passed by the sink node when the total cost of the capacity network is minimum and the total flow is maximum by adopting a minimum cost maximum flow algorithm;
and forming a matching combination by the mobile robot corresponding to the robot node connected with the same second type path in the second types of paths and the task corresponding to the connected task node to obtain a plurality of matching combinations, and forming the designated distribution scheme by the matching combinations.
13. The method of claim 5, wherein the acquiring a plurality of sub-regions in the target region, each sub-region including at least one channel, comprises:
dividing the target area into a plurality of grids, wherein the size of each grid is the same, and the grids containing the obstacles are obstacle grids;
partitioning grids except the obstacle grids in the target area to obtain a plurality of sub-areas;
for each sub-region, the sub-region is divided into at least one channel having a length equal to the length of the sub-region and a width equal to one grid.
14. The method of claim 13, wherein the partitioning a grid of the target region other than an obstacle grid into a plurality of sub-regions comprises:
in the process of scanning the target area once, when a first position with changed connectivity is scanned and then a second position with changed connectivity is scanned, dividing the area between the first position and the second position according to the position of an obstacle grid to obtain at least one sub-area, so that different sub-areas are separated by the obstacle grid;
the change of the connectivity refers to the change of the distribution of the obstacle grids.
15. A task assigning apparatus, characterized in that the apparatus comprises:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring a plurality of tasks in a target area, and the number of the tasks is a first number;
the mobile robot system comprises a determining module, a judging module and a judging module, wherein the determining module is used for determining a plurality of mobile robots, and the number of the mobile robots is a second number;
an assignment module to assign a task to each mobile robot from the plurality of tasks when the first number is greater than the second number.
16. The apparatus of claim 15, wherein the assignment module is further configured to select a task from a plurality of tasks that have not been assigned to a first mobile robot of the plurality of mobile robots when the task performed by the first mobile robot is completed; or,
the allocation module is further configured to select one task from a plurality of tasks that have not been allocated to allocate to the second mobile robot when a new second mobile robot is added.
17. The apparatus of claim 15, wherein the assignment module is further configured to select a fourth mobile robot from the plurality of mobile robots that have not been assigned a task when a third mobile robot that has been assigned the first task of the plurality of tasks cancels execution of the first task; assigning the first task to the fourth mobile robot.
18. The apparatus of any of claims 15-17, wherein the assignment module comprises:
a determination submodule for determining a current position of each of the plurality of mobile robots;
the calculation submodule is used for calculating the cost value of each mobile robot for executing each task according to the current position of each mobile robot;
the determining submodule is further configured to determine, according to the calculated multiple cost values, a designated task allocation scheme with a smallest sum of cost values in multiple task allocation schemes, where each task allocation scheme in the multiple task allocation schemes includes a task uniquely corresponding to each mobile robot.
19. The apparatus according to any of claims 15-17, wherein the acquiring module is further configured to acquire a plurality of sub-regions in the target region, each sub-region comprising at least one channel, each channel comprising a plurality of grids;
the obtaining module is further configured to obtain a task of each channel to obtain the multiple tasks, where each task is a termination grid that moves from a start grid of a corresponding channel to the channel along the channel.
20. The apparatus of claim 18, wherein the computing sub-module is further configured to, for each mobile robot and each task, compute a movement path of the mobile robot when moving to a starting grid corresponding to the task, the task moving from a starting grid of a corresponding channel along the channel to a terminating grid of the channel; and calculating the cost value of the mobile robot when the mobile robot executes the task according to the moving path.
21. The apparatus according to claim 20, wherein the computing sub-module is further configured to obtain a moving distance corresponding to the moving path, and use the moving distance as a cost value for the mobile robot to execute the task.
22. The apparatus according to claim 20, wherein the computing sub-module is further configured to obtain a moving distance corresponding to the moving path; obtaining the income of the task, wherein the income is positively correlated with the priority of the task; and calculating a difference value between the moving distance and the profit as a cost value of the mobile robot for executing the task.
23. The apparatus of claim 22, wherein the target area comprises a plurality of sub-areas, each sub-area comprising at least one channel, wherein the number of channels with highest profit for the task in each sub-area is at least one, and wherein the highest profit for different sub-areas is equal.
24. The apparatus of claim 23, wherein the first channel in each sub-region has the highest return, the termination grid of any channel in each sub-region is adjacent to the start grid of the adjacent channel, and the return of the tasks of the respective channels in each sub-region decreases in sequence with decreasing magnitude.
25. The apparatus of claim 18, wherein the determining sub-module comprises:
the composition unit is used for composing the cost values into a cost value matrix, the first dimension of the cost value matrix is the mobile robot, the second dimension of the cost value matrix is the task, and elements in the cost value matrix are the cost values of the corresponding mobile robot when the corresponding task is executed;
the acquisition unit is used for acquiring a matching matrix corresponding to the cost value matrix by adopting a preset task allocation algorithm, and elements in the matching matrix are matching coefficients between the corresponding mobile robot and the corresponding task;
the component unit is further configured to combine the mobile robot and the task corresponding to the matching coefficient equal to the specified value in the matching matrix into a matching combination to obtain a plurality of matching combinations, and form the specified allocation scheme from the plurality of matching combinations.
26. The apparatus of claim 18, wherein the determining sub-module comprises:
the construction unit is used for constructing a capacity network, the capacity network comprises a source node, a sink node, a robot node corresponding to each mobile robot and a task node corresponding to each task, the source node and each robot node are respectively connected through a first type of path, each robot node and each task node are respectively connected through a second type of path, and each task node and the sink node are respectively connected through a third type of path;
the configuration unit is used for configuring the cost of each first-type path and each third-type path in the capacity network to be 0, and configuring the cost of each second-type path to be a cost value when a mobile robot corresponding to a connected robot node executes a task corresponding to the connected task node;
an obtaining unit, configured to obtain, by using a minimum cost maximum flow algorithm, a plurality of second-type paths that may be passed from the source node to the sink node when total cost of the capacity network is minimum and total flow is maximum;
and the composition unit is used for composing a matching combination of the mobile robot corresponding to the robot node connected with the same second type path in the second type paths and the task corresponding to the connected task node to obtain a plurality of matching combinations, and composing the designated distribution scheme by the matching combinations.
27. The apparatus of claim 19, wherein the obtaining module further comprises:
the dividing submodule is used for dividing the target area into a plurality of grids, the size of each grid is the same, and the grid containing the obstacles is an obstacle grid;
the partitioning submodule is used for partitioning grids except the obstacle grids in the target area to obtain a plurality of sub-areas;
the dividing submodule is used for dividing each sub-area into at least one channel with the length equal to that of the sub-area and the width equal to one grid.
28. The apparatus according to claim 27, wherein the partitioning sub-module is configured to, during one scanning of the target region, when a first location with changed connectivity is scanned and then a second location with changed connectivity is scanned, partition a region between the first location and the second location according to a position of an obstacle grid to obtain at least one sub-region, so that different sub-regions are separated by the obstacle grid;
the change of the connectivity refers to the change of the distribution of the obstacle grids.
29. An allocation apparatus, characterized in that the allocation apparatus comprises a processor and a memory; a memory for storing a computer program; a processor for executing a computer program stored on a memory for carrying out the method steps of any one of claims 1 to 14.
30. A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, which computer program, when being executed by a processor, carries out the method steps of any one of claims 1 to 14.
CN201710748498.3A 2017-08-28 2017-08-28 Method for allocating tasks, device and computer readable storage medium Pending CN109426560A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710748498.3A CN109426560A (en) 2017-08-28 2017-08-28 Method for allocating tasks, device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710748498.3A CN109426560A (en) 2017-08-28 2017-08-28 Method for allocating tasks, device and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN109426560A true CN109426560A (en) 2019-03-05

Family

ID=65502390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710748498.3A Pending CN109426560A (en) 2017-08-28 2017-08-28 Method for allocating tasks, device and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN109426560A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516940A (en) * 2019-08-15 2019-11-29 腾讯科技(深圳)有限公司 Method for allocating tasks and device
CN110532078A (en) * 2019-08-29 2019-12-03 中国科学院软件研究所 A kind of edge calculations method for optimizing scheduling and system
CN110647149A (en) * 2019-09-30 2020-01-03 长春工业大学 AGV dispatching and intersection shunting control method
CN111232590A (en) * 2020-03-12 2020-06-05 李佳庆 Automatic control method and device for storage robot
CN111506872A (en) * 2020-03-03 2020-08-07 平安科技(深圳)有限公司 Task allocation method and device based on load matrix analysis
CN111716356A (en) * 2020-06-18 2020-09-29 南京邮电大学 Method for cooperation of humanoid multi-robot
CN111753388A (en) * 2019-12-30 2020-10-09 广州极飞科技有限公司 Spraying control method, spraying control device, electronic equipment and computer-readable storage medium
CN112925308A (en) * 2021-01-21 2021-06-08 深圳市人工智能与机器人研究院 Path planning method and device and computer storage medium
CN113627703A (en) * 2020-05-08 2021-11-09 北京京东乾石科技有限公司 Scheduling method and apparatus for mobile device, computer system, and storage medium
EP4080310A1 (en) * 2021-04-23 2022-10-26 Carnegie Robotics, LLC A method of controlling a robot in relation to a service schedule
EP4080311A1 (en) * 2021-04-23 2022-10-26 Carnegie Robotics, LLC A method of operating one or more robots
US20230034278A1 (en) * 2019-12-26 2023-02-02 Syrius Robotics Co., Ltd. Task Execution Method and Apparatus for Robots Capable of Freely Constructing Network, and Storage Medium
CN116596447A (en) * 2023-07-05 2023-08-15 长春理工大学 Warehouse task allocation method based on auction algorithm

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1815951B1 (en) * 2004-11-02 2012-02-29 Kabushiki Kaisha Yaskawa Denki Robot controller and robot system
CN105956748A (en) * 2016-04-22 2016-09-21 中国人民解放军国防科学技术大学 Task allocation method for multi-rescue-robot system
CN106875090A (en) * 2017-01-09 2017-06-20 中南大学 A kind of multirobot distributed task scheduling towards dynamic task distributes forming method
CN106982139A (en) * 2017-03-21 2017-07-25 深圳先进技术研究院 A kind of method and device of the Assignment Problems based on multirobot multitask, user equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1815951B1 (en) * 2004-11-02 2012-02-29 Kabushiki Kaisha Yaskawa Denki Robot controller and robot system
CN105956748A (en) * 2016-04-22 2016-09-21 中国人民解放军国防科学技术大学 Task allocation method for multi-rescue-robot system
CN106875090A (en) * 2017-01-09 2017-06-20 中南大学 A kind of multirobot distributed task scheduling towards dynamic task distributes forming method
CN106982139A (en) * 2017-03-21 2017-07-25 深圳先进技术研究院 A kind of method and device of the Assignment Problems based on multirobot multitask, user equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张喜妹: "基于Kiva系统的拣选作业优化与算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
高梓豪: "仓储中多机器人作业的规划与仿真", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516940A (en) * 2019-08-15 2019-11-29 腾讯科技(深圳)有限公司 Method for allocating tasks and device
CN110532078A (en) * 2019-08-29 2019-12-03 中国科学院软件研究所 A kind of edge calculations method for optimizing scheduling and system
CN110647149A (en) * 2019-09-30 2020-01-03 长春工业大学 AGV dispatching and intersection shunting control method
CN110647149B (en) * 2019-09-30 2022-09-16 长春工业大学 AGV dispatching and intersection shunting control method
US20230034278A1 (en) * 2019-12-26 2023-02-02 Syrius Robotics Co., Ltd. Task Execution Method and Apparatus for Robots Capable of Freely Constructing Network, and Storage Medium
CN111753388A (en) * 2019-12-30 2020-10-09 广州极飞科技有限公司 Spraying control method, spraying control device, electronic equipment and computer-readable storage medium
CN111506872B (en) * 2020-03-03 2023-11-07 平安科技(深圳)有限公司 Task allocation method and device based on load matrix analysis
CN111506872A (en) * 2020-03-03 2020-08-07 平安科技(深圳)有限公司 Task allocation method and device based on load matrix analysis
CN111232590B (en) * 2020-03-12 2021-10-29 苏万宝 Automatic control method and device for storage robot
CN111232590A (en) * 2020-03-12 2020-06-05 李佳庆 Automatic control method and device for storage robot
CN113627703A (en) * 2020-05-08 2021-11-09 北京京东乾石科技有限公司 Scheduling method and apparatus for mobile device, computer system, and storage medium
CN111716356B (en) * 2020-06-18 2021-12-24 南京邮电大学 Method for cooperation of humanoid multi-robot
CN111716356A (en) * 2020-06-18 2020-09-29 南京邮电大学 Method for cooperation of humanoid multi-robot
CN112925308A (en) * 2021-01-21 2021-06-08 深圳市人工智能与机器人研究院 Path planning method and device and computer storage medium
CN112925308B (en) * 2021-01-21 2023-12-26 深圳市人工智能与机器人研究院 Path planning method, path planning device and computer storage medium
EP4080310A1 (en) * 2021-04-23 2022-10-26 Carnegie Robotics, LLC A method of controlling a robot in relation to a service schedule
EP4080311A1 (en) * 2021-04-23 2022-10-26 Carnegie Robotics, LLC A method of operating one or more robots
CN116596447A (en) * 2023-07-05 2023-08-15 长春理工大学 Warehouse task allocation method based on auction algorithm
CN116596447B (en) * 2023-07-05 2023-10-03 长春理工大学 Warehouse task allocation method based on auction algorithm

Similar Documents

Publication Publication Date Title
CN109426884B (en) Distribution scheme determination method, device and computer readable storage medium
CN109426560A (en) Method for allocating tasks, device and computer readable storage medium
CN109857518B (en) Method and equipment for distributing network resources
Rodrigues et al. Hybrid method for minimizing service delay in edge cloud computing through VM migration and transmission power control
CN108984064B (en) Split screen display method and device, storage medium and electronic equipment
CN111898787A (en) Base station planning method, device, terminal equipment and storage medium
WO2018077031A1 (en) Method and related apparatus for resource allocation
CN112842149A (en) Control method of intelligent cleaning equipment and intelligent cleaning equipment
CN109062468B (en) Split screen display method and device, storage medium and electronic equipment
CN105115495A (en) Elevator recommending method and mobile terminal
CN111338745B (en) Deployment method and device of virtual machine and intelligent device
JP2017126238A (en) System management device, information processing system, system management method, and program
JP7043390B2 (en) Estimator, estimation system and estimation method
CN112351055A (en) Searching method of edge computing server and related equipment
CN109495933A (en) Equipment of the core network and switchover policy delivery method and device
WO2020231799A1 (en) Writing and/or drawing system
JP2015069577A (en) Information processing system, management device control program and control method of information processing system
CN105653463B (en) Storage management system, management device and method
CN107831467A (en) Node positioning method, server, system and computer-readable recording medium
CN108322897A (en) Cutting ferrule meal combined method and device
CN106899929A (en) A kind of signal search methods, devices and systems
CN104967648B (en) A kind of dispatching method of internet protocol address, device and system
CN110477819B (en) Data acquisition and decision-making method for Internet of things operating system and intelligent household equipment
CN109040998B (en) Data acquisition method based on static cluster head deployment of cellular grid
CN112968860B (en) Method and device for managing electronic device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Hikvision Robot Co.,Ltd.

Address before: 310051 5th floor, building 1, building 2, no.700 Dongliu Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd.