Information processing system, information processing method, program, and information processing device

The information processing system reduces collisions among autonomously moving objects by determining and guiding them to stop blocks based on permitted movement directions, effectively minimizing collision risks.

WO2025173371A1PCT designated stage Publication Date: 2025-08-21OKI ELECTRIC INDUSTRY CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/043771
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-15
Filing Date
2024-12-11
Publication Date
2025-08-21

AI Technical Summary

Technical Problem

Existing technologies do not effectively reduce the possibility of collisions between multiple autonomously moving mobile objects by pre-emptively setting stop locations based on potential collision points.

Method used

An information processing system determines a first stop block for each mobile object based on its permitted movement direction, using a processing unit to identify collision blocks and adjacent blocks with allowed movement directions, and outputs information to guide the objects to these stop blocks.

Benefits of technology

This approach significantly reduces the likelihood of collisions by strategically guiding mobile objects to stop at designated blocks, enhancing safety and efficiency in environments with multiple moving bodies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024043771_21082025_PF_FP_ABST
    Figure JP2024043771_21082025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is an information processing system comprising: a processing unit that performs processing for determining a first stop block that at least temporarily stops a moving body on the basis of a movable direction of the moving body in each of a plurality of blocks through which the moving body can pass; and an output unit that outputs information indicating the first stop block.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing system, information processing method, program, and information processing device

[0001] The present disclosure relates to an information processing system, an information processing method, a program, and an information processing device.

[0002] In recent years, technologies related to autonomously moving mobile objects have become known. There may be cases where a plurality of mobile objects move within a predetermined area (e.g., within a factory). In such cases, there is a possibility that the plurality of mobile objects may collide with each other. Therefore, various technologies for reducing the possibility of collisions between the plurality of mobile objects are known. For example, Patent Literature 1 discloses a technology for setting an access restriction area where the entry of mobile objects is restricted.

[0003] Japanese Patent Application Laid-Open No. 2000-330633

[0004] However, it is desirable to set in advance the locations where moving bodies should stop based on the locations where multiple moving bodies may collide with each other, which is expected to further reduce the possibility of multiple moving bodies colliding with each other.

[0005] Therefore, it is desirable to provide a technology that can further reduce the possibility of multiple moving objects colliding with each other.

[0006] In order to solve the above problem, according to one aspect of the present disclosure, an information processing system is provided, which includes a processing unit that performs processing to determine a first stop block at which the moving body will at least temporarily stop based on the permitted direction of movement of the moving body in each of a plurality of blocks through which the moving body can pass, and an output unit that outputs information indicating the first stop block.

[0007] The processing unit may determine, based on the allowed movement direction, whether or not a collision block exists, which is a block through which the moving body can move from multiple directions, and if it determines that the collision block exists, may determine the first stop block based on the collision block.

[0008] When the processing unit determines that a collision area exists that includes one collision block or multiple consecutive collision blocks, it may determine that a block adjacent to the collision area, which has an allowed movement direction toward the collision area set, is the first stop block.

[0009] The information processing system may include a determination unit that determines whether or not an object is present in the collision area based on notification from the moving body that it has reached the first stop block, and a notification unit that, if no object is present in the collision area, instructs the moving body to start moving toward the collision area.

[0010] The determination unit may determine whether an object is present in the second stopping block if there is a second stopping block different from the first stopping block at the destination of the moving body and if the second stopping block is adjacent to the collision area, and the notification unit may notify the moving body of an instruction to start moving to the first stopping block if there is no object present in the second stopping block.

[0011] The output unit may control display of the plurality of blocks, and the information processing system may include an acquisition unit that acquires a selection operation for selecting the permitted movement direction.

[0012] In addition, according to another aspect of the present disclosure to solve the above problem, an information processing method executed by a computer is provided, which includes performing a process of determining a first stop block at which a moving body will at least temporarily stop based on the permitted direction of movement of the moving body in each of a plurality of blocks through which the moving body can pass, and outputting information indicating the first stop block.

[0013] In addition, according to another aspect of the present disclosure, in order to solve the above problem, a program is provided that causes a computer to function as a processing unit that performs processing to determine a first stop block at which a moving body will at least temporarily stop based on the permitted direction of movement of the moving body in each of a plurality of blocks through which the moving body can pass, and an output unit that outputs information indicating the first stop block.

[0014] In addition, according to another aspect of the present disclosure, in order to solve the above problem, an information processing device is provided, which includes an output unit that controls the display of multiple blocks through which a moving body can pass, and an acquisition unit that acquires a selection operation that selects the permitted direction of movement of the moving body in each of the multiple blocks.

[0015] A straight line intersecting the boundary line of a first block and a second block adjacent to each other among the plurality of blocks may include a first line that is part of the outline of the first block and a second line that is part of the outline of the second block, the acquisition unit may acquire a movement operation on the straight line, and the information processing device may include a processing unit that moves the straight line based on the acquisition of the movement operation.

[0016] The acquisition unit may acquire a splitting operation at the boundary line and a first moving operation on the first line, and after the splitting operation has been acquired, the processing unit may split the first line and the second line and move the first line based on the acquisition of the first moving operation.

[0017] In addition, according to another aspect of the present disclosure to solve the above problem, an information processing method executed by a computer is provided, which includes controlling the display of a plurality of blocks through which a moving body can pass, and obtaining a selection operation to select the permitted direction of movement of the moving body in each of the plurality of blocks.

[0018] In addition, according to another aspect of the present disclosure, in order to solve the above problem, a program is provided that causes a computer to function as an output unit that controls the display of multiple blocks through which a moving body can pass, and an acquisition unit that acquires a selection operation that selects the permitted direction of movement for the moving body in each of the multiple blocks.

[0019] As described above, the present disclosure provides a technique that can further reduce the possibility of multiple moving objects colliding with each other.

[0020] 1 is a diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present disclosure. FIG. 1 is a diagram illustrating an example of a configuration of a moving body 10 according to an embodiment of the present disclosure. FIG. 2 is a diagram illustrating an example of a configuration of a control device 20 according to an embodiment of the present disclosure. FIG. 3 is a diagram illustrating an example of a configuration of a map editing terminal 30 according to an embodiment of the present disclosure. FIG. 4 is a diagram illustrating an example of a configuration of a request input terminal 50 according to an embodiment of the present disclosure. FIG. 5 is a diagram illustrating an example of a configuration of a database server 60 according to an embodiment of the present disclosure. FIG. 6 is a diagram illustrating an example of a configuration of area data 641. FIG. 7 is a diagram illustrating an example of a configuration of group data 642. FIG. 8 is a diagram illustrating an example of a configuration of moving body data 643. FIG. 9 is a diagram illustrating a first example of a map editing screen. FIG. 10 is a diagram illustrating limitations on the movement range of a block outline. FIG. 11 is a diagram illustrating a second example of a map editing screen. FIG. 12 is a diagram illustrating a third example of a map editing screen. FIG. 13 is a diagram illustrating an example of a block property screen. FIG. 14 is a diagram illustrating an example of a configuration of block data 644. FIG. 15 is a diagram illustrating the significance of making a block belong to a group. FIG. 16 is a diagram illustrating automatic assignment of a pause direction to a block. FIG. 17 is another diagram illustrating automatic assignment of a pause direction to a block. FIG. 18 is a diagram illustrating an example of a configuration of request data 645. FIG. 19 is a first half of a flowchart illustrating an example of an operation of an information processing system 1 according to an embodiment of the present disclosure. FIG. 19 is a second half of a flowchart illustrating an example of an operation of an information processing system 1 according to an embodiment of the present disclosure.

[0021] Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. In this specification and drawings, components having substantially the same functional configurations are designated by the same reference numerals, and redundant description will be omitted.

[0022] In addition, in this specification and drawings, multiple components having substantially the same functional configuration may be distinguished by adding different numbers after the same reference numeral. However, when there is no particular need to distinguish between multiple components having substantially the same functional configuration, only the same reference numeral will be used.

