Information processing system, information processing method, program, and information processing device
The information processing system reduces collisions among moving objects by determining stop blocks based on permitted movement directions, effectively managing their paths to avoid collisions.
Patent Information
- Application Number
- JP2024021225
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-15
- Publication Date
- 2025-08-27
AI Technical Summary
Existing technologies do not effectively reduce the possibility of multiple moving objects colliding with each other by pre-defining stop locations based on potential collision points.
An information processing system determines a first stop block for moving bodies based on their permitted movement directions, identifying collision blocks and adjacent blocks with allowed directions, and controls the movement of the bodies to avoid collisions.
This approach further reduces the likelihood of collisions among moving objects by strategically designating stop blocks and managing their movements to avoid collision areas.
Smart Images

Figure 2025125269000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing system, an information processing method, a program, and an information processing device. [Background technology]
[0002] In recent years, technologies relating to autonomously moving mobile objects have become known. There may be a case where a plurality of mobile objects move within a predetermined area (for example, within a factory). In such a case, there is a possibility that the plurality of mobile objects may collide with each other. Therefore, various technologies are known for reducing the possibility of the plurality of mobile objects colliding with each other. As an example, Patent Document 1 discloses a technology for setting an access restriction area where the entry of mobile objects is restricted. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2000-330633 Summary of the Invention [Problem to be solved by the invention]
[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. [Means for solving the problem]
[0006] In order to solve the above problem, according to one aspect of the present invention, an information processing system is provided, which includes a processing unit that performs processing to determine 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 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 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 invention, in order to solve the above problem, there is provided an information processing method executed by a computer, which includes performing a process of determining 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 outputting information indicating the first stop block.
[0013] In addition, according to another aspect of the present invention, 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 invention, 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 for the moving body in each of the multiple blocks.
[0015] A straight line intersecting a boundary line between 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 is 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 invention, in order 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 mobile body can pass, and obtaining a selection operation for selecting the permitted direction of movement of the mobile body in each of the plurality of blocks.
[0018] In addition, according to another aspect of the present invention, 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 direction of movement allowed by the moving body in each of the multiple blocks. [Effects of the Invention]
[0019] As described above, the present invention provides a technique that can further reduce the possibility of a collision between multiple moving objects. [Brief explanation of the drawings]
[0020] [Figure 1] 1 is a diagram illustrating an example of the configuration of an information processing system according to an embodiment of the present invention. [Figure 2] 1 is a diagram illustrating an example of the configuration of a moving body 10 according to an embodiment of the present invention. [Figure 3] 1 is a diagram illustrating an example of the configuration of a control device 20 according to an embodiment of the present invention. [Figure 4] 1 is a diagram illustrating an example of the configuration of a map editing terminal 30 according to an embodiment of the present invention. [Figure 5] FIG. 2 is a diagram illustrating an example of the configuration of a request input terminal 50 according to the embodiment of the present invention. [Figure 6] FIG. 2 is a diagram illustrating an example of the configuration of a database server 60 according to an embodiment of the present invention. [Figure 7] FIG. 10 is a diagram showing an example of the configuration of area data 641. [Figure 8] FIG. 10 is a diagram showing an example of the configuration of group data 642. [Figure 9] FIG. 6 is a diagram showing an example of the configuration of mobile object data 643. [Figure 10] FIG. 10 is a diagram showing a first example of a map editing screen. [Figure 11] FIG. 10 is a diagram for explaining limitations on the movement range of the block contour. [Figure 12] FIG. 10 is a diagram showing a second example of a map editing screen. [Figure 13] FIG. 10 is a diagram showing a third example of a map editing screen. [Figure 14] FIG. 10 is a diagram illustrating an example of a block property screen. [Figure 15] FIG. 10 is a diagram showing an example of the configuration of block data 644. [Figure 16] FIG. 10 is a diagram for explaining the significance of making blocks belong to groups. [Figure 17] FIG. 10 is a diagram illustrating automatic assignment of a pause direction to a block. [Figure 18] FIG. 10 is another diagram for explaining automatic assignment of a pause direction to a block. [Figure 19] FIG. 6 is a diagram showing an example of the configuration of request data 645. [Figure 20] 1 is the first half of a flowchart showing an example of the operation of the information processing system 1 according to the embodiment of the present invention. [Figure 21] 10 is the second half of a flowchart showing an example of the operation of the information processing system 1 according to the embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0021] Hereinafter, preferred embodiments of the present invention will be described in detail 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 explanations 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 invention will be described. This specification mainly describes a technology that can further reduce the possibility of collisions between multiple moving objects. This specification mainly proposes 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 embodiment of the present invention has been described above.
[0025] (1-1. Information Processing System Configuration) An example of the configuration of an information processing system according to an embodiment of the present invention will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of the configuration of an information processing system according to an embodiment of the present invention. 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 moving bodies 10-1 to 10-N may be referred to as "moving body 10" without any particular distinction.
[0027] (Mobile 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 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 object 10 has a function of executing a desired task. The mobile object 10 that executes a task can also be referred to as a "robot." In the following description, it is mainly assumed that the task executed by the mobile object 10 is the transport of luggage. However, the type of task executed by the mobile object 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 moving object 10 moves is a factory. However, the area in which the moving 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 moving objects 10-1 to 10-N. The control device 20 can communicate with each of the moving 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 by wire or wirelessly.
[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 edited map stored therein 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 for task execution by the mobile object 10 input by a requester. The request input terminal 50 is also connected to the database server 60 by wire or wirelessly, 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 invention has been described above.
[0037] (1-2. Configuration of the moving body 10) An example of the configuration of a moving body 10 according to an embodiment of the present invention will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the configuration of a moving body 10 according to an embodiment of the present invention. As shown in Fig. 2, the moving 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 moving 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-position estimation unit 123, and self-position 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] (Driver 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 moving 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 move the moving 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 moving the moving body 10.
[0045] (Wheel part 180) Wheel unit 180 is configured to include a wheel, and starts rotating in accordance with rotation start control by drive unit 170. This causes moving body 10 to start moving. Wheel unit 180 also changes direction in accordance with direction control by drive unit 170. This causes moving body 10 to change its direction of movement. Wheel unit 180 also stops rotating in accordance with rotation stop control by drive unit 170. This causes moving body 10 to stop moving.
[0046] The configuration example of the moving body 10 according to the embodiment of the present invention has been described above.
[0047] (1-3. Configuration of the control device 20) An example of the configuration of the control device 20 according to the embodiment of the present invention will be described with reference to Fig. 3. Fig. 3 is a diagram showing an example of the configuration of the control device 20 according to the embodiment of the present invention. 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. The functions of these components will be described in detail later.
[0050] (Mobile device side 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 receiver 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] An example of the configuration of the control device 20 according to the embodiment of the present invention has been described above.
[0055] (1-4. Configuration of map editing terminal 30) An example of the configuration of a map editing terminal 30 according to an embodiment of the present invention will be described with reference to Fig. 4. Fig. 4 is a diagram showing an example of the configuration of a map editing terminal 30 according to an embodiment of the present invention. 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 operation inputs from a maintenance person. In the embodiment of the present invention, it is mainly assumed that the input unit 310 is configured with a keyboard and a mouse. However, the input unit 310 may also 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 the map transmitted from the mobile object 10. The receiving unit 331 outputs the received map to the control unit 320.
[0060] (Transmitter 332) The transmission 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] (Presentation part 350) The presentation unit 350 has a function of making a presentation under the control of the control unit 320. The content presented by the presentation unit 350 can be visually confirmed by a maintenance person. Here, the form of the presentation unit 350 is not particularly limited. For example, the presentation 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 invention has been described above.
[0064] (1-5. Configuration of the request input terminal 50) An example of the configuration of the request input terminal 50 according to the embodiment of the present invention will be described with reference to Fig. 5. Fig. 5 is a diagram showing an example of the configuration of the request input terminal 50 according to the embodiment of the present invention. 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 inputs from a requester. In the embodiment of the present invention, 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) Control unit 520 includes a computing device such as a CPU (Central Processing Unit), and its functions can be realized by a program stored in ROM (Read Only Memory) being loaded into 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, 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] (Presentation part 550) The presentation unit 550 has a function of making a presentation under the control of the control unit 520. The content presented by the presentation unit 550 can be visually recognized by the request inputter. Here, the form of the presentation unit 550 is not particularly limited. For example, the presentation 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 above describes an example of the configuration of the request input terminal 50 according to the embodiment of the present invention.
[0071] (1-6. Database Server 60 Configuration) An example of the configuration of a database server 60 according to an embodiment of the present invention will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of the configuration of a database server 60 according to an embodiment of the present invention. 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) The 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, the 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] An example of the configuration of the database server 60 according to the embodiment of the present invention has been described above.
[0077] (2. Details of the information processing system functions) Next, detailed functions of the information processing system 1 according to the embodiment of the present invention will be described with reference to Fig. 7 to Fig. 9. First, a configuration example of area data 641 stored in 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 in 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 in which the mobile object 10 moves. The area name is the name of the area in which the mobile object 10 moves. For example, if the area in which the mobile object 10 moves is a factory, the area name may be "Factory A, Building B" or the like.
[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 moving 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 moving body 10. The cart that can be coupled to the moving body 10 can be loaded with luggage and the moving body 10 can move, thereby transporting the luggage.
[0082] (Mobile 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 moving object 10 on the edited map. The status is the status of the moving object 10. The status of the moving object 10 may include information indicating whether or not an abnormality has occurred in the moving object 10. The remaining battery capacity is the remaining capacity of the battery that supplies power to the moving object 10.
[0085] (Map creation by mobile unit 10) Before a task is actually performed by the moving object 10, a map of the area is created by at least one of the moving objects 10-1 to 10-N. Such a technique for simultaneously creating a map and estimating the self-position can be realized by SLAM (Simultaneous Localization and Mapping) technology.
[0086] The above-mentioned 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 using the map editing terminal 30) 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. 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 editing the map 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 maintainer. Alternatively, the processing unit 323 may adjust the angle of the map based on an angle adjustment operation input by the maintainer. Alternatively, the processing unit 323 may trim unnecessary parts of the map based on a trimming operation input by the maintainer.
[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 invention, 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. 10 to 13.
[0092] FIG. 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 moving body 10 is prohibited from entering the position F' of the obstacle and the unknown area F.
[0093] In the example shown in Fig. 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. 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 allowed movement direction. For example, block B1 is a pass-allowed block, and a downward-pointing triangular arrow inside block B1 indicates that the moving object 10 can move downward from block B1 (i.e., to block B2). Pass-allowed blocks are lightly hatched.
[0095] Additionally, 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 (Figure 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 straight line L3 intersecting the boundary line L1 includes the bottom sides of blocks B2 and C2. The bottom side of block B2 is an example of a part (first line) of the outline of block B2 included in line L3, and the bottom side of block C2 is an example of a part (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 straight line L3. In such a case, the maintenance person may input a movement operation for the straight line L3 to the input unit 310. For example, the movement operation for the straight line L3 may be a drag operation for the straight line L3. The processing unit 323 moves the straight line L3 based on the movement operation for the straight 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 maintainer wishes to move only a part of the straight line L3 rather than the entire straight line L3. For example, there may be cases where the maintainer wishes to move the line L31 (first line) of the straight 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 straight line L3 that is to the left of the boundary line L1. In such cases, the maintainer 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 on 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 on 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 splitting operation at the boundary line L1 is input to the input unit 310 and the fact that the splitting 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 movement operation for the line L31 is input to the input unit 310 by the maintenance operator and the fact that the movement operation for 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 division operation on boundary line L2 located on the boundary between block C2 and block D2, in addition to the division 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 side of block C2 based on the fact that the maintainer inputs a move operation for the bottom side of block C2 to the input unit 310 and the acquisition unit 322 acquires the move operation for the bottom side of block C2. It is desirable to limit the range of movement of the block outline. The limit on the range of movement of the block outline will be described with reference to FIG. 11.
[0105] Figure 11 is a diagram for explaining limitations on the movement range of block contours. Referring to Figure 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 for the bottom edge of block C2 is about to begin. At this time, it is desirable to limit the movement range 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 be above the bottom edges of blocks B3 and D3.
[0109] Here, the restriction imposed on the range of movement of the bottom side of the block has been described 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] Fig. 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 has already been performed along boundary line L1 and boundary line L2, and the bottom edges of blocks C2, C3, and C4 have already been moved downward.
[0111] Fig. 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 straight line L5 below boundary line L4 and line L61 of straight line L6 below boundary line L4 have already been moved to the right.
[0112] Next, let us consider a case where a maintainer wants to assign various rules to a block. 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) to the input unit 310, and inputs a selection operation for the block property screen transition button H11 to the input unit 310. Based on this 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] Figure 14 is a diagram showing an example of a block property screen. Referring to Figure 14, the block property screen G2 is shown. The block property screen G2 includes a block ID (27, 33) corresponding to the block on which the 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 that is assigned to the block that has been selected. Once a block name has been assigned, various settings can be applied to the block by selecting using H26 to H31.
[0118] The permitted movement direction selection field H24 is a selection field for the permitted movement direction of the block for which the selection operation has been performed. Here, upward, downward, leftward, and rightward movement directions can be selected. The permitted movement direction selected in the permitted 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 permitted 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 selection field for the pause direction of the block where the selection operation was performed. Here, the pause directions that can be selected are 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 the task in the block where the selection operation was 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 should be returned to 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 that has been docked to the mobile body 10. "Return" refers to the return of a dolly that has been docked with the mobile body 10 and that 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 in 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 the priority when there are multiple blocks in the same group that have the same task 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 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 corresponding to the group name in the group data 642 is displayed in the return location selection field H30.
[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 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 where 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 selected block 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 a group will be explained with reference to FIG. 16.
[0131] FIG. 16 is a diagram for explaining the significance of associating blocks with 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 location for task execution 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. Then, the control device 20 can 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 object 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 an administrator. 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] Figure 17 is a diagram for explaining the automatic assignment of a pause direction to a block. Referring to Figure 17, blocks A10, B10, and C10 are shown. Thin triangular arrows indicate the permitted movement directions. Block B9, which is adjacent to block B10, is also shown.
[0137] In the example shown in FIG. 17, the processing unit 323 performs processing to determine a stop block (first stop block) where the moving object 10 is to stop at least temporarily, based on the movement permitted directions in each of the 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 may be determined to be a collision area. The processing unit 323 may 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, in 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, which is the direction of movement toward block B10, which is the collision block, in 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] Figure 18 is another diagram for explaining the automatic assignment of a pause direction to a block. Referring to Figure 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 it is determined that a collision area including a plurality of consecutive collision blocks exists, the processing unit 323 determines, as a stop block, a block adjacent to the collision area and for which an allowable 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 the 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] Map providing unit 222 controls mobile unit side communication unit 230 so that the edited map is transmitted to each of mobile units 10-1 to 10-N by wireless communication.
[0146] In each of the moving 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 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 requester. The requester inputs a request into 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] Control unit 520 generates request data 645 (FIG. 6) based on the request input by the requester, and controls communication unit 530 so that the generated request data 645 is transmitted to database server 60. In database server 60, terminal-side communication unit 631 receives request data 645, and control unit 620 stores request data 645 in storage unit 640. An example of the configuration of 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 the task is executed, and is associated with a block ID. The task ID is an ID for identifying the task. The mobile unit number is a number for identifying the mobile unit that executes the 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 distribution to mobile unit 10) The determination unit 226 calculates the movement route of the mobile body 10 based on the rule assigned to the block, the location information of the mobile body 10 identified by the mobile body 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 body 10 may be information indicating the shortest route from the location of the mobile body 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 moving body 10 via the moving body side communication unit 230. Note that if the moving body 10 is equipped with an indicator light, the server side acquisition unit 221 may include in the scenario the timing at which the moving body 10 will turn on the indicator light. The timing at which the moving body 10 will turn on the indicator light may be determined arbitrarily. The scenario may include information indicating a stop block. This allows the moving body 10 to determine whether or not the moving body 10 has reached a stop block based on the information indicating the stop block and the position information of the moving 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 signals) When 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 or not 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 or not an object is present in block B10 based on whether or not 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 or not 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 object 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 object 10 has transitioned to the standby state.
[0161] When no object exists in block B10, which is a collision area, the notification unit 227 may notify the moving body 10 of an instruction 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, it is assumed that the moving object 10 has reached block F15, which is a stop block, stopped at block F15, and notified the control device 20 that it has transitioned to a standby state. Furthermore, it is assumed that block A14, which is a stop block (second stop block) different from block F15, exists at the moving destination of the moving object 10, and this block A14 is adjacent to the collision area K1. In such a case, the determination unit 226 not only determines whether an object exists in the collision area K1, but also determines whether an object exists in block A14. For example, the determination unit 226 may determine whether an object exists 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 exists in block A14 based on data obtained by a sensor that detects the presence or absence of an object in block A14. Note that the notification unit 227 may notify the moving body 10 of an instruction to stop moving at block F15 based on the moving body 10 notifying the control device 20 that the moving body 10 has reached block F15, which is a stop block. Then, the moving body 10 may stop at block F15 based on the instruction to stop moving, transition to a standby state, and the moving body 10 may notify the control device 20 that the moving body 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. This can reduce 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 details of the functions of the information processing system 1 according to the embodiment of the present invention have been described above.
[0166] (3. Example of operation of information processing system) Next, an example of operation of the information processing system 1 according to an embodiment of the present invention will be described with reference to Fig. 20 and Fig. 21 (also with reference to Figs. 1 to 19 as appropriate). Fig. 20 is the first half of a flowchart showing an example of operation of the information processing system 1 according to an embodiment of the present invention. Fig. 21 is the second half of a flowchart showing an example of operation of the information processing system 1 according to an embodiment of the present invention.
[0167] 20, in at least one of the mobile bodies 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 by 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] Map providing unit 222 controls mobile unit side communication unit 230 so that the edited map is transmitted to each of mobile units 10-1 to 10-N by wireless communication (S15).
[0171] In each of the moving 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 location 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] As shown in Fig. 21, the navigation unit 124 starts navigation based on a scenario (S21). In the control device 20, the determination unit 226 determines whether or not there is a risk of the moving bodies colliding with each other (S22). If it is determined that there is a risk of the moving bodies colliding with each other ("YES" in S22), the notification unit 227 stops the moving body 10 (S23). On the other hand, if it is determined that there is no risk of the moving bodies colliding with each other ("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 moving object 10 continues to move ("NO" in S26), the process proceeds to S22. On the other hand, if the moving object 10 ends its movement ("YES" in S26), the moving object 10 ends its movement.
[0181] (4. Effects) As described above, according to an embodiment of the present invention, there is provided an information processing system including 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 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, thereby providing the effect of further reducing the possibility of collisions between multiple moving objects.
[0182] (5. Supplementary Information) Although the preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings, the present invention is not limited to these examples. It is clear that a person skilled in the art to which the present invention pertains can conceive of various modifications and alterations within the scope of the technical ideas set forth in the claims, and it is understood that these also naturally fall within the technical scope of the present invention. [Explanation of symbols]
[0183] 1. Information Processing Systems 10 Mobile 110 Sensor unit 120 control section 122 Received data acquisition unit 123 Self-position estimation part 124 Navigation Section 126 Transmission data acquisition unit 130 Communications Department 140 Storage section 170 Drive unit 180 Wheel section 20 Control device 220 Control Unit 221 Server-side acquisition unit 222 Map Department 223 Data Acquisition Department 224 Data Provision Department 225 Request Acquisition Unit 226 Judgment section 227 Notification Department 230 Mobile communication unit 233 Server-side communication unit 234 Map receiver 240 Storage section 30 Map editing terminal 310 Input section 320 Control Unit 322 Acquisition Department 323 Processing Section 324 Output Section 331 Receiving Unit 332 Transmitter 340 Storage section 350 Presentation section
Claims
1. a processing unit that performs processing to determine a first stop block where the moving object is to at least temporarily stop, based on an allowed movement direction of the moving object in each of a plurality of blocks that the moving object can pass through; an output unit that outputs information indicating the first stop block; An information processing system comprising:
2. the processing unit determines whether or not a collision block, which is a block into which the moving object can move from a plurality of directions, exists based on the permitted movement direction, and when it is determined that the collision block exists, determines the first stop block based on the collision block. The information processing system according to claim 1 .
3. When it is determined that a collision area including one collision block or a plurality of consecutive collision blocks exists, the processing unit determines, as the first stop block, a block adjacent to the collision area and having a permitted movement direction to the collision area set. The information processing system according to claim 2 .
4. The information processing system includes: a determination unit that determines whether an object is present in the collision area based on a notification from the moving object that the moving object has reached the first stop block; a notification unit that, when no object is present in the collision area, issues an instruction to the moving body to start moving to the collision area; The information processing system according to claim 3 , comprising:
5. the determination unit determines whether or not an object is present in the second stopping block when a second stopping block different from the first stopping block is present at a destination of the moving object and when the second stopping block is adjacent to the collision area; 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. The information processing system according to claim 4 .
6. the output unit controls display of the plurality of blocks; the information processing system includes an acquisition unit that acquires a selection operation for selecting the permitted movement direction, The information processing system according to claim 1 .
7. performing a process of determining a first stop block where the moving object is to at least temporarily stop based on a permitted movement direction of the moving object in each of a plurality of blocks through which the moving object can pass; outputting information indicating the first stop block; 2. A computer-implemented information processing method, comprising:
8. Computer, a processing unit that performs processing to determine a first stop block where the moving object is to at least temporarily stop, based on an allowed movement direction of the moving object in each of a plurality of blocks that the moving object can pass through; an output unit that outputs information indicating the first stop block; A program that functions as a
9. an output unit that controls the display of a plurality of blocks that can be passed by a moving object; an acquisition unit that acquires a selection operation for selecting an allowed movement direction of the moving object in each of the plurality of blocks; An information processing device comprising:
10. 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 a part of the outline of the first block and a second line that is a part of the outline of the second block; the acquisition unit acquires a movement operation with respect to the straight line, the information processing device includes a processing unit that moves the straight line based on the acquisition of the movement operation; The information processing device according to claim 9 .
11. the acquisition unit acquires a dividing operation on the boundary line and a first moving operation on the first line; After the dividing operation is acquired, the processing unit divides the first line and the second line and moves the first line based on the fact that the first moving operation is acquired. The information processing device according to claim 10.
12. Controlling the display of a plurality of blocks through which a moving object can pass; acquiring a selection operation for selecting an allowed movement direction of the moving object in each of the plurality of blocks; 2. A computer-implemented information processing method, comprising:
13. Computer, an output unit that controls the display of a plurality of blocks that can be passed by a moving object; an acquisition unit that acquires a selection operation for selecting an allowed movement direction of the moving object in each of the plurality of blocks; A program that functions as a
Citation Information
Patent Citations
Operation managing device for automatic guided vehicle
JP2000330633A
Cited By
Bundled yarn, hydraulic composition and molded body
US12522956B2