Robots and robot management systems
The robot management system addresses robot deadlocks by monitoring constraint area usage and optimizing task and path determination, ensuring efficient robot operation in constrained facilities.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SECOM CO LTD
- Filing Date
- 2024-12-27
- Publication Date
- 2026-07-09
AI Technical Summary
When multiple autonomous robots operate in a facility, deadlocks can occur at narrow passages where two robots cannot pass through simultaneously, necessitating efficient management of constraint areas to prevent such situations.
The robot and robot management system include a state acquisition means to monitor constraint area usage by other robots, a path setting means to determine optimal paths, and a task determination means to select tasks based on constraint area status, usage time, and robot availability.
The system efficiently determines tasks and paths to avoid robot deadlocks, optimizing robot movement and task execution even in constrained environments.
Smart Images

Figure 2026115935000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot and a robot management system.
Background Art
[0002] There is known a robot management system that manages autonomous mobile robots that autonomously travel within a facility and perform patrol security, inspection work, etc. instead of resident guards (see, for example, Patent Document 1). When a person passing through a security gate during an open period in which the security gate is open due to a robot transmitting an open request signal is detected, the robot management system described in Patent Document 1 detects the person detected as an unauthorized intruder without passage authority. Thereby, the robot management system described in Patent Document 1 can prevent intrusion or passing-by intrusion by an unauthorized intruder when a robot passes through a security gate.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, when a plurality of robots capable of autonomous movement are operated in a facility, when two robots pass through a passage where it is difficult for two robots to pass through simultaneously, such as a narrow passage, a deadlock may occur where the robots are in a waiting state. In order to prevent the occurrence of a deadlock, it is desirable that a passage where it is difficult for two robots to pass through simultaneously be appropriately managed as a restricted area that restricts the actions of a plurality of robots, such as an area where only one robot can pass through.
[0005] The present invention aims to efficiently determine the task to be performed, even when a constraint area is set in the robot's movement path. [Means for solving the problem]
[0006] The robot according to the present invention includes a storage means for storing a plurality of tasks to be performed by the robot within a movement area, a state acquisition means for acquiring the usage status of a constraint area, which is subject to constraints on the robot's actions, by other robots for each of the paths used when performing each of the plurality of tasks, and a task determination means for determining which task to perform from the plurality of tasks based on the usage status acquired by the state acquisition means.
[0007] Furthermore, in the robot according to the present invention, it is preferable that the state acquisition means acquires usage status information for constraint regions located in the paths included in the execution locations of each of the multiple tasks, or constraint regions located in the paths from the robot's starting point to the execution locations of each of the multiple tasks.
[0008] Furthermore, the robot according to the present invention preferably includes a path setting means for searching and setting a path for each task from the starting point to the execution location of each of the multiple tasks, and the state acquisition means preferably acquires usage status information for the constraint areas in the multiple paths set by the path setting means.
[0009] Furthermore, in the robot according to the present invention, the state acquisition means preferably acquires at least one of the following states as usage state information: the "in use" state, where the constraint region is being used by another robot; the "reserved" state, where the use of the constraint region is reserved by another robot; and the "waiting" state, where the constraint region is waiting until the use by another robot is finished. The task determination means preferably determines a task to be executed based on at least one of the following: the number of constraint regions in the "in use" state; the number of constraint regions in the "reserved" state; and the number of constraint regions in the "waiting" state.
[0010] Furthermore, in the robot according to the present invention, the state acquisition means preferably acquires at least one of the following as usage state information: a first usage time, which is the time when another robot in the usage state uses the constraint area; a second usage time, which is the time when another robot in the standby state uses the constraint area; and a third usage time, which is the time when another robot in the reserved state uses the constraint area. The task determination means preferably determines a task to be executed based on at least one of the first usage time, the second usage time, and the third usage time.
[0011] Furthermore, in the robot according to the present invention, the state acquisition means preferably acquires, as usage state information, at least one of the following for each constraint area: the number of robots in use, the number of robots reserved, and the number of robots in standby. The task determination means preferably determines a task to be executed based on at least one of the number of robots in use, the number of robots reserved, and the number of robots standby.
[0012] Furthermore, in the robot according to the present invention, it is preferable that the task determination means determines the task to be executed based on statistical information of the usage status in one or more constraint areas over a predetermined period in the past.
[0013] Furthermore, in the robot according to the present invention, it is preferable that the task determination means determines the task to be performed based on the distance between the starting point and the constraint area.
[0014] Furthermore, the robot management system according to the present invention is a robot management system comprising a plurality of robots and a management server, comprising: a storage means for storing a plurality of tasks to be performed by the robot itself within a movement area; a state acquisition means for acquiring the usage status by other robots in a restricted area where constraints on the actions of the plurality of robots are imposed for each of the paths used when each of the plurality of tasks is performed; and a task determination means for determining which task to be performed by the robot itself from among the plurality of tasks based on the usage status acquired by the state acquisition means. [Effects of the Invention]
[0015] The robot according to the present invention can efficiently determine the task to be performed, even when a constraint area is set in the movement path. [Brief explanation of the drawing]
[0016] [Figure 1] This figure shows the overall system configuration of the robot management system according to the embodiment. [Figure 2] (A) is a diagram showing an example of node information as shown in Figure 1, (B) is a diagram showing an example of edge information as shown in Figure 1, and (C) is a diagram showing the graph structure of the paths within the facility as shown by the node information and edge information as shown in Figure 1. [Figure 3] (A) is a diagram showing an example of the data structure of the robot table shown in Figure 1, and (B) is a diagram showing an example of the data structure of the edge table shown in Figure 1. [Figure 4] Figure 1 is a flowchart showing an example of the operation of the detection process performed by the management server. [Figure 5] Figure 1 is a sequence diagram illustrating an example of the operation of the task determination process performed by the robot shown. [Figure 6] (A) is a diagram showing the graph structure corresponding to the process indicated by S204 in Figure 5, (B) is a diagram showing the graph structure corresponding to the process indicated by S207 in Figure 5, (C) is a diagram showing the graph structure corresponding to the process indicated by S210 in Figure 5, and (D) is a diagram showing the graph structure when the usage state of the constraint region is different from the state shown in (C). [Figure 7] (A) is a graph structure showing the state after the process indicated in S210 in the task determination process related to the first modified example has been executed, (B) is a graph structure showing the state when the utilization state of the constraint region is different from the state shown in (A), (C) is a graph structure showing the state after the process indicated in S210 in the task determination process related to the second modified example has been executed, and (D) is a graph structure showing the state when the utilization state of the constraint region is different from the state shown in (C). [Figure 8] It is a sequence diagram showing an example of the operation of task determination processing according to the third modification example. [Figure 9] It is a sequence diagram showing an example of the operation of task determination processing according to the fourth modification example. [Figure 10] (A) is a diagram showing a graph structure corresponding to the process shown in S413 in FIG. 9, (B) is a diagram (part 1) showing a graph structure corresponding to the process shown in S414 in FIG. 9, and (C) is a diagram (part 2) showing a graph structure corresponding to the process shown in S414 in FIG. 9.
Embodiments for Carrying Out the Invention
[0017] Hereinafter, the robot and the robot management system according to the present invention will be described with reference to the drawings. However, note that the technical scope of the present invention is not limited to those embodiments, and extends to the invention described in the claims and its equivalents.
[0018] (Configuration and Functions of the Robot According to the Embodiment) FIG. 1 is a diagram showing the overall system configuration of a robot management system according to an embodiment composed of a plurality of robots and a management server.
[0019] The robot management system 1 includes a plurality of robots 10 and a management server 20 that manages the plurality of robots 10. The robot management system 1 is a system that performs security, cleaning, or management of facilities such as companies, apartments, and commercial facilities by controlling the plurality of robots 10. For each of the paths used when executing each of the plurality of tasks, the robot management system 1 determines the next task that each of the plurality of robots 10 should perform based on the usage status of the constraint area by other robots. The constraint area is one or more areas set in the movement area of the robots 10, in which the actions of the plurality of robots 10 are restricted. The constraint area is, for example, an exclusive area that only one robot can enter, an area where passing is prohibited, an area where overtaking is prohibited, and an area where U-turns are prohibited, in which the actions of the robots 10 are restricted. The constraint area may be changed according to the conditions inside the facility, such as the arrangement of items and the congestion level.
[0020] Each of the multiple robots 10 moves autonomously within its designated area of operation within the facility and performs predetermined tasks. The robots 10 include inspection robots that perform facility inspections, patrol robots that perform facility rounds, security robots that perform facility security, cleaning robots that perform facility cleaning, guidance robots that provide information to facility users, and transport robots that transport items such as AEDs within the facility. Furthermore, the robots 10 are capable of performing multiple tasks, including facility inspections, facility rounds, facility security, facility cleaning, guidance to facility users, and transport of items. Each of the robots 10 moves along a predetermined route according to a predetermined schedule to a predetermined point (location) and performs a predetermined task.
[0021] The management server 20 is located in a control console or similar device inside or outside the facility and controls or manages multiple robots 10. Each robot 10 and the management server 20 are interconnected via a communication network N such as an intranet or the Internet. The robots 10 are connected to the communication network N via a wireless communication network such as a wireless LAN or a mobile phone network.
[0022] The robot 10 includes a position sensor 11, a drive unit 12, an input unit 13, an output unit 14, a first communication unit 15, a first storage unit 16, and a first processing unit 17, etc. The position sensor 11 is a sensor used to acquire the current position of the robot 10. The position sensor 11 includes one or more laser sensors (LiDAR). Each laser sensor is mounted on the front, side, back, and / or top surface of the robot 10. Each laser sensor includes an irradiator that emits light such as near-infrared light, visible light, or ultraviolet light in a predetermined direction, and a receiver that receives the reflected light. The direction in which each irradiator emits light is set to have various azimuth and elevation angles with respect to the direction of movement of the robot 10. Each laser sensor measures the distance to objects present around the robot 10 based on the time from when the irradiator emits light until the receiver receives the reflected light. The position sensor 11 outputs a position detection signal to the first processing unit 17 at a predetermined period, which includes multiple combinations of each direction in which the laser sensor emitted light and the measured distance. The position sensor 11 may include a receiver that receives radio waves (navigation signals) transmitted from navigation satellites (artificial satellites) such as GNSS (Global Navigation Satellite System). The receiver receives navigation signals transmitted from multiple navigation satellites and outputs them to the first processing unit 17.
[0023] The drive unit 12 includes a motor for rotating the tires of the robot 10, a motor for changing the direction of the tires, and / or a motor for changing the angle of the arm of the robot 10. The drive unit 12 receives a drive signal from the first processing unit 17, rotates according to the received drive signal, and drives the tires and / or the arm.
[0024] The input unit 13 includes one or more sensors for detecting the surrounding conditions of the robot 10. The input unit 13 includes one or more laser sensors, similar to the laser sensor in the position sensor 11, for example. Each laser sensor outputs a detection signal to the first processing unit 17 at a predetermined interval, which includes multiple combinations of the direction in which light was irradiated and the measured distance. The input unit 13 may include one or more visible light cameras provided on the front, side, back, and / or top surface of the robot 10. The imaging direction of each visible light camera is set to have various azimuth and elevation angles with respect to the direction of movement of the robot 10. Each visible light camera includes, for example, a photoelectric conversion element sensitive to visible light, such as a CCD element or CMOS element, an imaging optical system that forms an image on the photoelectric conversion element, and an A / D converter. Each visible light camera sequentially generates a visible light image based on visible light at a predetermined frame period and outputs it to the first processing unit 17. In addition, the input unit 13 may include a thermal imaging camera that acquires thermal images, either in place of or in addition to the visible light cameras. The thermal imaging camera includes, for example, two-dimensionally arranged sensors that detect the radiant energy of two wavelengths of electromagnetic radiation from an object, and an A / D converter that amplifies the electrical signal output from the sensors and performs analog-to-digital (A / D) conversion. The thermal imaging camera generates a thermal image based on temperature values determined by the ratio of two types of radiant energies, and outputs it to the first processing unit 17 at a predetermined frame period. The input unit 13 may include a microphone. The microphone has an A / D converter, generates an audio signal based on the detected sound, and outputs it to the first processing unit 17 at a predetermined interval. The input unit 13 may include a temperature sensor. The temperature sensor detects the temperature around the robot 10 and outputs a temperature signal indicating the detected temperature to the first processing unit 17 at a predetermined interval.
[0025] The output unit 14 includes an LED that lights up or turns off according to instructions from the first processing unit 17. The output unit 14 also includes a display including a liquid crystal, organic EL, etc., and an interface circuit that outputs image data to the display, and may display various information such as images and text according to instructions from the first processing unit 17. The output unit 14 also includes a speaker and an interface circuit that outputs audio data to the speaker, and may output audio according to instructions from the first processing unit 17. If the robot 10 is a cleaning robot or a transport robot, the robot 10 does not need to have the output unit 14.
[0026] The first communication unit 15 has, for example, an antenna for transmitting and receiving wireless signals and a wireless communication interface circuit for transmitting and receiving signals through a wireless communication line in accordance with a wireless communication protocol such as a wireless LAN, and is connected to the communication network N via an access point. Alternatively, the first communication unit 15 has, for example, a communication interface circuit compliant with the W-CDMA or LTE method, and is connected to the communication network N via a communication network such as a base station and a mobile communication network. The first communication unit 15 outputs data received from the communication network N to the first processing unit 17 and transmits data input from the first processing unit 17 to the communication network N.
[0027] The first storage unit 16, also referred to as a storage means, includes semiconductor memory such as ROM or RAM, a magnetic disk or optical disk drive such as CD-ROM or DVD-ROM, and its recording medium. The first storage unit 16 stores a computer program and various data for controlling the robot 10, and inputs and outputs this information to and from the first processing unit 17. The computer program may be installed in the first storage unit 16 from a computer-readable portable recording medium such as a CD-ROM or DVD-ROM using a known setup program or the like. The computer program may also be stored on a recording medium owned by a predetermined server and installed via a network. The first storage unit 16 also stores data such as node information 161, edge information 162, current status information 163, reservation status information 164, schedule information 165, and task start point information 166.
[0028] Figure 2(A) shows an example of node information 161, Figure 2(B) shows an example of edge information 162, and Figure 2(C) shows the graph structure of the paths within the facility indicated by node information 161 and edge information 162. Node information 161 is a table having a "Node ID" column and a "Location" column. The "Node ID" column stores the identification numbers "N001" to "N009" for each of the multiple nodes. The "Location" column stores the three-dimensional coordinates for each of the identification numbers "N001" to "N009" and associates them with each identification number "N001" to "N009". Edge information 162 is a table having an "Edge ID" column and a "Location" column. The "Edge ID" column stores the identification numbers "E001" to "E010" for each of the multiple edges. The "Location" column stores the locations of each identification number "E001" to "E010" as defined by the nodes indicated by the identification numbers "N001" to "N009" included in node information 161, and is stored in association with each of the identification numbers "N001" to "N010". The edge indicated by identification number "E001" is defined as the edge between the node indicated by identification number "N001" and the node indicated by identification number "N002". The edge indicated by identification number "E002" is defined as the edge between the node indicated by identification number "N001" and the node indicated by identification number "N003". The same applies to the following, where the edge indicated by identification number "E010" is defined as the edge between the node indicated by identification number "N006" and the node indicated by identification number "N007". In addition to node information 161 and edge information 162, the first storage unit 16 may further store map information indicating the shape of passages or rooms within the facility, the location of fixed obstacles such as equipment or partitions, etc. The current state information 163 indicates the current state of the robot 10, such as "Preparing," indicating that it is waiting in a predetermined home position without performing any work; "Working," indicating that it is performing work; "Moving," indicating that it is moving to a desired position; or "Waiting," indicating that it is waiting to enter an edge which is a constraint area. The reservation status information 164 indicates the edges that are currently reserved for use as constraint regions on the movement path of the robot 10, which is in motion, and which are scheduled to pass through. For example, when the robot 10 moves from a node indicated by identification number "N001" to a node indicated by identification number "N006" via the edges indicated by identification numbers "E001", "E003", and "E005", the reservation status information 164 indicates that the edges indicated by identification numbers "E001", "E003", and "E005" are reserved. Schedule information 165 indicates the schedule for robot 10. The schedule includes, for each task, the departure time, departure point, starting point (also called the destination point), work start time, work position, work content (also called the task), work end time, return time, return position, and travel route. Schedule information 165 is set by the management server 20. The departure point and return position are set to predetermined home positions, which are nodes indicated by, for example, identification number "N001". Task start point information 166 indicates the starting point for each of several tasks performed by the robot 10 within the mobile area, such as facility inspection, facility patrol, facility security, facility cleaning, facility user guidance, and luggage transport. Task start point information 166 stores the starting point for facility inspection as a node indicated by identification number "N006", and the starting point for facility patrol as a node indicated by identification number "N007". The starting point may also be the robot's current position.
[0029] The first processing unit 17 includes a processor such as a CPU or MPU, memory such as ROM or RAM, and peripheral circuits, and performs various signal processing for the robot 10. The first processing unit 17 includes a state acquisition means 171, a path setting means 172, and a task determination means 173, which are implemented as functional modules of a program that runs on the processor. A DSP, LSI, ASIC, FPGA, etc. may be used as the first processing unit 17.
[0030] The first processing unit 17 receives schedule information for the robot 10 from the management server 20 via the first communication unit 15, and drives the drive unit 12 according to the received schedule information to move the robot 10. The first processing unit 17 moves along the paths defined by the node information 161 and edge information 162. Periodically, the first processing unit 17 acquires position detection signals or navigation signals from the position sensors 11 to detect the current position and direction of the robot 10. The first processing unit 17 identifies the current position and direction from the combination of the direction in which each laser sensor irradiated light and the distance to the object, as well as the positions of paths, rooms, obstacles, etc., shown in the map information. Alternatively, the first processing unit 17 determines the current position and direction by obtaining the latitude, longitude, and altitude from the acquired navigation signals. When the robot 10 arrives at the work position shown in the schedule information, the first processing unit 17 executes the work related to the work content shown in the schedule information.
[0031] The management server 20 includes an operation unit 21, a display unit 22, a second communication unit 23, a second storage unit 24, and a second processing unit 25, among others.
[0032] The operation unit 21 includes an input device such as a touch panel or keyboard, and an interface circuit that acquires signals from the input device. It accepts user operations and outputs a signal corresponding to the accepted operation to the second processing unit 25. The display unit 22 includes a display including a liquid crystal or organic EL display, and an interface circuit that outputs image data to the display. It displays various information such as images and text according to instructions from the second processing unit 25.
[0033] The second communication unit 23 has a communication interface circuit compliant with, for example, TCP / IP, and is connected to the communication network N. Alternatively, the second communication unit 23 has, for example, an antenna for transmitting and receiving wireless signals and a wireless communication interface circuit for transmitting and receiving signals via a wireless communication line in accordance with a wireless communication protocol such as a wireless LAN, and is connected to the communication network N via an access point. The second communication unit 23 outputs data received from the communication network N to the second processing unit 25 and transmits data input from the second processing unit 25 to the communication network N.
[0034] The second storage unit 24 includes semiconductor memory such as ROM and RAM, a magnetic disk or optical disk drive such as a CD-ROM or DVD-ROM, and its recording medium. The second storage unit 24 stores computer programs and various data for controlling the management server 20, and inputs and outputs this information to and from the second processing unit 25. The computer program may be installed in the second storage unit 24 from a computer-readable portable recording medium such as a CD-ROM or DVD-ROM using a known setup program or the like. The computer program may also be stored on a recording medium owned by a predetermined server and installed via a network. Furthermore, the second storage unit 24 stores data such as node information 241, edge information 242, robot table 243, edge table 244, etc. Node information 241 and edge information 242 are the same information as node information 161 and edge information 162 stored by the robot 10, respectively.
[0035] Figure 3(A) shows an example of the data structure of the robot table 243. As shown in Figure 3(A), the robot table 243 contains, for each of the multiple robots 10 owned by the robot management system 1, the identification number (robot ID), function, size, movement speed, current position, movement direction, current status, reservation status, battery level, schedule information, etc., which are all linked and set together. The functions of each robot 10 are the functions that each robot is capable of performing. The identification number, functions, size, and movement speed of each robot 10 are set in the robot management system 1 when each robot 10 is put into use. The current position, direction of movement, current status, and battery level of each robot 10 are periodically transmitted from each robot 10 to the management server 20 and updated. The schedule information for each robot 10 is set by the controller at predetermined intervals such as daily, weekly, or monthly.
[0036] Figure 3(B) shows an example of the data structure of edge table 244. As shown in Figure 3(B), the edge table 244 contains, in relation to each edge, the identification number, constraint area, number of units using, first usage time, number of reserved units, second usage time, number of standby units, third usage time, cost value, etc., for each edge as it is stored in the edge information 242. In the edge table 244, the "Constraint Area" column indicates whether or not an edge is a constraint area. When the "Constraint Area" column is "YES", the corresponding edge is a constraint area, and when the "Constraint Area" column is "NO", the corresponding edge is not a constraint area. The "Number of Units Using" column indicates the number of robots 10 using the constraint area, and the "First Usage Time" column indicates the time that robots 10 use the constraint area. The first usage time may be a predetermined usage time required for robots 10 to pass through the entire constraint area, or it may be the remaining time required for robots 10 to pass through the rest of the constraint area when robots 10 are passing through the constraint area. The "Number of Reserved Units" column indicates the number of robots 10 that have reserved the constraint area, and the "Second Usage Time" column indicates the time that the reserved robots 10 will use the constraint area. The "Number of Standby Units" column indicates the number of robots 10 waiting to enter the constraint area, and the "Third Usage Time" column indicates the time that the robots 10 will wait to enter the constraint area. The "Cost Value" column indicates the cost value, which is a weighted value based on the length of each edge, i.e., the distance value. The cost value is set to be larger as the edge length increases. For example, the cost value may be set proportionally to the edge length. The identification number, constraint area, and cost value of each edge are set in the robot management system 1 when the movement area of the robot 10 is set. The constraint area may be changed according to the arrangement of items and the conditions within the facility, such as congestion. The number of units in use, the number of units reserved, the number of units on standby, and the usage time of each edge are periodically transmitted from each robot 10 to the management server 20 and updated.
[0037] The second processing unit 25 includes a processor such as a CPU or MPU, memory such as ROM or RAM, and peripheral circuits, and executes various processes of the management server 20. The second processing unit 25 includes detection means 251, aggregation means 252, and transmission means 253, etc., which are implemented as functional modules of a program that runs on the processor. A DSP, LSI, ASIC, FPGA, etc. may be used as the second processing unit 25.
[0038] The second processing unit 25 receives the schedule setting for the robot 10 from the controller using the operation unit 21, and transmits the schedule information indicating the received schedule to the robot 10 via the second communication unit 23 to set the schedule for the robot 10. The second processing unit 25 also detects the status of multiple robots 10 and stores the status of each of the detected robots 10 in the robot table 243.
[0039] Figure 4 is a flowchart showing an example of the operation of the detection process performed by the management server 20. The detection process shown in Figure 4 is mainly performed by the second processing unit 25 in cooperation with each element of the management server 20, based on a program that is stored in the second storage unit 24 in advance. The detection process shown in Figure 4 is performed at predetermined detection cycles, such as every 10 seconds.
[0040] First, the detection means 251 acquires detection information from the robot 10 assigned the identification number "R001" (S101). The detection information includes current position information and current direction information indicating the current position and direction of movement, current state information indicating the current state, reservation information indicating the current reservation state, and battery level information. The detection means 251 transmits a detection information request signal to the robot 10 assigned the identification number "R001" indicating the transmission of a detection signal indicating detection information. In response to receiving the detection information request signal, the robot 10 assigned the identification number "R001" acquires a position detection signal from the position sensor 11 and detects its current position and direction. The robot 10 assigned the identification number "R001" also acquires current state information 163 and reservation state information 164 stored in the first storage unit. The robot 10 assigned the identification number "R001" also acquires battery level information indicating the remaining battery level. Robot 10, assigned identification number "R001", transmits a detection signal to the management server 20 indicating detection information including current location information and current direction information showing the detected current position and direction, acquired current status information 163 and reserved status information 164, and battery level information. Detection means 251 acquires detection information corresponding to the received detection signal and stores the current location information, current direction information, current status information, reserved status information and battery level information included in the acquired detection information in the robot table 243, associating them with identification number "R001".
[0041] Next, the detection means 251 determines whether or not it has acquired detection information from all robots 10 (S102). The processes shown in S101 and S102 are repeated until the detection means 251 determines that it has acquired detection information from all robots 10 (S102-YES). As the processes shown in S101 and S102 are repeated, detection information is sequentially acquired from multiple robots 10 corresponding to identification numbers "R002", "R003", and "R004", respectively.
[0042] When the detection means 251 determines that detection information has been obtained from all robots 10 (S102-YES), the aggregation means 252 aggregates the state of the robots 10 at each edge (S103). First, the aggregation means 252 refers to the node information 241 and the robot table 243 to estimate whether the current position of the robot 10 with identification number "R001" is one of the edges associated with identification numbers "E001" to "E010". Next, the aggregation means 252 refers to the robot table 243 to determine whether the current state of the robot 10 with identification number "R001" is either "in use" or "on standby" in the constraint area. Next, the aggregation means 252 counts up the number of current states of the constraint area included in the estimated edge (number of units in use, number of units on standby) by one and stores the counted number in the second storage unit 24. Next, the aggregation means 252 refers to the reservation status information stored in the robot table 243 and extracts the edges that are the constraint regions reserved by the robot 10 with identification number "R001". Then, the aggregation means 252 increments the number of "reserved" edges (number of reserved units) by one and stores the incremented number in the second storage unit 24.
[0043] Next, the aggregation means 252 determines whether or not the states of all robots 10 have been aggregated (S104). The processes shown in S103 and S104 are repeated until the aggregation means 252 determines that the states of all robots 10 have been aggregated (S104-YES). As the processes shown in S103 and S104 are repeated, the current states of the robots 10 located at each edge associated with identification numbers "E001" to "E010" are aggregated. When the aggregation means 252 determines that the states of all robots 10 have been aggregated (S104-YES), the detection process ends.
[0044] Figure 5 is a sequence diagram showing an example of the operation of the task determination process performed by the robot 10. The task determination process shown in Figure 5 is mainly performed by the first processing unit 17 in cooperation with each element of the robot 10, based on a program that is stored in the first storage unit 16 in advance. The task determination process shown in Figure 5 is performed when the robot 10, also called the self-robot, moves from its home position to the work start point when it starts work according to the schedule information.
[0045] First, the status acquisition means 171 sends a schedule request signal to the management server 20 requesting the transmission of a schedule signal indicating the schedule of a plurality of tasks that are candidates for the next task to be performed by the robot 10 (S201). The status acquisition means 171 sends a schedule request signal to the management server 20, for example, when the previous task is completed and the robot returns to a predetermined standby position. The schedule request signal includes information indicating the transmission of a schedule signal, the time the schedule signal was transmitted, and an identification number indicating the robot 10 that transmitted the schedule signal.
[0046] Next, the transmitting means 253 transmits a schedule signal to the robot 10 indicating the schedule of the next task to be performed by the robot 10 (S202). The transmitting means 253, referring to the "Schedule Information" column of the robot table 243, obtains schedule information indicating the schedules of multiple tasks that are candidates for the next task to be performed by the robot 10 that transmitted the schedule signal in the process shown in S201. Next, the transmitting means 253 generates a schedule signal corresponding to the acquired schedule information and transmits the generated schedule signal to the robot 10 that transmitted the schedule request signal. The schedule information acquired by the transmitting means 253 includes, for example, first schedule information where the starting point is a node indicated by identification number "N006" and the task content is "inspection", and first schedule information where the starting point is a node indicated by identification number "N007" and the task content is "patrol".
[0047] Next, the state acquisition means 171 acquires schedule information indicating the schedules of a plurality of tasks that are candidates for the next task to be performed by the robot 10 (S203). The state acquisition means 171 acquires schedule information corresponding to the schedule signal transmitted in the process shown in S202 and stores the acquired schedule information as schedule information 165 in the first storage unit 16. The robot 10 acquires schedule information 165 indicating the schedules of two tasks, with the node indicated by identification number "N001" as the starting point and the nodes indicated by identification numbers "N006" and "N007" as destination points. The node indicated by identification number "N006" is referred to as the first destination point, and the node indicated by identification number "N007" is referred to as the second destination point.
[0048] Next, the route setting means 172 searches for routes from the robot 10's starting point to the first destination point and the second destination point (S204). The route setting means 172 refers to the schedule information 165 and executes a process to search for multiple routes at a predetermined set time earlier than the departure time set in the schedule information 165. The route setting means 172 uses the graph structure shown in Figure 2(C) to identify all routes from the node indicated by identification number "N001", which is the home position of each robot 10, to the nodes indicated by identification numbers "N006" and "N007", which are the work positions. The route setting means 172 uses known graph search techniques, such as Dijkstra's algorithm or A* (A-star) search algorithm, to search for the optimal route to the nodes indicated by identification numbers "N006" and "N007". The route setting means 172 extracts the first route R1 and the second route R2, which are the optimal routes to the nodes indicated by identification numbers "N006" and "N007", as search results. The route setting means 172 stores the first route information and the second route information, which represent the extracted first route R1 and second route R2, respectively, in the first storage unit 16. As shown in Figure 6(A), the route setting means 172 searches for a route that passes through the edges indicated by identification numbers "E001", "E003", and "E005" in order as the first route R1. The route setting means 172 also searches for a route that passes through the edges indicated by identification numbers "E002", "E004", and "E007" in order as the second route R2.
[0049] Next, the state acquisition means 171 sends a constraint area request signal to the management server 20 requesting the transmission of constraint area signals indicating the constraint areas included in the first path R1 and the second path R2, respectively, which were searched in the process shown in S204 (S205). At this time, the management server 20 may also be sent a constraint area request signal requesting the transmission of constraint area signals indicating the constraint areas included in all paths (edges).
[0050] Next, the transmitting means 253 transmits constraint area signals to the robot 10 indicating the constraint areas included in the first path R1 and the second path R2, respectively (S206). The transmitting means 253 extracts constraint area information indicating the constraint areas included in the first path R1 and the second path R2, respectively, by referring to the edge information 242 and the "Constraint Area" column of the edge table 244. The transmitting means 253 transmits constraint area signals corresponding to the extracted constraint area information to the robot 10. The transmitting means 253 extracts information indicating identification numbers "E001", "E003", "E005", and "E007" as constraint area information. The transmitting means 253 transmits constraint area signals indicating the constraint area information to the robot 10.
[0051] Next, the state acquisition means 171 acquires constraint area information corresponding to the constraint area signal transmitted in the process shown in S206 (S207). The state acquisition means 171 stores in the first storage unit 16 the constraint area information corresponding to the constraint area signal transmitted in the process shown in S206, that is, information indicating the identification numbers "E001", "E003", "E005", and "E007". As shown in Figure 6(B), the state acquisition means 171 acquires constraint region information indicating that the edges indicated by identification numbers "E001", "E004", "E005", and "E007" are constraint regions C1 to C4.
[0052] Next, the state acquisition means 171 sends a usage status request signal to the management server 20 requesting the transmission of a usage status signal indicating the usage status of the constraint area by other robots, corresponding to the constraint area information acquired in the process shown in S207 (S208).
[0053] Next, the transmitting means 253 transmits usage status signals to the robot 10 indicating the usage status of the constraint areas included in the first path R1 and the second path R2 by other robots (S209). The transmitting means 253 extracts usage status information indicating the usage status of the constraint areas included in the first path R1 and the second path R2 by referring to the "Edge ID" column, "Number of Users" column, "Number of Reserved Users" column and "Number of Standby Users" column of the edge table 244. The transmitting means 253 transmits usage status signals corresponding to the extracted usage status information to the robot 10.
[0054] Next, the status acquisition means 171 acquires usage status information corresponding to the usage status signal transmitted in the process shown in S209 (S210). The status acquisition means 171 stores the usage status information corresponding to the usage status signal transmitted in the process shown in S209 in the first storage unit 16. As shown in Figure 6(C), the state acquisition means 171 acquires usage status information indicating that the constraint region C1, whose status is (1,0,1), is in use and in standby mode, the constraint region C2, whose status is (1,0,0), the constraint region C3, whose status is (1,0,0), and the constraint region C4, whose status is (1,0,0).
[0055] Then, the task determination means 173 evaluates the first route R1 and the second route R2 based on the usage status information obtained by the status acquisition means in the process shown in S210, and decides to execute one of the multiple tasks (S211). The task determination means 173 determines that two constraint areas C1 and C3 included in the first route R1 are in use, and that constraint area C1 is in a waiting state. The task determination means 173 determines that two constraint areas C2 and C4 included in the second route R2 are in use. The task determination means 173 determines that the number of constraint areas in use is the same in the first route R1 and the second route R2, and that the number of constraint areas in a waiting state included in the first route R1 is greater than the number of constraint areas in a waiting state included in the second route R2. The task determination means 173 determines that since the number of constraint regions in a waiting state included in the first path R1 is greater than the number of constraint regions in a waiting state included in the second path R2, selecting the second path R2 is less likely to result in waiting for other robots 10 to pass. The task determination means 173 determines that selecting the second path R2 is less likely to result in waiting for other robots 10 to pass and is expected to allow the robot to reach the destination node indicated by identification number "N006" earlier, and therefore decides that the next task to be executed will be the task "Patrol" which uses the second path R2 as its travel route.
[0056] Figure 6(D) shows the graph structure when the usage state of constraint regions C1 to C4 is different from the state shown in Figure 6(C). In the state shown in Figure 6(D), constraint regions C1 and C3, whose status is indicated as (1,0,0), are in use, and constraint regions C2 and C4, whose status is indicated as (0,0,0), are unused. In Figure 6(D), the state acquisition means 171 determines that the number of constraint regions in use included in the first path R1 is greater than the number of constraint regions in use included in the second path R2, and that the number of constraint regions in reserved and waiting states is the same in both the first path R1 and the second path R2. Since the number of constraint regions in use included in the first path R1 is greater than the number of constraint regions in use included in the second path R2, the state acquisition means 171 determines that selecting the second path R2 is less likely to result in waiting for other robots 10 to pass. The state acquisition means 171 determines that selecting the second route R2 reduces the likelihood of waiting for other robots 10 to pass, and that it is expected to reach the destination node indicated by identification number "N006" earlier. Therefore, it decides that the next task to be executed will be the task "Patrol," which uses the second route R2 as its travel path.
[0057] The robot management system 1 can efficiently determine the next task to be executed, even when a constraint area is set in the movement path, by determining the next task to be executed based on usage status information indicating the usage status in the constraint area. The robot management system 1 can also efficiently determine the next task to be executed, even when a constraint area is set in the movement path, by determining the next task to be executed based on the number of constraint areas that are in use, reserved, and on standby.
[0058] The robot management system 1 evaluates each of the multiple paths based on the number of constraint areas in use, the number of constraint areas in the reserved state, and the number of constraint areas in the standby state, and determines the next task to be executed. However, the robot management system according to this embodiment may evaluate each of the multiple paths based on at least one of the states among the number of constraint areas in use, the number of constraint areas in the reserved state, and the number of constraint areas in the standby state, and determine the next task to be executed.
[0059] Furthermore, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying the number of constraint regions in use, the number of constraint regions in a reserved state, and the number of constraint regions in a standby state by a weighting coefficient. For example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying the number of constraint regions in use by a weighting coefficient of 1.0, and the number of constraint regions in a reserved state and the number of constraint regions in a standby state by a weighting coefficient of 1.5.
[0060] Furthermore, the robot management system according to this embodiment may determine the next task to be performed based on a first usage time in the active state, a second usage time in the reserved state, and a third usage time in the standby state. Figure 7(A) shows the graph structure of the state after the process shown in S210 in the task determination process related to the first modified example has been executed. In the task determination process according to the first modified example, in the process shown in S210, the transmission means 253 obtains usage status information indicating the usage time of the constraint areas included in the first path R1 and the second path R2, respectively, by referring to the "Edge ID" column, "First Usage Time" column, "Second Usage Time" column, and "Third Usage Time" column of the edge table 244. The transmission means 253 transmits a usage status signal corresponding to the acquired usage status information to the robot 10. In the state shown in Figure 7(A), in the process shown in S210, the task determination means 173 acquires usage status information indicating that the first usage time of constraint area C1, whose status is (130,0,60), is 130 seconds and the third usage time is 60 seconds; the first usage time of constraint area C2, whose status is (160,0,0), is 160 seconds; the first usage time of constraint area C3, whose status is (130,0,0), is 130 seconds; and the first usage time of constraint area C4, whose status is (120,0,0), is 120 seconds. In Figure 7(A), the task determination means 173 determines that since the total usage time from the first to the third is longer for the first route R1 than for the second route R2, selecting the first route R1 will result in a longer waiting time than selecting the second route R2. The task determination means 173 determines that selecting the first route R1 results in a longer waiting time than selecting the second route R2, and therefore the second route R2 is less likely to result in waiting for other robots 10 to pass. The task determination means 173 determines that selecting the second route R2 is less likely to result in waiting for other robots 10 to pass, and that it is expected to reach the destination node indicated by identification number "N006" earlier, and therefore the next task to be executed is the task "Patrol" which uses the second route R2 as the travel path.
[0061] Figure 7(B) shows the graph structure when the usage state of the constraint regions C1 to C4 is different from the state shown in Figure 7(A). In the state shown in Figure 7(B), the first usage time for constraint region C1, whose state is displayed as (60,0,0), is 60 seconds; the first usage time for constraint region C2, whose state is displayed as (30,0,0), is 30 seconds; the first usage time for constraint region C3, whose state is displayed as (130,0,0), is 130 seconds; and the first usage time for constraint region C4, whose state is displayed as (10,0,0), is 10 seconds. In Figure 7(B), the task determination means 173 determines that since the total time of the first to third usage times is longer for the first path R1 than for the second path R2, selecting the first path R1 will result in a longer waiting time than selecting the second path R2. The task determination means 173 determines that since selecting the first path R1 will result in a longer waiting time than selecting the second path R2, selecting the second path R2 is less likely to result in waiting for other robots 10 to pass. The task determination means 173 determines that selecting the second route R2 reduces the likelihood of waiting for other robots 10 to pass and allows the robot to reach the destination node indicated by identification number "N006" earlier. Therefore, it determines that the next task to be executed will be the task "Patrol," which uses the second route R2 as its travel path. In the travel path setting process according to the first modified example, the robot management system determines the next task to be executed based on the usage time of the constraint areas which are in use, reserved, and on standby. This allows the robot to efficiently determine the next task to be executed even when constraint areas are set on the travel path.
[0062] In the task determination process according to the first modified example, the robot management system determines the next task to be executed based on the first usage time, the second usage time, and the third usage time. However, the robot management system according to the embodiment may evaluate each of the multiple paths based on at least one of the first usage time, the second usage time, and the third usage time, and determine the next task to be executed.
[0063] Furthermore, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying the first usage time, second usage time, and third usage time by a weighting coefficient. For example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying the first usage time by a weighting coefficient of 1.0 and the second and third usage times by a weighting coefficient of 1.5.
[0064] Furthermore, the robot management system according to this embodiment may determine the next task to be executed based on the number of robots 10 in use, the number of robots 10 reserved, and the number of robots 10 in standby. Figure 7(C) shows the graph structure of the state after the process shown in S210 in the task determination process related to the second modified example has been executed. In the task determination process related to the second modified example, in the process shown in S210, the transmission means 253 obtains usage status information indicating the number of units using, the number of units reserved, and the number of units waiting in the constraint areas included in the first route R1 and the second route R2, respectively, by referring to the "Edge ID" column, the "Number of Units Using", the "Number of Units Reserved", and the "Number of Units Waiting" column of the edge table 244. The transmission means 253 transmits a usage status signal corresponding to the acquired usage status information to the robot 10. In the state shown in Figure 7(C), in the process shown in S210, the task determination means 173 acquires usage status information indicating that the number of units using constraint area C1, which is displayed as (1,0,1), is 1 and the number of units waiting is 1; the number of units using constraint area C2, which is displayed as (1,0,0), is 1; the number of units using constraint area C3, which is displayed as (1,0,0), is 1; and the number of units using constraint area C4, which is displayed as (1,0,0), is 1. In Figure 7(C), the task determination means 173 determines that since the total number of units using, reserved, and waiting is greater for the first route R1 than for the second route R2, selecting the first route R1 will result in a longer waiting time than selecting the second route R2. Since selecting the first route R1 will result in a longer waiting time than selecting the second route R2, the task determination means 173 determines that selecting the second route R2 is less likely to result in waiting for other robots 10 to pass. The task determination means 173 determines that selecting the second route R2 reduces the likelihood of having to wait for other robots 10 to pass, and that it is expected to reach the destination node indicated by identification number "N006" earlier. Therefore, it decides that the next task to be executed will be the task "Patrol," which uses the second route R2 as its travel path.
[0065] Figure 7(D) shows the graph structure when the usage state of constraint regions C1 to C4 is different from the state shown in Figure 7(C). In the state shown in Figure 7(D), the number of units using constraint area C1, whose state is (1,0,2), is 1 and the number of units waiting is 2; the number of units using constraint area C2, whose state is (2,0,0), is 2; the number of units using constraint area C3, whose state is (1,0,0), is 1; and the number of units using constraint area C4, whose state is (1,0,0), is 1. In Figure 7(D), the task determination means 173 determines that since the total number of units using, reserved, and waiting is greater for the first route R1 than for the second route R2, selecting the first route R1 will result in a longer waiting time than selecting the second route R2. The task determination means 173 determines that since selecting the first route R1 will result in a longer waiting time than selecting the second route R2, selecting the second route R2 is less likely to result in waiting for other robots 10 to pass. The task determination means 173 determines that selecting the second route R2 reduces the likelihood of waiting for other robots 10 to pass and allows the robot to reach the destination node indicated by identification number "N006" earlier. Therefore, it determines that the next task to be executed will be the task "Patrol," which uses the second route R2 as its travel path. In the travel path setting process according to the second modified example, the robot management system can efficiently determine the next task to be executed, even when a constraint area is set on the travel path, by determining the next task to be executed based on the number of robots in use, the number of robots reserved, and the number of robots on standby.
[0066] In the task determination process according to the second modified example, the robot management system determines the next task to be executed based on the number of robots in use, the number of robots reserved, and the number of robots on standby. However, the robot management system according to the embodiment may evaluate each of the multiple routes based on at least one of the number of robots in use, the number of robots reserved, and the number of robots on standby, and then determine the next task to be executed.
[0067] Furthermore, the robot management system according to the embodiment may evaluate each of the multiple routes by multiplying the number of robots in use, the number of robots reserved, and the number of robots on standby by a weighting coefficient. For example, the robot management system according to the embodiment may evaluate each of the multiple routes by multiplying the number of robots in use by a weighting coefficient of 1.0, and the number of robots reserved and the number of robots on standby by a weighting coefficient of 1.5.
[0068] Furthermore, the robot management system according to this embodiment may determine the next task to be executed based on statistical information of the usage status in the constraint area over a predetermined period in the past. Figure 8 is a sequence diagram showing an example of the operation of the task determination process according to the third modified example. The task determination process shown in Figure 8 is executed mainly by the first processing unit 17 in cooperation with each element of the robot 10, based on a program that is stored in the first storage unit 16 in advance. The processes shown in S301 to S308 are the same as the processes shown in S201 to S208, so a detailed explanation is omitted here.
[0069] Following the process shown in S308, the transmitting means 253 transmits a usage status signal to the robot 10 indicating the usage status over a predetermined past period, such as one week, in the constraint areas included in each of the first and second paths R1 and R2 (S309). The transmitting means 253 extracts usage status information indicating the usage status over a predetermined past period in the constraint areas included in each of the first and second paths R1 and R2, by referring to the "Edge ID" column, "Number of Units in Use" column, "Number of Units Reserved" column, and "Number of Units on Standby" column of the edge table 244 over the predetermined period. The transmitting means 253 transmits a usage status signal corresponding to the extracted usage status information over the predetermined past period to the robot 10.
[0070] Next, the status acquisition means 171 acquires usage status information over a predetermined past period corresponding to the usage status signal transmitted in the process shown in S309 (S310). The status acquisition means 171 stores the usage status information corresponding to the usage status signal transmitted in the process shown in S309 in the first storage unit 16.
[0071] Then, the task determination means 173 evaluates the first route R1 and the second route R2 based on the usage status information over a predetermined period in the past obtained in the process shown in S310, and determines the next task to be executed (S311). First, the task determination means 173 aggregates the number of times the "in use" state, the "reserved" state, and the "standby" state, respectively, over the predetermined period in the past. Next, the task determination means 173 calculates the total number of times the "reserved" state and the "standby" state, respectively, for the constraint areas C1 and C3, respectively, and the total number of times the "reserved" state and the "standby" state, respectively, for the constraint areas C2 and C4. The task determination means 173 determines that if the total number of times constraint regions C1 and C3 have been in the reserved and waiting states is greater than the number of times constraint regions C2 and C4 have been in the reserved and waiting states, then selecting the second route R2 is less likely to result in waiting for other robots 10 to pass. The task determination means 173 determines that if the second route R2 is selected, there is a lower chance of waiting for other robots 10 to pass, and it is expected that the destination node indicated by identification number "N006" can be reached earlier. Therefore, the task to be executed next is the task "Patrol" which uses the second route R2 as the travel path. Furthermore, the task determination means 173 determines that selecting the first route R1 is less likely to result in waiting for other robots 10 to pass, when the total number of times constraint areas C1 and C3 have been in the reserved and waiting states is less than the number of times constraint areas C2 and C4 have been in the reserved and waiting states. The task determination means 173 determines that selecting the first route R1 is less likely to result in waiting for other robots 10 to pass, and that it is expected to reach the destination node indicated by identification number "N006" early, and therefore the next task to be executed is the task "inspection" which uses the first route R1 as the travel path. In the travel path setting process according to the third modified example, the robot management system determines the next task to be executed based on the number of constraint areas that have been in use, the number of constraint areas that have been reserved, and the number of constraint areas that have been waiting over a predetermined period in the past, thereby enabling efficient determination of the next task to be executed even when constraint areas are set on the travel path.
[0072] In the task determination process according to the third modification, the robot management system evaluates each of a plurality of paths based on the number of constraint areas that have been in use over a predetermined period in the past, the number of constraint areas that have been reserved, and the number of constraint areas that have been in a standby state, and determines the next task to be executed. However, the robot management system according to the embodiment may determine the next task to be executed based on at least one of the number of constraint areas that have been in use over a predetermined period in the past, the number of constraint areas that have been reserved, and the number of constraint areas that have been in a standby state.
[0073] Furthermore, in the task determination process according to the third modified example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying the number of constraint regions in use, the number of constraint regions in a reserved state, and the number of constraint regions in a standby state by a weighting coefficient. For example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying the number of constraint regions in use by a weighting coefficient of 1.0, and the number of constraint regions in a reserved state and the number of constraint regions in a standby state by a weighting coefficient of 1.5.
[0074] Furthermore, in the task determination process according to the third modified example, the robot management system according to the embodiment may aggregate the number of constraint areas in use, the number of constraint areas in a reserved state, and the number of constraint areas in a standby state for each hour, and determine the next task to be executed based on the aggregated value of constraint areas for the time corresponding to the current time. By determining the next task to be executed based on the aggregated value of constraint areas for the time corresponding to the current time, the robot management system according to the embodiment can determine the next task to be executed based on the state of constraint areas according to the time of day, such as during off-peak periods such as at night.
[0075] Furthermore, in the task determination process according to the third modified example, the robot management system according to the embodiment may determine the next task to be executed based on at least one of the first usage time, second usage time, and third usage time over a predetermined period in the past. Alternatively, in the task determination process according to the third modified example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying each of the first usage time, second usage time, and third usage time over a predetermined period in the past by a weighting coefficient. Furthermore, in the task determination process according to the third modified example, the robot management system according to the embodiment may aggregate the first usage time, second usage time, and third usage time hourly and determine the next task to be executed based on the aggregated value of the constraint area at the time corresponding to the current time.
[0076] Furthermore, in the task determination process according to the third modified example, the robot management system according to the embodiment may determine the next task to be executed based on at least one of the number of units used, the number of units reserved, and the number of units on standby over a predetermined period in the past. Furthermore, in the task determination process according to the third modified example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying each of the number of units used, the number of units reserved, and the number of units on standby over a predetermined period in the past by a weighting coefficient. Furthermore, in the task determination process according to the third modified example, the robot management system according to the embodiment may aggregate the number of units used, the number of units reserved, and the number of units on standby for each hour and determine the next task to be executed based on the aggregated value of the constraint area for the time corresponding to the current time.
[0077] Furthermore, while the robot management system 1 evaluates the utilization status of constraint regions C1 to C4 under the same conditions, the robot management system according to the embodiment may evaluate the utilization status of constraint regions C1 to C4 with weights. For example, the robot management system according to the embodiment may evaluate the utilization status of constraint regions C1 to C4 with weights according to the distance between each constraint region C1 to C4 and the starting point. For example, constraint regions that are closer to the starting point may be given more weight. The robot management system according to the embodiment may weight the utilization status in the order of constraint region C1, constraint region C2, constraint region C4 and constraint region C3.
[0078] Furthermore, the robot management system according to this embodiment may determine the next task to be executed based on the route length of the path from the starting point to the destination point and the usage status acquired by the status acquisition means. Figure 9 is a sequence diagram showing an example of the operation of the task determination process according to the fourth modified example. The task determination process shown in Figure 9 is executed mainly by the first processing unit 17 in cooperation with each element of the robot 10, based on a program that is stored in the first storage unit 16 in advance. The processes shown in S401 to S409 are the same as the processes shown in S201 to S203 and S205 to S210, except that constraint area information showing all constraint areas is extracted in the process shown in S405 and constraint area information showing all constraint areas is acquired in the process shown in S406. Therefore, a detailed explanation of the processes shown in S401 to S409 is omitted here.
[0079] Following the process shown in S409, the status acquisition means 171 sends a cost value request signal to the management server 20 requesting the transmission of a cost value signal indicating the cost value of an edge included in the route within the facility (S410).
[0080] Next, the transmitting means 253 transmits a cost value signal to the robot 10 indicating the cost value of the edge included in the route within the facility (S411). The transmitting means 253 extracts cost value information indicating the cost value of the edge included in the route within the facility by referring to the edge information 242 and the "cost value" column of the edge table 244. The transmitting means 253 transmits a constraint area signal corresponding to the extracted cost value information to the robot 10. Note that the transmitting means 253 may extract cost value information indicating only the cost value of the edge existing between the starting point and the destination point, rather than extracting cost value information indicating the cost value of all edges included in the route within the facility.
[0081] Next, the state acquisition means 171 acquires cost value information corresponding to the cost value signal transmitted in the process shown in S412 (S412). The state acquisition means 171 stores the cost value information corresponding to the cost value signal transmitted in the process shown in S411 in the first storage unit 16. As shown in Figure 10(A), the status acquisition means 171 acquires cost value information indicating the respective cost values "C001" to "C010" for each of the identification numbers "E001" to "E010" included in the route within the facility.
[0082] Then, the task determination means 173 determines the next task to be executed based on the path length of the path from the starting point to the destination point and the usage status obtained by the status acquisition means (S413). The task determination means 173 determines that all of the constraint areas C1 to C4 are in use and that constraint area C1 is in a waiting state. The task determination means 173 corrects the cost values of the edges indicated by identification numbers "E001", "E004", "E005", and "E007" according to the usage status of each of the constraint areas C1 to C4. Since all of the constraint areas C1 to C4 are in use, the task determination means 173 corrects the cost values of the edges indicated by identification numbers "E001", "E004", "E005", and "E007" to increase them. Furthermore, since the constraint region C1 is still in a waiting state, the task determination means 173 corrects the cost values of each edge indicated by identification number "E001" to twice the cost values of the edges indicated by "E004", "E005", and "E007". As shown in Figure 10(B), the task determination means 173 increases the cost value of the edge indicated by identification number "E001", which is a constraint region C1 that is in use and in a standby state, from "C001" to "C001+A2". The task determination means 173 also increases the cost value of the edge indicated by identification number "E004", which is a constraint region C2 that is in use, from "C004" to "C004+A1". The increase in the cost value of the edge indicated by "E004", "A1", is half the increase in the cost value of the edge indicated by "E001", "A2". Similarly, the task determination means 173 increases the cost value of the edges indicated by identification number "E004", which are constraint regions C3 and C4 that are in use, from "C004" to "C004+A1". Next, the task determination means 173 identifies the entire path from the node indicated by identification number "N001", which is the home position of each robot 10, to the node indicated by identification number "N006", which is the work position. The task determination means 173 uses known graph search techniques, such as Dijkstra's algorithm or A* (A-star) search algorithm, to search for the path that minimizes the sum of the corrected cost values. As shown in Figure 10(C), the task determination means 173 determines the next task to be executed as the task "inspection," which uses a path that sequentially passes through the edges indicated by identification numbers "E001," "E003," and "E005" as the movement path. In the movement path setting process according to the fourth modified example, the robot management system determines the next task to be executed based on the path length of the path from the starting point to the destination point and the usage status information acquired by the status acquisition means, thereby efficiently determining the next task to be executed even when a constraint area is set in the movement path.
[0083] In the task determination process according to the fourth modification, the robot management system evaluates each of the multiple paths based on the number of constraint areas in use, the number of constraint areas in the reserved state, and the number of constraint areas in the standby state, and determines the next task to be executed. However, the robot management system according to the embodiment may determine the next task to be executed based on at least one of the number of constraint areas in use, the number of constraint areas in the reserved state, and the number of constraint areas in the standby state.
[0084] Furthermore, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying the number of constraint regions in use, the number of constraint regions in a reserved state, and the number of constraint regions in a standby state by a weighting coefficient. For example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying the number of constraint regions in use by a weighting coefficient of 1.0, and the number of constraint regions in a reserved state and the number of constraint regions in a standby state by a weighting coefficient of 1.5.
[0085] Furthermore, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may aggregate the number of constraint areas in use, the number of constraint areas in the reserved state, and the number of constraint areas in the standby state for each hour, and determine the next task to be executed based on the aggregated value of constraint areas at the time corresponding to the current time.
[0086] Furthermore, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may determine the next task to be executed based on at least one of the first usage time, second usage time, and third usage time over a predetermined period in the past. Alternatively, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying each of the first usage time, second usage time, and third usage time over a predetermined period in the past by a weighting coefficient. Furthermore, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may aggregate the first usage time, second usage time, and third usage time hour by hour and determine the next task to be executed based on the aggregated value of the constraint area at the time corresponding to the current time.
[0087] Furthermore, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may determine the next task to be executed based on at least one of the number of units used, the number of units reserved, and the number of units on standby over a predetermined period in the past. Furthermore, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may evaluate each of the multiple paths by multiplying each of the number of units used, the number of units reserved, and the number of units on standby over a predetermined period in the past by a weighting coefficient. Furthermore, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may aggregate the number of units used, the number of units reserved, and the number of units on standby hourly and determine the next task to be executed based on the aggregated value of the constraint area for the time corresponding to the current time.
[0088] Furthermore, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may evaluate the utilization status of constraint regions C1 to C4 with weights. For example, in the task determination process according to the fourth modified example, the robot management system according to the embodiment may evaluate the utilization status of constraint regions C1 to C4 with weights according to the distance between each constraint region C1 to C4 and the starting point. For example, constraint regions that are closer to the starting point may be evaluated more heavily. The robot management system according to the embodiment may weight the utilization status of constraint region C1, constraint region C2, constraint region C4 and constraint region C3 in that order.
[0089] Furthermore, while the robot management system 1 performs a process to determine the next task to be executed by the robot 10, in the robot management system according to this embodiment, the management server may perform a process to determine the next task to be executed. When the management server 20 performs a process to determine the next task to be executed, the management server has a state acquisition means, a route setting means, and a task determination means. In this case, the state acquisition means of the management server acquires usage status information indicating the usage status of the restricted area, where constraints on the robot's actions are imposed, by other robots, for each of the routes used when executing each of the multiple tasks to be executed by the robot within the movement area. The task determination means of the management server determines the task to be executed by the robot from the multiple tasks based on the usage status information acquired by the state acquisition means. The transmission means of the management server transmits the task to be executed, determined by the task determination means, to the robot. The robot can efficiently determine the task by controlling its movement based on the received movement route.
[0090] Furthermore, while the robot management system 1 stores the starting point of a task executed by the robot 10 as task start point information 166, in the robot management system according to this embodiment, the execution area of the task to be executed (e.g., room 201, second floor, etc.) may also be stored as task start point information 166. In this case, the state acquisition means 171 may acquire constraint area information within the execution area of each task and acquire utilization status information in the constraint area corresponding to the acquired constraint area information. In addition, the route setting means 172 may set the movement path of the robot 10 within the execution area of each task and acquire utilization status information for the constraint area on the movement path. Then, the task determination means 173 may evaluate each task based on the utilization status information acquired by the state acquisition means 171 and decide to execute one of the multiple tasks. At this time, instead of (or in conjunction with) the utilization status of the constraint area on the path leading to the task start point, each task may be evaluated using the utilization status of the constraint area within the task execution area. Note that in this invention, "execution location" means the starting point of the task and the execution area of the task.
[0091] Furthermore, in the robot management system 1, the route setting means 172 performs a graph search to find a route from the starting point of the robot 10 to the destination point. However, in the robot management system according to this embodiment, the route may be set by reading a pre-set (stored) route without performing a search.
[0092] Furthermore, among the multiple robots 10, a predetermined robot 10 (master robot) may perform a process to determine the tasks that the other robots 10 will perform. When the master robot performs the process to determine the tasks that the other robots will perform, the master robot stores a robot table 243 and an edge table 244, and has state acquisition means, route setting means and task determination means to acquire robot state information of the other robots and determine the tasks that each of the other robots will perform. In this case, the master robot transmits the tasks that the other robots will perform, as determined by the task determination means, to each of the other robots. Alternatively, a robot control server different from the management server 20 may have at least one of the state acquisition means and route setting means, and the management server 20 and the robot control server may cooperate to determine the tasks that each robot will perform. Furthermore, all of the multiple robots 10 may store a robot table 243 and an edge table 244, and have state acquisition means, route setting means and task determination means to acquire robot state information of the other robots and determine the tasks that each of the other robots will perform.
[0093] Furthermore, the robot management system described determines the next task to be performed based on the presence or absence of constraint areas on the path and the status of other robots. However, the robot management system according to the embodiment may determine the next task to be performed based on the arrangement information of constraint areas and the status of other robots. The arrangement information of constraint areas may be information indicating the presence or absence of constraint areas on the path, information indicating the number of constraint areas on the path, or information indicating the position of constraint areas in a movement area, including the coordinates of each constraint area in a map showing the movement area.
[0094] A robot management system according to one embodiment of the present invention can contribute to solving social issues such as the declining workforce and long working hours. Furthermore, a robot management system according to one embodiment of the present invention can contribute to achieving Goal 9 of the Sustainable Development Goals (SDGs) adopted by the United Nations, "Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation." [Explanation of Symbols]
[0095] 1. Robot Management System 10 Robots 20 Management Server 171 State acquisition means 172 Route setting means 173 Task Determination Methods
Claims
1. A memory means for storing multiple tasks performed by the robot within its mobile area, For each of the paths used when executing each of the aforementioned multiple tasks, a state acquisition means is provided to acquire usage status information indicating the usage status by other robots in the constraint area where constraints on the robot's actions are imposed. A task determination means that determines which task the robot will execute from among the multiple tasks based on the usage status information acquired by the status acquisition means, A robot equipped with [the following features].
2. The robot according to claim 1, wherein the state acquisition means acquires the usage state information for the constraint regions located in the paths included in the execution locations of each of the plurality of tasks, or for the constraint regions located in the paths from the robot's starting point to the execution locations of each of the plurality of tasks.
3. The system includes a route setting means for searching and setting a route for each of the multiple tasks from the starting point to the execution location of each of the tasks, The robot according to claim 2, wherein the state acquisition means acquires the usage state information for the constraint areas located in a plurality of paths set by the path setting means.
4. The state acquisition means acquires at least one of the following states as usage state information: the "in use" state, where the constraint area is being used by another robot; the "reserved" state, where the constraint area is reserved for use by another robot; and the "waiting" state, where the constraint area is waiting until the other robot has finished using it. The robot according to any one of claims 1 to 3, wherein the task determination means determines a task to be executed based on at least one of the number of constraint regions in the active state, the number of constraint regions in the reserved state, and the number of constraint regions in the standby state.
5. The state acquisition means acquires at least one of the following as usage state information: a first usage time which is the time the other robot in the "in use" state uses the constraint area; a second usage time which is the time the other robot in the "standby" state uses the constraint area; and a third usage time which is the time the other robot in the "reserved" state uses the constraint area. The robot according to claim 4, wherein the task determination means determines a task to be performed based on at least one of the first usage time, the second usage time, and the third usage time.
6. The state acquisition means acquires, as usage state information, at least one of the following for each of the constraint areas: the number of robots in use, which is the number of robots in use; the number of robots reserved, which is the number of robots in the reserved state; and the number of robots in standby, which is the number of robots in standby. The robot according to claim 4, wherein the task determination means determines a task to be performed based on at least one of the number of units in use, the number of units reserved, and the number of units on standby.
7. The robot according to any one of claims 1 to 3, wherein the task determination means determines a task to be executed based on statistical information of the usage status in one or more of the constraint areas over a predetermined period in the past.
8. The robot according to any one of claims 1 to 3, wherein the task determination means determines a task to be performed based on the distance between the starting point and the constraint area.
9. A robot management system comprising multiple robots and a management server, A memory means for storing multiple tasks performed by the robot within its mobile area, For each of the paths used when executing each of the aforementioned multiple tasks, a state acquisition means is provided to acquire usage status information indicating the usage status by other robots in the constraint area where constraints on the robot's actions are imposed. A task determination means that determines which task the robot will execute from among the multiple tasks based on the usage status information acquired by the status acquisition means, A robot management system equipped with the following features.
10. A management server that manages multiple robots, A memory means for storing multiple tasks performed by the robot within its mobile area, For each of the paths used when executing each of the aforementioned multiple tasks, a state acquisition means is provided to acquire usage status information indicating the usage status by other robots in the constraint area where constraints on the robot's actions are imposed. A task determination means that determines which task the robot will execute from among the multiple tasks based on the usage status information acquired by the status acquisition means, A transmission means for transmitting the task to be executed, determined by the task determination means, to the robot itself, A robot management system equipped with the following features.