[0023] (0. Overview) First, an overview of an embodiment of the present disclosure will be described. This specification will mainly describe a technology that can further reduce the possibility of collisions between multiple moving objects. This specification will mainly propose an information processing system that determines blocks in which a moving object should at least temporarily stop based on the permitted movement direction of the moving object in each of multiple blocks through which the moving object can pass.

[0024] The outline of the embodiments of the present disclosure has been described above.

[0025] (1-1. Configuration of Information Processing System) With reference to FIG. 1, an example configuration of an information processing system according to an embodiment of the present disclosure will be described. FIG. 1 is a diagram illustrating an example configuration of an information processing system according to an embodiment of the present disclosure. As shown in FIG. 1, the information processing system 1 includes mobile objects 10-1 to 10-N (N is an integer equal to or greater than 1), a control device 20, a map editing terminal 30, a map storage location 40, a request input terminal 50, and a database server 60.

[0026] In the following description, the mobile units 10-1 to 10-N may be referred to as "mobile unit 10" without any particular distinction.

[0027] (Mobile body 10) The mobile body 10 is realized by a computer and moves autonomously. Here, it is mainly assumed that the mobile body 10 has wheels, and the mobile body 10 moves autonomously by rotating the wheels that come into contact with the ground. However, the mobile body 10 does not necessarily have to have wheels. For example, the mobile body 10 may be an object that moves on caterpillars or an object that flies using propellers or the like (a so-called drone). Alternatively, the mobile body 10 may be an object that moves by walking on multiple legs.

[0028] In the following description, it is mainly assumed that the mobile body 10 has a function of executing a desired task. The mobile body 10 that executes a task may also be referred to as a "robot." In the following description, it is mainly assumed that the task executed by the mobile body 10 is the transport of luggage. However, the type of task executed by the mobile body 10 does not have to be limited to the transport of luggage.

[0029] In the following description, it is mainly assumed that the area in which the mobile object 10 moves is a factory. However, the area in which the mobile object 10 moves does not have to be limited to a factory.

[0030] The mobile object 10 can communicate with the control device 20 via wireless communication. Furthermore, the mobile object 10 can communicate with the map editing terminal 30 via wireless communication. The communication method used by the mobile object 10 may be Wi-Fi (registered trademark) communication, 920 MHz multi-hop wireless communication, or another communication method.

[0031] (Control device 20) The control device 20 is realized by a computer and controls the mobile objects 10-1 to 10-N. The control device 20 can communicate with each of the mobile objects 10-1 to 10-N via wireless communication. The control device 20 is connected to each of the map storage location 40 and the database server 60 via wired or wireless communication.

[0032] (Map editing terminal 30) The map editing terminal 30 is realized by a computer and is a terminal that edits maps created by the mobile objects 10-1 to 10-N based on operations by a maintenance person. The map editing terminal 30 is capable of communicating with each of the mobile objects 10-1 to 10-N via wireless communication. The map editing terminal 30 is connected to the map storage location 40 by wire or wirelessly. The map editing terminal 30 may correspond to an information processing device.

[0033] (Map storage location 40) The map storage location 40 is realized by a memory, and stores the edited map input from the map editing terminal 30. The map storage location 40 also outputs the stored edited map to the control device 20.

[0034] (Request Input Terminal 50) The request input terminal 50 is realized by a computer, and is a terminal that accepts requests input by a requester regarding task execution by the mobile object 10. The request input terminal 50 is also connected to the database server 60 via a wired or wireless connection, and transmits the accepted requests to the database server 60.

[0035] (Database Server 60) The database server 60 is realized by a computer and stores various databases. More specifically, the database server 60 is connected to the request input terminal 50 by wire or wirelessly, and upon receiving a request from the request input terminal 50, stores the received request. Furthermore, the database server 60 is connected to the control device 20 by wire or wirelessly, and provides various data to the control device 20.

[0036] The configuration example of the information processing system 1 according to the embodiment of the present disclosure has been described above.

[0037] (1-2. Configuration of Mobile Body 10) An example configuration of the mobile body 10 according to an embodiment of the present disclosure will be described with reference to FIG. 2. FIG. 2 is a diagram illustrating an example configuration of the mobile body 10 according to an embodiment of the present disclosure. As shown in FIG. 2, the mobile body 10 includes a sensor unit 110, a control unit 120, a communication unit 130, a storage unit 140, a drive unit 170, and a wheel unit 180.

[0038] (Sensor Unit 110) The sensor unit 110 is realized by a sensor, which senses the environment around the mobile object 10 to obtain sensor data. Here, the type of sensor does not need to be limited. As an example, the sensor may be a depth sensor. Examples of depth sensors include a LiDAR (Light Detection and Ranging) sensor and a ToF (Time of Flight) sensor. Alternatively, the sensor may be an RGB (Red, Green, Blue) camera.

[0039] The sensor data obtained by the sensor unit 110 is used to create a map by the transmission data acquisition unit 126. The created map may include the positions of obstacles, etc. After the created map is edited, the sensor data obtained by the sensor unit 110 is output to the self-location estimation unit 123, and self-location estimation is performed based on the edited map and the sensor data.

[0040] (Control Unit 120) The control unit 120 includes a computing device such as a CPU (Central Processing Unit), and its functions can be realized by a program stored in a ROM (Read Only Memory) being loaded into a RAM (Random Access Memory) and executed by the computing device. In this case, a computer-readable recording medium on which the program is recorded can also be provided. Alternatively, the control unit 120 can be configured with dedicated hardware, or can be realized by a combination of multiple pieces of hardware.

[0041] The control unit 120 includes a received data acquisition unit 122, a self-position estimation unit 123, a navigation unit 124, and a transmitted data acquisition unit 126. The functions of these components will be described in detail later.

[0042] (Communication unit 130) The communication unit 130 performs wireless communication between the control device 20 and the map editing terminal 30. More specifically, the communication unit 130 receives data from the control device 20 via wireless communication and outputs the received data to the received data acquisition unit 122. The communication unit 130 also transmits data output from the transmission data acquisition unit 126 to the control device 20 or the map editing terminal 30 via wireless communication.

[0043] (Storage Unit 140) The storage unit 140 is a memory capable of storing programs and data for operating the control unit 120. The storage unit 140 can also temporarily store various data required in the course of operation of the control unit 120. For example, the storage device may be a non-volatile memory.

[0044] (Drive unit 170) The drive unit 170 is realized by a motor that drives the wheel unit 180, and controls the start of rotation of the wheel unit 180 based on an instruction from the control unit 120 to start moving the mobile body 10. The drive unit 170 also controls the direction of the wheel unit 180 based on an instruction from the control unit 120 to stop the movement of the mobile body 10. The drive unit 170 also controls the stop of rotation of the wheel unit 180 based on an instruction from the control unit 120 to stop the movement of the mobile body 10.

[0045] (Wheel unit 180) The wheel unit 180 is configured to include a wheel, and starts rotating in accordance with rotation start control by the drive unit 170. This causes the moving body 10 to start moving. The wheel unit 180 also changes direction in accordance with direction control by the drive unit 170. This causes the moving direction of the moving body 10 to change. The wheel unit 180 also stops rotating in accordance with rotation stop control by the drive unit 170. This causes the moving body to stop moving.

[0046] The configuration example of the moving body 10 according to the embodiment of the present disclosure has been described above.

[0047] (1-3. Configuration of control device 20) An example configuration of the control device 20 according to an embodiment of the present disclosure will be described with reference to FIG. 3. FIG. 3 is a diagram illustrating an example configuration of the control device 20 according to an embodiment of the present disclosure. As shown in FIG. 3, the control device 20 includes a control unit 220, a mobile-side communication unit 230, a server-side communication unit 233, a map receiving unit 234, and a storage unit 240.

[0048] (Control Unit 220) The control unit 220 includes a calculation device such as a CPU (Central Processing Unit), and its functions can be realized by a program stored in a ROM (Read Only Memory) being loaded into a RAM (Random Access Memory) and executed by the calculation device. In this case, a computer-readable recording medium on which the program is recorded can also be provided. Alternatively, the control unit 220 can be configured with dedicated hardware, or can be realized by a combination of multiple pieces of hardware.

[0049] The control unit 220 includes a map acquisition unit 221, a map provision unit 222, a data acquisition unit 223, a data provision unit 224, a request acquisition unit 225, a determination unit 226, and a notification unit 227. Details of the functions of these components will be described later.

[0050] (Mobile object communication unit 230) The mobile object communication unit 230 performs wireless communication with the mobile object 10. More specifically, the mobile object communication unit 230 receives data from the mobile object 10 via wireless communication and outputs the received data to the data acquisition unit 223. The mobile object communication unit 230 also transmits data output from the notification unit 227 to the mobile object 10 via wireless communication. The mobile object communication unit 230 also transmits data output from the map provision unit 222 to the mobile object 10.

[0051] (Server-side communication unit 233) The server-side communication unit 233 communicates with the database server 60. More specifically, the server-side communication unit 233 transmits data output from the data providing unit 224 to the database server 60. The server-side communication unit 233 also receives data from the database server 60 and outputs the received data to the request acquisition unit 225.

[0052] (Map Receiving Unit 234) The map receiving unit 234 receives the edited map from the map storage location 40. The map receiving unit 234 outputs the edited map received from the map storage location 40 to the map acquisition unit 221.

[0053] (Storage Unit 240) The storage unit 240 is a memory capable of storing programs and data for operating the control unit 220. The storage unit 240 can also temporarily store various data required in the course of operation of the control unit 220. For example, the storage device may be a non-volatile memory.

[0054] The configuration example of the control device 20 according to the embodiment of the present disclosure has been described above.

[0055] (1-4. Configuration of Map Editing Terminal 30) An example configuration of the map editing terminal 30 according to an embodiment of the present disclosure will be described with reference to FIG. 4. FIG. 4 is a diagram illustrating an example configuration of the map editing terminal 30 according to an embodiment of the present disclosure. As shown in FIG. 4, the map editing terminal 30 includes an input unit 310, a control unit 320, a receiving unit 331, a transmitting unit 332, a storage unit 340, and a presentation unit 350.

[0056] (Input Unit 310) The input unit 310 accepts operational inputs from a maintenance person. In the embodiment of the present disclosure, it is mainly assumed that the input unit 310 is configured with a keyboard and a mouse. However, the input unit 310 may be configured with an input device other than a keyboard and a mouse (for example, a touch panel).

[0057] (Control Unit 320) The control unit 320 includes a calculation device such as a CPU (Central Processing Unit), and its functions can be realized by a program stored in a ROM (Read Only Memory) being loaded into a RAM (Random Access Memory) and executed by the calculation device. In this case, a computer-readable recording medium on which the program is recorded can also be provided. Alternatively, the control unit 320 can be configured with dedicated hardware, or can be realized by a combination of multiple pieces of hardware.

[0058] The control unit 320 includes an acquisition unit 322, a processing unit 323, and an output unit 324. The functions of these blocks will be described in detail later.

[0059] (Receiving Unit 331) The receiving unit 331 receives a map transmitted from the mobile object 10. The receiving unit 331 outputs the received map to the control unit 320.

[0060] (Transmitting Unit 332) The transmitting unit 332 outputs the edited map output from the control unit 320 to the map storage location 40. The edited map output to the map storage location 40 is stored in the map storage location 40.

[0061] (Storage Unit 340) The storage unit 340 is a memory capable of storing programs and data for operating the control unit 320. The storage unit 340 can also temporarily store various data required in the course of operation of the control unit 320. For example, the storage device may be a non-volatile memory.

[0062] (Presenting Unit 350) The presenting unit 350 has a function of making a presentation under the control of the control unit 320. The content presented by the presenting unit 350 can be visually confirmed by a maintenance person. Here, the form of the presenting unit 350 is not particularly limited. For example, the presenting unit 350 may be realized by a display, which may be a liquid crystal display (LCD) device, an OLED (organic light emitting diode) device, or a display device such as a lamp.

[0063] The configuration example of the map editing terminal 30 according to the embodiment of the present disclosure has been described above.

[0064] (1-5. Configuration of the Request Input Terminal 50) An example configuration of the request input terminal 50 according to an embodiment of the present disclosure will be described with reference to Fig. 5. Fig. 5 is a diagram illustrating an example configuration of the request input terminal 50 according to an embodiment of the present disclosure. As shown in Fig. 5, the request input terminal 50 includes an input unit 510, a control unit 520, a communication unit 530, a storage unit 540, and a presentation unit 550.

[0065] (Input Unit 510) The input unit 510 accepts operation input from a requester. In the embodiment of the present disclosure, it is mainly assumed that the input unit 510 is configured with a keyboard and a mouse. However, the input unit 510 may be configured with an input device other than a keyboard and a mouse (for example, a touch panel).

[0066] (Control Unit 520) The control unit 520 includes a calculation device such as a CPU (Central Processing Unit), and its functions can be realized by a program stored in a ROM (Read Only Memory) being loaded into a RAM (Random Access Memory) and executed by the calculation device. In this case, a computer-readable recording medium on which the program is recorded can also be provided. Alternatively, the control unit 520 can be configured with dedicated hardware, or can be realized by a combination of multiple pieces of hardware.

[0067] (Communication Unit 530) The communication unit 530 communicates with the database server 60.

[0068] (Storage Unit 540) The storage unit 540 is a memory capable of storing programs and data for operating the control unit 520. The storage unit 540 can also temporarily store various data required in the course of operation of the control unit 520. For example, the storage device may be a non-volatile memory.

[0069] (Presenting Unit 550) The presenting unit 550 has a function of making a presentation under the control of the control unit 520. The content presented by the presenting unit 550 can be visually recognized by the request inputter. Here, the form of the presenting unit 550 is not particularly limited. For example, the presenting unit 550 may be realized by a display, which may be a liquid crystal display (LCD) device, an OLED (organic light emitting diode) device, or a display device such as a lamp.

[0070] The configuration example of the request input terminal 50 according to the embodiment of the present disclosure has been described above.

[0071] (1-6. Configuration of Database Server 60) An example configuration of the database server 60 according to an embodiment of the present disclosure will be described with reference to Fig. 6. Fig. 6 is a diagram illustrating an example configuration of the database server 60 according to an embodiment of the present disclosure. As shown in Fig. 6, the database server 60 includes a control unit 620, a terminal-side communication unit 631, a control device-side communication unit 632, and a storage unit 640.

[0072] (Control Unit 620) Control unit 620 includes a calculation device such as a CPU (Central Processing Unit), and its functions can be realized by a program stored in a ROM (Read Only Memory) being loaded into a RAM (Random Access Memory) and executed by the calculation device. In this case, a computer-readable recording medium on which the program is recorded can also be provided. Alternatively, control unit 620 can be configured with dedicated hardware, or can be realized by a combination of multiple pieces of hardware.

[0073] (Terminal-Side Communication Unit 631) The terminal-side communication unit 631 communicates with the request input terminal 50.

[0074] (Control Device Side Communication Unit 632) The control device side communication unit 632 communicates with the control device 20.

[0075] (Storage Unit 640) The storage unit 640 is a memory capable of storing programs and data for operating the control unit 620. The storage unit 640 can also temporarily store various data required in the course of operation of the control unit 620. For example, the storage device may be a non-volatile memory.

[0076] The configuration example of the database server 60 according to the embodiment of the present disclosure has been described above.

[0077] (2. Detailed Functions of the Information Processing System) Next, detailed functions of the information processing system 1 according to an embodiment of the present disclosure will be described with reference to Figs. 7 to 9. First, a configuration example of area data 641 stored by the storage unit 640 included in the database server 60 will be described with reference to Fig. 7, a configuration example of group data 642 will be described with reference to Fig. 8, and a configuration example of mobile object data 643 will be described with reference to Fig. 9. The area data 641, group data 642, and mobile object data 643 may be stored in advance by the storage unit 640.

[0078] (Area Data 641) Fig. 7 is a diagram showing an example of the configuration of the area data 641. As shown in Fig. 7, the area data 641 is configured by associating an area number with an area name.

[0079] The area number is a number for identifying an area to which the mobile object 10 moves. The area name is the name of the area to which the mobile object 10 moves. For example, if the area to which the mobile object 10 moves is a factory, the area name may be "Factory A, Building B."

[0080] (Group Data 642) Fig. 8 is a diagram showing an example of the configuration of group data 642. As shown in Fig. 8, group data 642 is configured by associating an area number, a group number, a group name, and a return location name.

[0081] The area number is a number for identifying the area in which the mobile body 10 moves. The group number is a number for identifying the group. The group name is the name of the group. The return location name is the name of the return location of the cart that can be coupled to the mobile body 10. The baggage can be transported by placing the baggage on the cart coupled to the mobile body 10 and moving the mobile body 10.

[0082] (Mobile object data 643) Fig. 9 is a diagram showing an example of the configuration of the mobile object data 643. As shown in Fig. 9, the mobile object data 643 is configured by associating a mobile object number, a mobile object name, an area number, a type, location information, a status, and a remaining battery level.

[0083] The mobile unit number is a number for identifying the mobile unit 10. The mobile unit name is the name of the mobile unit 10. The area number is a number for identifying the area in which the mobile unit 10 moves. The type is the type of the mobile unit 10. For example, the tasks that the mobile unit 10 can execute may differ depending on the type of the mobile unit 10.

[0084] The location information is information indicating the location of the mobile object 10 on the edited map. The status is the status of the mobile object 10. The status of the mobile object 10 may include information indicating whether or not an abnormality has occurred in the mobile object 10. The remaining battery capacity is the remaining capacity of the battery that supplies power to the mobile object 10.

[0085] (Map Creation by Mobile Object 10) Before a task is actually executed by the mobile object 10, a map of the area is created by at least one of the mobile objects 10-1 to 10-N. Such a technique for simultaneously creating a map and estimating the mobile object's own position can be realized by SLAM (Simultaneous Localization and Mapping) technology.

[0086] The above-described map is created by the transmission data acquisition unit 126. The transmission data acquisition unit 126 then controls the communication unit 130 so that the map is transmitted to the map editing terminal 30 by wireless communication.

[0087] (Map Editing by Map Editing Terminal 30) In the map editing terminal 30, the receiving unit 331 receives a map transmitted from the mobile object 10, and the acquiring unit 322 acquires the map received by the receiving unit 331. The processing unit 323 controls the presenting unit 350 so that the presenting unit 350 presents the map to the maintainer. The maintainer inputs operations for map editing into the input unit 310 while viewing the map. The processing unit 323 edits the map based on the operations input by the maintainer.

[0088] For example, the processing unit 323 may delete unnecessary drawings on the map based on a deletion operation input by the maintenance person. Alternatively, the processing unit 323 may adjust the angle of the map based on an angle adjustment operation input by the maintenance person. Alternatively, the processing unit 323 may trim unnecessary parts of the map based on a trimming operation input by the maintenance person.

[0089] Furthermore, the processing unit 323 may perform partial replacement of the map based on a replacement operation input by the maintenance person, or may perform merging of the map received by the receiving unit 331 with the base map based on a merging operation input by the maintenance person.

[0090] Furthermore, the processing unit 323 may add multiple vertical grid lines and multiple horizontal grid lines to the map transmitted from the mobile object 10 based on a grid line addition operation input by the maintenance operator. By adding such grid lines, multiple rectangular areas separated by these grid lines are formed in a lattice pattern. In the following description, each of these multiple rectangular areas will also be referred to as a "block."

[0091] In an embodiment of the present disclosure, the output unit 324 controls the presentation unit 350 so that a map editing screen is presented, and the processing unit 323 can arbitrarily change the position and size of each of the plurality of blocks based on an operation input by a maintenance person to the input unit 310. A method for arbitrarily changing the position and size of each of the plurality of blocks will be described with reference to FIGS.

[0092] 10 is a diagram showing a first example of a map editing screen. Referring to FIG. 10, a map editing screen G11 is displayed. The map editing screen G11 includes a map M1, a block property screen transition button H11, an OK button H12, and a cancel button H13. The map M1 includes a drawing showing the position F' of an obstacle detected when the map M1 was created, and a drawing showing an unknown area F where detection was not performed due to the presence of an obstacle. The mobile object 10 is prohibited from entering the position F' of the obstacle and the unknown area F.

[0093] In the example shown in Figure 10, a plurality of vertical grid lines and a plurality of horizontal grid lines are added to the map M1. The addition of these grid lines creates a plurality of blocks separated by these grid lines, forming a lattice pattern. Note that some of the blocks are assigned the symbols A1 to A4, B1 to B4, C1 to C4, D1 to D4, and E1 to E4.

[0094] A block with a triangular arrow inside it is a pass-allowed block, and the direction indicated by the triangular arrow inside the pass-allowed block is the permitted movement direction. For example, block B1 is a pass-allowed block, and a downward-pointing triangular arrow inside block B1 indicates that the mobile object 10 can move downward from block B1 (i.e., to block B2). Pass-allowed blocks are lightly hatched.

[0095] Furthermore, a block that does not have a triangular arrow pointing at it from any of its adjacent blocks on the top, bottom, left, or right is a no-entry block. For example, block C2 is a no-entry block because no triangular arrow points at it from any of its adjacent blocks on the top, bottom, left, or right. No-entry blocks are not hatched.

[0096] Various settings can be applied to blocks that have been given block names on the block property screen G2 (FIG. 14). For example, block E1 is a block that has been given a block name. Blocks that have been given block names are given thick hatching.

[0097] 10 , a boundary line L1 is shown as a straight line located on the boundary between adjacent blocks B2 (first block) and C2 (second block). A line L3 intersecting boundary line L1 includes the bottom edges of blocks B2 and C2. The bottom edge of block B2 is an example of a portion (first line) of the outline of block B2 included in line L3, and the bottom edge of block C2 is an example of a portion (second line) of the outline of block C2 included in line L3.

[0098] For example, there may be a case where the maintenance person wishes to move the line L3. In such a case, the maintenance person may input a movement operation for the line L3 to the input unit 310. For example, the movement operation for the line L3 may be a drag operation for the line L3. The processing unit 323 moves the line L3 based on the movement operation for the line L3 being acquired by the acquisition unit 322.

[0099] For example, if the movement operation on the line L3 is a downward movement operation, the processing unit 323 may move the line L3 downward. Alternatively, if the movement operation on the line L3 is an upward movement operation, the processing unit 323 may move the line L3 upward.

[0100] Alternatively, there may be cases where the maintenance person wishes to move only a part of the line L3 rather than the entire line L3. For example, there may be cases where the maintenance person wishes to move the line L31 (first line) of the line L3 that is to the right of the boundary line L1, but does not wish to move the line L32 (second line) of the line L3 that is to the left of the boundary line L1. In such cases, the maintenance person may input a division operation at the boundary line L1 into the input unit 310.

[0101] For example, the split operation on the boundary line L1 may be a selection operation on the boundary line L1 and a selection operation for the split. The selection operation on the boundary line L1 may be a click operation or a tap operation on the boundary line L1. Furthermore, the selection operation for the split may be a click operation or a tap operation on a split selection button that is displayed in conjunction with the selection operation on the boundary line L1.

[0102] The processing unit 323 divides a straight line that crosses the boundary line L1 at the boundary line L1, based on the fact that a split operation at the boundary line L1 is input to the input unit 310 and the split operation at the boundary line L1 is acquired by the acquisition unit 322. As an example, the processing unit 323 divides the straight line L3 into lines L31 and L32. The processing unit 323 moves the line L31, based on the fact that a move operation on the line L31 is input to the input unit 310 by the maintenance operator and the move operation on the line L31 is acquired by the acquisition unit 322.

[0103] Alternatively, there may be a case where the maintainer wants to move the bottom edge of block C2 on line L3 but does not want to move the bottom edges of blocks A2, B2, D2, and E2 on line L3. In such a case, the maintainer may input into the input unit 310 a split operation on boundary line L2 located on the boundary between block C2 and block D2, in addition to the split operation on boundary line L1.

[0104] Here, the division operation at boundary line L2 may be the same as the division operation at boundary line L1. The processing unit 323 moves the bottom edge of block C2 based on the fact that the maintenance operator inputs a move operation for the bottom edge of block C2 to the input unit 310 and the move operation for the bottom edge of block C2 is acquired by the acquisition unit 322. It is desirable to limit the range in which the block outline can be moved. The limit on the range in which the block outline can be moved will be described with reference to FIG. 11 .

[0105] 11 is a diagram illustrating limitations on the range of movement of block contours. Referring to FIG. 11, the bottom edges of blocks A1, A2, A3, C1, C3, E1, E2, and E3 have already been moved. Division along boundary lines L1 and L2 has already been performed, and a movement operation is about to be performed on the bottom edge of block C2. At this time, it is desirable to limit the range of movement of the bottom edge of block C2.

[0106] For example, if the permitted movement direction in each of blocks A2, B2, and C2 is rightward, the moving object 10 must be able to move through blocks A2, B2, C2, and D2 in that order.

[0107] Therefore, if the bottom side of block C2 is positioned above the top sides of one or both of blocks B2 and D2 adjacent to block C2, the moving object 10 will be unable to move from block B2 to block C2 or from block C2 to block D2. Therefore, it is desirable that the movement range of the bottom side of block C2 be limited to below the top sides of blocks B2 and D2 adjacent to block C2.

[0108] Similarly, if the permitted movement direction for each of blocks A3, B3, and C3 is rightward, the moving object 10 must be able to move through blocks A3, B3, C3, and D3 in that order. If the bottom edge of block C2 is located below the bottom edges of one or both of block B3, which is adjacent below block B2, and block D3, which is adjacent below block D2, the moving object 10 will be unable to move from block B3 to block C3 or from block C3 to block D3. Therefore, it is desirable to limit the movement range of the bottom edge of block C2 to a position above the bottom edges of blocks B3 and D3.

[0109] Note that the restriction imposed on the range of movement of the bottom side of the block has been described above with reference to Fig. 11. However, it is desirable to impose a similar restriction on the range of movement of the left side (or right side) of the block.

[0110] 12 is a diagram showing a second example of a map editing screen. Referring to FIG. 12, a map editing screen G12 is displayed. In the example shown in FIG. 12, division along boundary lines L1 and L2 has already been performed, and the bottom edges of blocks C2, C3, and C4 have already been moved downward.

[0111] 13 is a diagram showing a third example of a map editing screen. Referring to FIG. 13, a map editing screen G13 is displayed. In the example shown in FIG. 13, division at boundary line L4 has already been performed, and line L51 of line L5 below boundary line L4 and line L61 of line L6 below boundary line L4 have already been moved to the right.

[0112] Next, assume that the maintainer wants to assign various rules to the blocks. In such a case, the maintainer inputs a rule assignment operation to the input unit 310, and the acquisition unit 322 acquires the rule assignment operation input to the input unit 310.

[0113] The processing unit 323 can assign various rules to blocks based on a rule assignment operation input by an administrator. Examples of rules that can be assigned to blocks include permitted passage blocks, prohibited entry blocks, permitted movement directions, and stop directions. However, the rules that can be assigned to blocks do not have to be limited.

[0114] More specifically, when there is a block to which the maintainer wishes to assign a rule, the maintainer inputs a selection operation for the block to which the maintainer wishes to assign a rule on the map editing screen G13 ( FIG. 13 ) into the input unit 310, and inputs a selection operation for the block property screen transition button H11 into the input unit 310. Based on the selection operation, the processing unit 323 controls the presentation unit 350 to present a block property screen corresponding to the block to which the selection operation has been performed.

[0115] 14 is a diagram showing an example of a block property screen. Referring to FIG. 14, the block property screen G2 is shown. The block property screen G2 includes a block ID (27, 33) corresponding to the block for which a selection operation was performed. The block property screen G2 also includes a setting window H21, a setting direction image H22, an OK button H41, and a cancel button H42.

[0116] The setting window H21 includes a block name input field H23, a movement allowance direction selection field H24, a pause direction selection field H25, a group use selection field H26, a task selection field H27, a group name selection field H28, a priority selection field H29, a return location name selection field H30, and a type selection field H31.

[0117] The block name input field H23 is an input field for the block name to be assigned to the block selected. Various settings can be applied to the block to which a block name has been assigned by selecting using H26 to H31.

[0118] The allowed movement direction selection field H24 is a field for selecting the allowed movement direction for the block for which the selection operation has been performed. Here, upward, downward, leftward, and rightward movement directions can be selected. The allowed movement direction selected in the allowed movement direction selection field H24 may be reflected in the set direction image H22. In the example shown in FIG. 14 , downward, leftward, and rightward movement directions have been selected as the allowed movement directions, and therefore triangular arrows indicating these three directions are reflected in the set direction image H22.

[0119] The pause direction selection field H25 is a field for selecting the pause direction for the block where the selection operation has been performed. Here, the pause direction can be selected from up, down, left, and right. The pause direction selected in the pause direction selection field H25 may be reflected in the set direction image H22.

[0120] The group use selection field H26 is a selection field used to assign the selected block to a group. If it is selected to assign the block to a group, it becomes possible to select a task in the block using the task selection field H27 and to select a group name to which the group will belong using the group name selection field H28. The significance of assigning a block to a group will be explained later with reference to FIG. 16.

[0121] The task selection field H27 is a field for selecting a task in the block where the selection operation has been performed. Here, "Dock," "Release," and "Return" are selectable as tasks. If "Return" is selected as the task, the type selection field H31 is used to select whether the cart return location is to be a group or a point (i.e., a single block).

[0122] Here, "Dock" refers to the docking (connection) of the mobile body 10 with a dolly carrying cargo. "Release" refers to the release of a dolly docked to the mobile body 10. "Return" refers to the return of a dolly that is docked to the mobile body 10 and does not carry cargo (i.e., an empty dolly). Note that if none of "Dock," "Release," and "Return" is selected as a task, the mobile body 10 only moves to the task execution location.

[0123] The group name selection field H28 is a field for selecting the name of the group to which the selected block belongs. The group name can be selected from the "group name" in the group data 642 (FIG. 8). If the group corresponding to the selected group name contains multiple blocks for which the task selected in the task selection field H27 is selected, the priority selection field H29 is used to select the priority.

[0124] The priority selection field H29 is a field for selecting a priority when there are multiple blocks in the same group for which the same task has been selected. When the group is selected as the task execution location, the higher the priority of the block, the more likely the task will be executed in that block.

[0125] The return location name selection field H30 is a field for selecting the name of the block to which the cart will be returned when a point is selected as the cart return location in the type selection field H31. Note that when a group is selected as the cart return location in the type selection field H31, the return location name selection field H30 displays the name of the return location corresponding to the group name in the group data 642.

[0126] The type selection field H31 is a selection field for selecting whether the cart return location is to be a group or a block. If a point is selected as the cart return location in the type selection field H31, it becomes possible to select the name of the return location using the return location name selection field H30.

[0127] When the maintenance person inputs selection operations for H23 to H31 and inputs a selection operation for the OK button H41, the acquisition unit 322 acquires the selection operations. Then, the processing unit 323 assigns the permitted movement direction selected in the permitted movement direction selection field H24 and the pause direction selected in the pause direction selection field H25 as rules to the block for which the selection operations were performed.

[0128] Furthermore, the output unit 324 controls the transmission unit 332 so that the block name entered in the block name input field H23, the block ID (27, 33), the number for identifying the area to which the block for which the selection operation was performed belongs, the group number corresponding to the group name selected in the group name selection field H28, the ID assigned to the task selected in the task selection field H27, the priority selected in the priority selection field H29, and the return location name selected in the return location name selection field H30 are transmitted as block data 644 to the database server 60 via the control device 20.

[0129] 15 is a diagram showing an example of the configuration of block data 644. As shown in FIG. 15, the block data 644 is configured by associating a block name, a block ID, an area number, a group number, a task ID, a priority, and a return location name. In the database server 60, when the control device side communication unit 632 receives the block data 644 from the map editing terminal 30 via the control device 20, the control device side communication unit 632 stores the received block data 644 in the storage unit 640.

[0130] On the other hand, if the maintenance person inputs a selection operation for the cancel button H42, the screen presented by the presentation unit 350 transitions to the map editing screen G13 ( FIG. 13 ). Here, the significance of making blocks belong to groups will be explained with reference to FIG. 16 .

[0131] FIG. 16 is a diagram illustrating the significance of assigning blocks to groups. In the example shown in FIG. 16, light triangular arrows indicate the permitted movement direction, and dark triangular arrows indicate the pause direction. Here, it is assumed that blocks A12, B12, C12, A13, B13, and C13 belong to the same group. By preparing such groups, a group can be selected as the task execution location when a request is input.

[0132] For example, assume that in block data 644, a task ID corresponding to the task "Release" is associated with a group number corresponding to a group, and that the group is selected as the task execution location when a request is input. In such a case, the control device 20 identifies a block in which a cart is not placed from among blocks A12, B12, C12, A13, B13, and C13 belonging to the group, based on data obtained by a sensor that detects the presence or absence of an object in each block. The control device 20 can then control the mobile object 10 to release the cart into that block. As an example, the sensor that detects the presence or absence of an object may be an optical sensor or the like.

[0133] Alternatively, it is assumed that in the block data 644, a task ID corresponding to the task "Dock" is associated with a group number corresponding to a group, and the group is selected as the task execution location when a request is input. In such a case, the control device 20 identifies the block in which the dolly is placed from among blocks A12, B12, C12, A13, B13, and C13 belonging to the group, based on data obtained by a sensor that detects the presence or absence of a dolly in each block. Then, the control device 20 can control the mobile body 10 to dock with the dolly placed in that block.

[0134] It is also possible that there may be a block that does not belong to a group. It is also possible that a block that does not belong to a group may be selected as the task execution location when a request is input. In such a case, the requester may select a task to be executed by the mobile object 10 in a block that does not belong to a group when inputting a request.

[0135] The above describes a case where a pause direction is assigned to a block by a selection operation by a maintenance operator. The pause direction to a block may be automatically assigned by the processing unit 323. Note that the processing unit 323 may refer to the mobile unit data 643 ( FIG. 9 ) and, if there are multiple mobile unit numbers corresponding to the target area, automatically assign a pause direction to the block, assuming that there is a possibility of collision between the multiple mobile units. The automatic assignment of a pause direction to a block will be described with reference to FIG. 17 .

[0136] 17 is a diagram for explaining automatic assignment of a pause direction to a block. Referring to FIG. 17, blocks A10, B10, and C10 are shown. Thin triangular arrows indicate the permitted movement directions. Block B9, adjacent to block B10, is also shown.

[0137] In the example shown in Figure 17, the processing unit 323 performs processing to determine a stop block (first stop block) where the moving body 10 will be stopped at least temporarily, based on the permitted movement direction in each of blocks A10, B9, B10, and C10.

[0138] More specifically, the processing unit 323 determines whether or not there is a collision block, which is a block into which the moving object 10 can move from multiple directions, based on the permitted movement directions for each of blocks A10, B9, B10, and C10. In the example shown in Fig. 17, block B10 is a collision block because the moving object 10 can move into block B10 from any of blocks A10, B9, and C10. If the processing unit 323 determines that there is a collision block, it determines a stop block based on the collision block.

[0139] For example, when the processing unit 323 determines that a collision area including one collision block exists, it determines, as a stop block, a block adjacent to the collision area and for which a permitted movement direction to the collision area is set. In the example shown in Fig. 17, block B10 is one collision block, so block B10 can be determined to be a collision area. The processing unit 323 can determine, as a stop block, each of blocks A10, B9, and C10 adjacent to block B10, which is a collision area.

[0140] Furthermore, the processing unit 323 automatically determines the direction of movement toward block B10, which is the collision block, of each of blocks A10, B9, and C10 determined to be a stop block as the temporary stop direction. In the example shown in Fig. 17, the downward direction of movement toward block B10, which is the collision block of block B9, is determined to be the temporary stop direction J1. Note that the combination of the position of a block and the temporary stop direction in that block may correspond to information indicating a stop block.

[0141] 18 is another diagram for explaining automatic assignment of a pause direction to a block. Referring to FIG. 18, blocks A14, B14, C14, D14, E14, and F14 are shown. Thin triangular arrows indicate the permitted movement directions. Block F15, adjacent to block F14, is also shown.

[0142] 18, when the processing unit 323 determines that a collision area including a plurality of consecutive collision blocks exists, it determines, as a stop block, a block adjacent to the collision area and for which an allowed movement direction to the collision area is set. In the example shown in FIG. 18, blocks B14, C14, D14, E14, and F14 are a plurality of consecutive collision blocks, and therefore blocks B14, C14, D14, E14, and F14 can be determined to be the collision area K1.

[0143] The processing unit 323 may determine that block A14, which is adjacent to block B14 included in the collision area K1 and for which a permitted movement direction toward block B14 included in the collision area K1 is set, is a stop block. The processing unit 323 may also determine that block F15, which is adjacent to block F14 included in the collision area K1 and for which a permitted movement direction toward block F14 included in the collision area K1 is set, is a stop block.

[0144] The output unit 324 outputs the map edited by the processing unit 323 to the transmission unit 332. The edited map may include the positions of obstacles, the positions of blocks (for example, the positions of the centers of gravity of blocks), and rules assigned to the blocks. The transmission unit 332 then transmits the edited map to the map storage location 40. The map storage location 40 stores the edited map transmitted from the transmission unit 332. When the control device 20 is started by the map editing terminal 30, the map acquisition unit 221 in the control device 20 acquires the edited map stored in the map storage location 40 via the map reception unit 234.

[0145] The map providing unit 222 controls the mobile unit communication unit 230 so that the edited map is transmitted to each of the mobile units 10-1 to 10-N by wireless communication.

[0146] In each of the mobile bodies 10-1 to 10-N, the communication unit 130 receives the edited map from the control device 20 via wireless communication and outputs the received edited map to the received data acquisition unit 122. The received data acquisition unit 122 outputs the edited map to the self-position estimation unit 123 and the navigation unit 124.

[0147] (Navigation) The self-location estimation unit 123 performs self-location estimation based on the sensor data obtained by the sensor unit 110 while referring to the edited map. The self-location estimation unit 123 outputs the self-location estimation result to the navigation unit 124. The navigation unit 124 performs navigation based on the edited map and the self-location estimation result. Navigation can be achieved by outputting various instructions (such as a movement start instruction, a direction instruction, and a movement stop instruction) to the drive unit 170.

[0148] The self-location estimation result obtained by the self-location estimation unit 123 is acquired by the transmission data acquisition unit 126 as the location information of the mobile object 10. Furthermore, the status and remaining battery level of the mobile object 10 are also acquired by the transmission data acquisition unit 126. The transmission data acquisition unit 126 controls the communication unit 130 so that the mobile object number, location information, status, and remaining battery level of the mobile object 10 are transmitted to the control device 20.

[0149] In the control device 20, the mobile unit side communication unit 230 receives the mobile unit number, location information, status, and remaining battery level of the mobile unit 10. The data acquisition unit 223 acquires the mobile unit number, location information, status, and remaining battery level of the mobile unit 10. The data provision unit 224 outputs the mobile unit number, location information, status, and remaining battery level of the mobile unit 10 to the server side communication unit 233, and the server side communication unit 233 transmits the mobile unit number, location information, status, and remaining battery level of the mobile unit 10 to the database server 60.

[0150] In the database server 60, the control device side communication unit 632 receives the mobile unit number, location information, status and remaining battery level of the mobile unit 10, and the control unit 620 updates the location information, status and remaining battery level of the mobile unit 10 associated with the mobile unit number received by the control device side communication unit 632 in the mobile unit data 643 with the location information, status and remaining battery level of the mobile unit 10 received by the control device side communication unit 632.

[0151] In the database server 60 , the terminal-side communication unit 631 transmits the mobile object data 643 to the request input terminal 50 .

[0152] (Request Input to Request Input Terminal 50) In the request input terminal 50, the communication unit 530 receives the mobile object data 643, and the control unit 520 controls the presentation unit 550 so that the mobile object data 643 is presented to the request inputter. The request inputter inputs a request to the input unit 510 while viewing the mobile object data 643. For example, the request includes a task, a location where the task is to be performed, and the number of the mobile object that will perform the task.

[0153] The control unit 520 generates request data 645 ( FIG. 6 ) based on the request input by the requester, and controls the communication unit 530 so that the generated request data 645 is sent to the database server 60. In the database server 60, the terminal-side communication unit 631 receives the request data 645, and the control unit 620 stores the request data 645 in the storage unit 640. An example of the configuration of the request data 645 will be described with reference to FIG. 19 .

[0154] Fig. 19 is a diagram showing an example of the configuration of request data 645. As shown in Fig. 19, the request data 645 is configured by associating a request ID, a task execution location, a task ID, and a mobile unit number. The request ID is an ID assigned to a request. The task execution location is a block where a task is executed, and is associated with a block ID. The task ID is an ID for identifying a task. The mobile unit number is a number for identifying a mobile unit that executes a task.

[0155] In the database server 60, the control device side communication unit 632 transmits request data 645 to the control device 20. In the control device 20, the server side communication unit 233 receives the request data 645 and outputs the request data 645 to the request acquisition unit 225. The request acquisition unit 225 acquires the request data 645 and outputs it to the determination unit 226.

[0156] (Scenario Delivery to Mobile Object 10) The determination unit 226 calculates the movement route of the mobile object 10 based on the rule assigned to the block, the location information of the mobile object 10 identified by the mobile object number included in the request data 645, and the task execution location included in the request data 645. For example, the movement route of the mobile object 10 may be information indicating the shortest route from the location of the mobile object 10 to the task execution location taking into account the rule assigned to the block.

[0157] Then, a scenario including the route information and the task ID is acquired by the notification unit 227. The notification unit 227 transmits the scenario to the mobile body 10 via the mobile body-side communication unit 230. Note that, if the mobile body 10 is equipped with an indicator light, the server-side acquisition unit 221 may include in the scenario the timing at which the mobile body 10 will turn on the indicator light. The timing at which the mobile body 10 will turn on the indicator light may be determined arbitrarily. The scenario may include information indicating a stop block. This allows the mobile body 10 to determine whether or not it has reached a stop block based on the information indicating the stop block and the position information of the mobile body 10.

[0158] In the mobile object 10, the communication unit 130 receives a scenario from the control device 20 via wireless communication, and outputs the received scenario to the navigation unit 124. The navigation unit 124 performs navigation based on the scenario.

[0159] (Transmission of Emergency Control Signal) If the control device 20 detects that an emergency has occurred in the moving body 10 while the moving body 10 is moving, the control device 20 may transmit control data (hereinafter also referred to as an "emergency control signal") to the moving body 10. For example, the emergency control signal may include an instruction to stop moving or an instruction to start moving the moving body 10. Note that the instruction to stop moving may be transmitted when there is a risk of multiple moving bodies 10 colliding with each other, and the instruction to start moving may be transmitted when the risk has disappeared.

[0160] In the example shown in FIG. 17 , the determination unit 226 determines whether an object is present in block B10, which is a collision area, based on the mobile object 10 notifying the control device 20 that the mobile object 10 has reached block B9, which is a stop block, stopped at block B9, and transitioned to a standby state. For example, the determination unit 226 may determine whether an object is present in block B10 based on whether the position of another mobile object managed by the control device 20 matches the position of block B10, which is a collision area. Alternatively, the determination unit 226 may determine whether an object is present in block B10 based on data obtained by a sensor that detects the presence or absence of an object in block B10. Note that the notification unit 227 may notify the mobile object 10 of an instruction to stop moving at block B9 based on the mobile object 10 notifying the control device 20 that the mobile object 10 has reached block B9, which is a stop block. Then, the moving body 10 may stop in block B9 based on the movement stop instruction, transition to a standby state, and notify the control device 20 that the moving body 10 has transitioned to the standby state.

[0161] When no object is present in block B10, which is the collision area, the notification unit 227 may issue an instruction to the moving body 10 to start moving to block B10. This can reduce the possibility of the moving body 10 colliding with another moving body.

[0162] In the example shown in FIG. 18 , assume that the moving object 10 reaches block F15, which is a stop block, stops at block F15, and notifies the control device 20 that it has transitioned to a standby state. Furthermore, assume that block A14, a stop block (second stop block) different from block F15, is located at the moving destination of the moving object 10, and that block A14 is adjacent to the collision area K1. In such a case, the determination unit 226 not only determines whether an object is present in the collision area K1, but also determines whether an object is present in block A14. For example, the determination unit 226 may determine whether an object is present in block A14 based on whether the position of another moving object managed by the control device 20 matches the position of block A14. Alternatively, the determination unit 226 may determine whether an object is present in block A14 based on data obtained by a sensor that detects the presence or absence of an object in block A14. Note that, based on the mobile object 10 notifying the control device 20 that the mobile object 10 has reached block F15, which is a stop block, the notification unit 227 may notify the mobile object 10 of an instruction to stop movement at block F15. Then, based on the instruction to stop movement, the mobile object 10 may stop at block F15 and transition to a standby state, and the mobile object 10 may notify the control device 20 that the mobile object 10 has transitioned to the standby state.

[0163] When there is no object in the collision area K1 and when there is no object in the block A14, the notification unit 227 may issue an instruction to the moving body 10 to start moving to the collision area K1, thereby reducing the possibility of the moving body 10 colliding with another moving body.

[0164] In the moving body 10, the communication unit 130 receives an emergency control signal and outputs the received emergency control signal to the navigation unit 124. If the emergency control signal is an instruction to start moving, the navigation unit 124 outputs an instruction to the drive unit 170 to control the start of rotation of the wheel unit 180. On the other hand, if the emergency control signal is an instruction to stop moving, the navigation unit 124 outputs an instruction to the drive unit 170 to control the stop of rotation of the wheel unit 180.

[0165] The detailed functions of the information processing system 1 according to the embodiment of the present disclosure have been described above.

[0166] (3. Operation Example of Information Processing System) Next, an operation example of the information processing system 1 according to an embodiment of the present disclosure will be described with reference to Figs. 20 and 21 (and also with reference to Figs. 1 to 19 as appropriate). Fig. 20 is the first half of a flowchart illustrating an operation example of the information processing system 1 according to an embodiment of the present disclosure. Fig. 21 is the second half of a flowchart illustrating an operation example of the information processing system 1 according to an embodiment of the present disclosure.

[0167] 20, in at least one of the mobile units 10-1 to 10-N, a map of the area is created by the transmission data acquisition unit 126 (S11). The transmission data acquisition unit 126 controls the communication unit 130 so that the map is transmitted to the map editing terminal 30 via wireless communication.

[0168] In the map editing terminal 30, the receiving unit 331 receives the map transmitted from the mobile object 10, and the acquiring unit 322 acquires the map received by the receiving unit 331 (S12). The processing unit 323 controls the presenting unit 350 so that the presenting unit 350 presents the map to the maintenance person. The maintenance person inputs operations for map editing to the input unit 310 while viewing the map. The processing unit 323 edits the map based on the operations input by the maintenance person (S13). At this time, the processing unit 323 may assign a temporary stop direction to the block.

[0169] The output unit 324 outputs the map edited by the processing unit 323 to the transmission unit 332. Then, the transmission unit 332 transmits the edited map to the map storage location 40. The map storage location 40 stores the edited map transmitted from the transmission unit 332. When the control device 20 is started by the map editing terminal 30 (S14), the server-side acquisition unit 221 in the control device 20 acquires the edited map stored in the map storage location 40 via the map receiving unit 234.

[0170] The map providing unit 222 controls the mobile unit communication unit 230 so that the edited map is transmitted to each of the mobile units 10-1 to 10-N by wireless communication (S15).

[0171] In each of the mobile bodies 10-1 to 10-N, the communication unit 130 receives the edited map from the control device 20 via wireless communication and outputs the received edited map to the received data acquisition unit 122. The received data acquisition unit 122 outputs the edited map to the self-position estimation unit 123 and the navigation unit 124.

[0172] The self-location estimation unit 123 performs self-location estimation based on the sensor data obtained by the sensor unit 110 while referring to the edited map. The self-location estimation unit 123 outputs the self-location estimation result to the navigation unit 124. The navigation unit 124 performs navigation based on the edited map and the self-location estimation result.

[0173] The result of self-location estimation obtained by the self-location estimation unit 123 is acquired by the transmission data acquisition unit 126 as location information of the mobile object 10. The status and remaining battery level of the mobile object 10 are also acquired by the transmission data acquisition unit 126. The location information, status, and remaining battery level of the mobile object 10 are transmitted by wireless communication from the mobile object 10 to the control device 20, and then transmitted from the control device 20 to the database server 60, where the location information, status, and remaining battery level of the mobile object 10 are stored.

[0174] In the database server 60, the terminal-side communication unit 631 transmits mobile object data including the position information and status of the mobile object 10 to the request input terminal 50. In the request input terminal 50, the communication unit 530 receives the mobile object data 643, and the control unit 520 controls the presentation unit 550 so that the mobile object data is presented to the request inputter. The request inputter inputs a request into the input unit 510 while viewing the mobile object data.

[0175] The control unit 520 generates request data based on the request input by the requester, and controls the communication unit 530 so that the generated request data is sent to the database server 60. In the database server 60, the terminal-side communication unit 631 receives the request data, and the control unit 620 stores the request data in the storage unit 640.

[0176] In the database server 60, the control device side communication unit 632 transmits request data 645 to the control device 20. In the control device 20, the server side communication unit 233 receives the request data 645 and outputs the request data 645 to the request acquisition unit 225. The request acquisition unit 225 acquires the request data 645 and outputs it to the determination unit 226.

[0177] The determination unit 226 calculates the movement route of the mobile object 10 based on the rule assigned to the block in map editing, the position information of the mobile object 10, and the task execution location, and a scenario including the route information and the task ID is acquired by the notification unit 227. The scenario acquired by the notification unit 227 is transmitted to the mobile object 10 by wireless communication (S16). In the mobile object 10, the communication unit 130 receives the scenario from the control device 20 by wireless communication and outputs the received scenario to the navigation unit 124.

[0178] 21 , the navigation unit 124 starts navigation based on a scenario (S21). In the control device 20, the determination unit 226 determines whether there is a risk of collision between the moving objects (S22). If it is determined that there is a risk of collision between the moving objects (YES in S22), the notification unit 227 stops the moving object 10 (S23). On the other hand, if it is determined that there is no risk of collision between the moving objects (NO in S22), the operation proceeds to S26.

[0179] In the control device 20, the determination unit 226 determines whether the risk of collision between the moving bodies has been eliminated (S24). If it is determined that the risk of collision between the moving bodies has been eliminated ("YES" in S24), the notification unit 227 cancels the stop of the moving body 10 (S25). On the other hand, if it is determined that the risk of collision between the moving bodies has not been eliminated ("NO" in S24), the operation proceeds to S24.

[0180] If the operation of the moving object 10 continues ("NO" in S26), the operation proceeds to S22. On the other hand, if the operation of the moving object 10 ends ("YES" in S26), the operation of the moving object 10 ends.

[0181] As described above, according to an embodiment of the present disclosure, there is provided an information processing system including a processing unit that performs processing to determine a first stop block where a moving object is to at least temporarily stop, based on the permitted movement direction of the moving object in each of a plurality of blocks through which the moving object can pass, and an output unit that outputs information indicating the first stop block. This provides the effect of further reducing the possibility of collisions between multiple moving objects.

[0182] (5. Supplementary Note) While preferred embodiments of the present disclosure have been described above in detail with reference to the accompanying drawings, the present disclosure is not limited to such examples. It is clear that a person skilled in the art to which the present disclosure pertains can conceive of various modified or altered examples within the scope of the technical ideas described in the claims, and it is understood that these also naturally fall within the technical scope of the present disclosure.

Claims

1. An information processing system comprising: a processing unit that performs processing to determine a first stop block where a moving object will at least temporarily stop based on the permitted direction of movement of the moving object in each of a plurality of blocks through which the moving object can pass; and an output unit that outputs information indicating the first stop block.

2. The information processing system of claim 1, wherein the processing unit determines whether or not a collision block exists, which is a block through which the moving body can move from multiple directions, based on the allowed movement direction, and if it determines that the collision block exists, determines the first stop block based on the collision block.

3. The information processing system of claim 2, wherein when the processing unit determines that a collision area including one collision block or multiple consecutive collision blocks exists, the processing unit determines that a block adjacent to the collision area and having a permitted movement direction to the collision area set is the first stop block.

4. The information processing system according to claim 3, further comprising: a determination unit that determines whether an object is present in the collision area based on notification from the moving body that it has reached the first stop block; and a notification unit that, if no object is present in the collision area, instructs the moving body to start moving toward the collision area.

5. The information processing system of claim 4, wherein the determination unit determines whether an object is present in the second stopping block when a second stopping block different from the first stopping block exists at the destination of the moving body and when the second stopping block is adjacent to the collision area, and the notification unit notifies the moving body of an instruction to start moving to the first stopping block when no object is present in the second stopping block.

6. The information processing system according to claim 1, wherein the output unit controls the display of the plurality of blocks, and the information processing system includes an acquisition unit that acquires a selection operation for selecting the permitted movement direction.

7. An information processing method executed by a computer, comprising: performing a process of determining a first stop block where the moving body will at least temporarily stop based on the permitted direction of movement of the moving body in each of a plurality of blocks through which the moving body can pass; and outputting information indicating the first stop block.

8. A program that causes a computer to function as: a processing unit that performs processing to determine a first stop block where a moving object will at least temporarily stop based on the permitted direction of movement of the moving object in each of a plurality of blocks that the moving object can pass through; and an output unit that outputs information indicating the first stop block.

9. An information processing device comprising: an output unit that controls the display of a plurality of blocks through which a moving object can pass; and an acquisition unit that acquires a selection operation that selects a permitted direction of movement for the moving object in each of the plurality of blocks.

10. The information processing device according to claim 9, wherein a straight line intersecting a boundary line between a first block and a second block adjacent to each other among the plurality of blocks includes a first line that is part of the outline of the first block and a second line that is part of the outline of the second block, the acquisition unit acquires a movement operation on the straight line, and the information processing device includes a processing unit that moves the straight line based on the acquisition of the movement operation.

11. The information processing device described in claim 10, wherein the acquisition unit acquires a splitting operation on the boundary line and a first movement operation on the first line, and the processing unit, after acquiring the splitting operation, splits the first line and the second line and moves the first line based on the acquisition of the first movement operation.

12. An information processing method executed by a computer, comprising: controlling the display of a plurality of blocks through which a mobile object can pass; and acquiring a selection operation for selecting a permitted direction of movement by the mobile object in each of the plurality of blocks.

13. A program that causes a computer to function as an output unit that controls the display of multiple blocks through which a moving object can pass, and an acquisition unit that acquires a selection operation that selects the permitted direction of movement for the moving object in each of the multiple blocks.

Citation Information

Patent Citations

  • Operation managing device for automatic guided vehicle

    JP2000330633A

  • Multi-robot path conflict solving method based on wireless signal intensity change

    CN113311831A

  • Multi-AGV mobile robot path optimization method based on two-dimensional code navigation

    CN114326713A

  • Path planning device, path planning method, path planning program, and moving robot device

    JP2003266345A

  • Mobile robot control system, method and program for searching path

    JP2010191502A