Information processing device, information processing method, and computer program

The information processing device efficiently manages groups of mobile robots by generating a data structure that accounts for robot size and movement restrictions, addressing the inefficiencies of conventional path-setting methods.

JP7786445B2Active Publication Date: 2025-12-16OMRON CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023194527
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-11-15
Publication Date
2025-12-16
Estimated Expiration
2041-11-09

AI Technical Summary

Technical Problem

Conventional techniques for generating movement plans for mobile robots do not efficiently manage groups of robots, requiring manual labor to set avoidance paths and are inefficient.

Method used

An information processing device that acquires a map distinguishing passable and impassable areas, divides the passable area into areas with determined and undetermined travel directions, and generates a data structure storing information on robot size, passing conditions, and simultaneous presence, allowing efficient management of multiple robots.

Benefits of technology

Enables efficient management of a group of mobile robots by outputting a data structure that considers robot size and movement restrictions, reducing the need for manual path setting and improving operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007786445000002
    Figure 0007786445000002
  • Figure 0007786445000003
    Figure 0007786445000003
  • Figure 0007786445000004
    Figure 0007786445000004
Patent Text Reader

Abstract

To provide an information processing device that outputs a data structure capable of efficiently managing a group of mobile robots.SOLUTION: An information processing device 10 includes: an acquisition unit 101 for acquiring a map in which passable areas and impassable areas of a mobile robot are distinguished and information on the size of the robot; a processing unit 102 for dividing the passable area of the map into a first area where the running direction of the robot is fixed and a second area where the running direction of the robot is not fixed, and generating a predetermined data structure that stores information on whether or not the robots have passed each other in the first area as the information on the first area and information on the number of robots that can exist at the same time as the information on the second area using information on the sizes of the robots; and an output unit 103 that outputs the data structure generated by the processing unit 102.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, an information processing method, and a computer program. [Background technology]

[0002] Techniques have been proposed for generating a movement plan for a mobile robot using a predetermined map. For example, Patent Document 1 discloses a technique that uses a geometric map of objects in the environment to generate a grid map that represents the distribution of space occupied by objects, whose positions and orientations are probabilistically represented, and then generates a Voronoi graph from the grid map using distances corresponding to the uncertainty of the object's position and orientation. On the Voronoi graph, the technique searches for a path from a given starting point to a destination using the probability of collision with an object and the path length as costs. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2005-32196 Summary of the Invention [Problem to be solved by the invention]

[0004] While conventional techniques use a geometric map of objects in the environment to generate a mobile robot's movement plan, they do not consider the movement of multiple mobile robots. To manage a group of mobile robots without congestion, one-way or limited-number areas are defined in the geometric map, and avoidance paths for the mobile robots are created in advance. However, setting appropriate avoidance paths requires manual labor and is inefficient.

[0005] The present invention has been made in consideration of the above points, and aims to provide an information processing device, an information processing method, and a computer program that output a data structure that can manage a group of mobile robots more efficiently than conventional techniques. [Means for solving the problem]

[0006] To achieve the above object, an information processing device according to the present invention includes an acquisition unit that acquires a map in which passable and impassable areas for a mobile robot are distinguished and information on the size of the robot, a processing unit that divides the passable area of ​​the map into a first area in which the robot's traveling direction is determined and a second area in which the robot's traveling direction is not determined, and generates, using the information on the robot's size, a predetermined data structure that stores, as information on the first area, information on whether the robots can pass each other in the first area and information on the number of robots that can exist simultaneously in the second area, and an output unit that outputs the data structure generated by the data generation unit, thereby making it possible to output a data structure that allows for efficient management of a fleet of mobile robots.

[0007] The processing unit may store information about restrictions on movement of the robot in the first area or the second area in the data structure, thereby making it possible to output information about restrictions on movement of the robot.

[0008] The acquisition unit may acquire information relating to the restriction input by a user, thereby making it possible to output the information relating to the restriction input by the user.

[0009] The processing unit may store information about the area of ​​the second region in the data structure as the information about the second region, thereby making it possible to output information about the area of ​​a region in which the traveling direction of the robot is uncertain.

[0010] The processing unit may store information about the direction of travel of the robot in the data structure as information about the first area, thereby making it possible to output information about the direction of travel of the robot.

[0011] The processing unit may extract the second area from the passable area, and extract the first area from the passable area excluding the extracted second area, thereby making it possible to set an area that is not an area where the robot's traveling direction is uncertain as an area where the robot's traveling direction is determined.

[0012] The acquisition unit may acquire information about the size of the robot, which differs for each model of the robot, thereby enabling the output of a data structure based on the information about the size of the robot.

[0013] The information storage device may further include a display control unit that displays the map reflecting the information stored in the data structure, thereby making it possible to visually present the information stored in the data structure on the map.

[0014] The processing unit may generate a path plan for the robot based on the information stored in the data structure, thereby generating a path plan for the robot from the information stored in the data structure.

[0015] To achieve the above object, an information processing method according to the present invention acquires a map in which passable and impassable areas for a mobile robot are distinguished, and information about the size of the robot, divides the passable area of ​​the map into a first area in which the robot's traveling direction is determined, and a second area in which the robot's traveling direction is not determined, and uses the information about the robot's size to generate a predetermined data structure that stores, as information about the first area, information about whether the robots can pass each other in the first area, and information about the number of robots that can exist simultaneously in the second area, and outputs the generated data structure. This makes it possible to output a data structure that can efficiently manage a fleet of mobile robots.

[0016] To achieve the above object, a computer program according to the present invention causes a computer to execute the following processes: acquire a map in which passable and impassable areas for a mobile robot are distinguished and information about the size of the robot; divide the passable area of ​​the map into a first area in which the robot's traveling direction is determined and a second area in which the robot's traveling direction is not determined; use the information about the robot's size to generate a predetermined data structure storing, as information about the first area, information about whether the robots can pass each other in the first area and information about the number of robots that can exist simultaneously in the second area; generate a predetermined data structure storing information about the first area and information about the second area; and output the generated data structure. This makes it possible to output a data structure that allows for efficient management of a fleet of mobile robots. [Effects of the Invention]

[0017] According to the present invention, it is possible to provide an information processing device, an information processing method, and a computer program that output a data structure that can manage a group of mobile robots more efficiently than conventional techniques by using information on the size of the mobile robots. [Brief explanation of the drawings]

[0018] [Figure 1] 1 is a block diagram showing a hardware configuration of an information processing apparatus according to an embodiment; [Figure 2] FIG. 2 is a block diagram illustrating an example of a functional configuration of an information processing device. [Figure 3] 10 is a flowchart showing a flow of information processing by an information processing device. [Figure 4] 10 is a flowchart showing a flow of information processing by an information processing device. [Figure 5] FIG. 10 is a diagram illustrating how an information processing device extracts open spaces and edges from a map. [Figure 6] FIG. 10 is a diagram illustrating how an information processing device extracts open spaces and edges from a map. [Figure 7] FIG. 10 is a diagram illustrating an example of a data structure generated by an information processing device. [Figure 8] FIG. 10 is a diagram illustrating how an information processing device extracts open spaces and edges from a map. [Figure 9] FIG. 10 is a diagram illustrating an example of a data structure generated by an information processing device. [Figure 10A] FIG. 10 is a diagram illustrating an example of a representation of a map based on a data structure generated by an information processing device. [Figure 10B] FIG. 10 is a diagram illustrating an example of a representation of a map based on a data structure generated by an information processing device. [Figure 10C] FIG. 10 is a diagram illustrating an example of a representation of a map based on a data structure generated by an information processing device. [Figure 10D] FIG. 10 is a diagram illustrating an example of a representation of a map based on a data structure generated by an information processing device. [Figure 11] FIG. 10 is a diagram illustrating an example of a user interface that the information processing device displays on a display. [Figure 12A] FIG. 10 is a diagram illustrating a process for extracting map information in a data-driven manner. [Figure 12B] FIG. 10 is a diagram illustrating a process for extracting map information in a data-driven manner. [Figure 12C] FIG. 10 is a diagram illustrating a process for extracting map information in a data-driven manner. [Figure 12D] FIG. 10 is a diagram illustrating a process for extracting map information in a data-driven manner. [Figure 13] FIG. 10 is a diagram illustrating an example of a data structure generated by an information processing device. [Figure 14] FIG. 10 is a diagram illustrating an example of a user interface that the information processing device displays on a display. [Figure 15] 10A to 10C are diagrams illustrating variations in the creation of an operation plan for a mobile robot. DETAILED DESCRIPTION OF THE INVENTION

[0019] An example of an embodiment of the present invention will be described below with reference to the drawings. The same reference numerals are used throughout the drawings to designate identical or equivalent components and parts. The dimensional proportions of the drawings are exaggerated for illustrative purposes and may differ from the actual proportions.

[0020] FIG. 1 is a block diagram showing the hardware configuration of an information processing device 10 according to this embodiment. The information processing device 10 according to this embodiment is a device that generates and outputs a predetermined data structure based on a map that distinguishes between passable and impassable areas for a mobile robot and information related to the size of the robot. By generating and outputting this data structure, the information processing device 10 according to this embodiment can efficiently manage a group of mobile robots. Note that the robot to be controlled in this embodiment is an AMR (Autonomous Mobile Robot).

[0021] 1, an information processing device 10 includes a memory 11, a CPU (Central Processing Unit) 12, a video adapter 13, a serial port interface 14, a hard disk drive interface 15, and a hard disk drive 16. Each component is connected to each other via a bus 19 so as to be able to communicate with each other.

[0022] The memory 11 is a storage area made up of, for example, a ROM (Read Only Memory) and a RAM (Random Access Memory). The ROM stores various programs and various data. The RAM serves as a working area for temporarily storing programs or data.

[0023] The CPU 12 is a central processing unit that executes various programs and controls each component. That is, the CPU 12 reads a program from the ROM of the memory 11 or the hard disk drive 16, and executes the program using the RAM of the memory 11 as a work area. The CPU 12 controls the above components and performs various arithmetic processing in accordance with the program recorded in the ROM of the memory 11 or the hard disk drive 16. In this embodiment, the ROM of the memory 11 or the hard disk drive 16 stores an information processing program that generates and outputs a predetermined data structure.

[0024] The video adapter 13 is connected to the display 20. The video adapter 13 outputs various types of information to be displayed on the display 20 to the display 20. The display 20 is an information display device such as a liquid crystal display or an organic EL display.

[0025] The serial port interface 14 is connected to a mouse 30 and a keyboard 40. The serial port interface 14 outputs to the CPU 12 the content that the user inputs by operating the mouse 30 and the keyboard 40.

[0026] The hard disk drive 16 stores various programs, including the operating system, and various data. Data and programs are read from and written to the hard disk drive 16 through the hard disk drive interface 15.

[0027] When executing the above information processing program, the information processing device 10 uses the above hardware resources to realize various functions. The functional configuration realized by the information processing device 10 will be described.

[0028] FIG. 2 is a block diagram showing an example of the functional configuration of the information processing device 10. As shown in FIG.

[0029] 2, the information processing device 10 has, as functional components, an acquisition unit 101, a processing unit 102, an output unit 103, a display control unit 104, and a storage unit 105. Each functional component is realized by the CPU 12 reading and executing an information processing program stored in the ROM of the memory 11 or the hard disk drive 16.

[0030] The acquisition unit 101 acquires a map that distinguishes between passable and impassable areas for a mobile robot (hereinafter also referred to as a mobile robot), and setting information 111 related to the size of the mobile robot. Examples of the map include a map that expresses obstacles that the mobile robot cannot pass through as a coordinate series, a map that expresses passable and impassable areas as bits, and a map made up of point cloud information acquired by Lidar (Light Detection and Ranging).

[0031] The processing unit 102 generates a predetermined data structure based on the information acquired by the acquisition unit 101. Specifically, the processing unit 102 divides the area on the map acquired by the acquisition unit 101 that the mobile robot can travel through into edges and open spaces. The edges are areas where the mobile robot's travel direction is determined and are an example of the first area of ​​the present invention. The open spaces are areas where the mobile robot's travel direction is not determined and are an example of the second area of ​​the present invention.

[0032] The processing unit 102 uses the information about the size of the mobile robot to determine edge information, which determines whether mobile robots can pass or overtake each other at the edge. The processing unit 102 stores information about passing conditions for the edge in a data structure as edge passing information. The passing conditions for the edge are constraints that allow multiple mobile robots to pass each other. The passing conditions for the edge are expressed, for example, as the number of mobile robots that can simultaneously run parallel or pass each other. This number information may be expressed, for example, in the form of the number of lanes on which the mobile robots travel. That is, an edge with only one lane is an edge where mobile robots cannot simultaneously run parallel or pass each other, while an edge with two or more lanes is an edge where mobile robots can simultaneously run parallel or pass each other. The passing conditions for the edge may also be expressed as the width of the narrowest part of the road. The processing unit 102 also stores information about the number of mobile robots that can simultaneously exist in an open space in a data structure as open space information. The processing unit 102 then generates a data structure in which the information is stored.

[0033] The processing unit 102 extracts open spaces from the passable area of ​​the map, and extracts edges from the passable area excluding the extracted open spaces. Specific methods for extracting open spaces and edges will be described in detail later.

[0034] The processing unit 102 may store information about restrictions on the movement of the mobile robot at an edge or in an open space in the data structure. The information about restrictions on the movement of the mobile robot may be acquired by the acquisition unit 101. The processing unit 102 may also store information about the area of ​​the open space in the data structure as information about the open space. The processing unit 102 may also store information about the traveling direction of the mobile robot in the data structure as information about the edge. Specific examples of the information stored in the data structure will be described in detail later.

[0035] The processing unit 102 may execute a process for generating a movement plan for the mobile robot based on the generated data structure. The generation of a movement plan for the mobile robot based on the data structure will be described in detail later.

[0036] The processing unit 102 may calculate the passing capability information based on the narrowest road width determined in the direction of travel within the edge area. The processing unit 102 may calculate the volume of the open space based on the shape of the open space. The processing unit 102 may also determine the passing capability information and the open space volume through a driving simulation to improve throughput. In this embodiment, throughput refers to the operating efficiency of the mobile robot. The processing unit 102 may also determine the passing capability information and the open space volume using data obtained by actually driving the mobile robot to improve throughput.

[0037] The output unit 103 outputs the data structure generated by the processing unit 102. The data structure output by the output unit 103 may be stored in the storage unit 105. The display control unit 104 controls the display of a user interface on the display 20. More specifically, the display control unit 104 controls the display of a user interface that reflects the data structure output by the output unit 103 on the display 20. An example of the user interface displayed on the display 20 by the display control unit 104 will be described later. The storage unit 105 stores a map 112 of locations where the mobile robot moves.

[0038] The information processing device 10 according to the embodiment of the present invention has such a configuration and can output a data structure using information on the size of the mobile robots. By using information on the size of the mobile robots, the information processing device 10 according to the embodiment of the present invention can output a data structure for managing a group of mobile robots more efficiently than the conventional technology.

[0039] Next, the operation of the information processing device 10 will be described.

[0040] 3 is a flowchart showing the flow of information processing by the information processing device 10. The CPU 12 reads out an information processing program stored in the ROM of the memory 11 or the hard disk drive 16, expands it in the RAM of the memory 11, and executes it, thereby performing information processing.

[0041] The flowchart in FIG. 3 illustrates a process performed by information processing device 10 to output a data structure. In step S101, CPU 12 first accepts input of setting information for outputting the data structure. The setting information may be input through a predetermined user interface, which will be described in detail later. The setting information accepted by CPU 12 in step S101 includes information about the size of the mobile robot. The information about the size of the mobile robot may include, for example, the radius of the mobile robot if the mobile robot is circular, or the radius of the circumscribing circle of the mobile robot if the mobile robot is not circular. CPU 12 may also accept information about a buffer distance between the mobile robot and the wall of a passageway through which the mobile robot travels.

[0042] After receiving the input of the setting information, the CPU 12 extracts candidate points for open spaces from the area passable by the mobile robot in step S102, based on a predetermined extraction method. A specific example of the extraction method for candidate points for open spaces will be described later.

[0043] After extracting the candidate points for the open space, the CPU 12 then selects an open space from the extracted candidate points based on a predetermined selection method in step S103. Multiple open spaces can be selected. Specific examples of the selection method for the open space will be described later.

[0044] After selecting an open space, the CPU 12 then calculates the capacity of each selected open space in step S104. Here, the capacity of an open space refers to the number of mobile robots that can simultaneously exist in that open space. Therefore, the CPU 12 calculates the capacity of the open space using information about the robot's size.

[0045] After calculating the volume of the open space, the CPU 12 then, in step S105, defines the area other than the open space within the area passable by the mobile robot as an edge.

[0046] Once an area other than the open space is defined as an edge, the CPU 12 then calculates the edge passing conditions based on a predetermined calculation method in step S106. The edge passing conditions are expressed as the number of mobile robots that can travel parallel to or pass each other across the edge. The calculation method for the edge passing conditions will be described later.

[0047] After calculating the edge joining and leaving conditions, the CPU 12 outputs the generated nodes and edges as a data structure in step S107. A specific example of the data structure will be described later.

[0048] Fig. 4 is a flowchart showing the flow of information processing by the information processing device 10. The CPU 12 reads out an information processing program stored in the ROM of the memory 11 or the hard disk drive 16, expands it in the RAM of the memory 11, and executes it, thereby performing information processing. The flowchart shown in Fig. 4 shows the flow of information processing when the information processing flowchart shown in Fig. 3 is realized using a Voronoi diagram.

[0049] First, in step S111, the CPU 12 accepts input of setting information for outputting a data structure. The setting information can be input through a predetermined user interface.

[0050] After receiving the input of the setting information, the CPU 12 then extracts the map from the storage unit 105 in step S112 and generates Voronoi lines based on the coordinate series of the boundary between the passable and impassable areas of the map for the mobile robot.

[0051] After generating the Voronoi lines, the CPU 12 then extracts points on the Voronoi lines having three or more connection end points as open space points in step S113.

[0052] After extracting the candidate points for the open space, the CPU 12 then draws a circle centered on the open space point and tangent to the obstacle, and calculates the radius of the circle in step S114. The obstacle is, for example, a wall, which is the boundary between the passable and impassable areas of the mobile robot.

[0053] After calculating the radius of the circle, the CPU 12 then determines the capacity of the open space in step S115. The CPU 12 may determine the capacity of the open space using, for example, the radius of the circle and the radius of the mobile robot. For example, if the radius of the circle is less than or equal to twice the radius of the mobile robot, only one mobile robot can exist in the open space at a time, and the CPU 12 determines the capacity of the open space to be 1.

[0054] After determining the capacity of the open space, the CPU 12 then proceeds to step S116 and sets the connection between the open space and the edge as a new node.

[0055] If the connection between the open space and the edge is set as a new node, then in step S117, the CPU 12 calculates the radius of the inscribed circle of the obstacle, which is centered on the end point of the Voronoi line.

[0056] After determining the radius of the inscribed circle, CPU 12 then determines the edge's passing condition from the radius of the inscribed circle in step S118. The edge's passing condition is expressed as the number of mobile robots that can travel parallel to or pass each other across the edge. CPU 12 may determine the edge's passing condition, for example, using the radius of the inscribed circle and the radius of the mobile robot. For example, if the radius of the inscribed circle is less than or equal to twice the radius of the mobile robot, only one mobile robot can travel across the edge at a time, and CPU 12 determines the edge's passing condition to be one.

[0057] Consider a scenario where there are multiple models of mobile robots, each with a different size. There are three types of mobile robots: AMR1, AMR2, and AMR3. Assume that the width of AMR1 is 1.0, the width of AMR2 is 1.5, and the width of AMR3 is 1.7. These widths are normalized using the AMR1 as the unit, as it has the smallest width. If the aisle width (number of lanes) is 3.0, up to three AMR1s can run side by side and can pass each other. Up to two AMR2s can run side by side and can pass each other. Up to two AMR3s cannot run side by side and cannot pass each other. Up to two AMR1s and two AMR2s can run side by side and can pass each other. Up to two AMR1s and two AMR3s can run side by side and can pass each other. Up to two AMR2s and two AMR3s can run side by side and can pass each other. Up to two AMR2s and two AMR3s cannot run side by side and cannot pass each other. In this way, the CPU 12 determines the passing conditions according to the model of the mobile robot. Of course, when determining the passing conditions, the actual size of the mobile robot may be used instead of the normalized size of the mobile robot.

[0058] After determining the mobile robot's passing conditions from the radius of the inscribed circle, the CPU 12 then outputs the generated nodes and edges as a data structure in step S119.

[0059] By executing the above process, the information processing device 10 according to the embodiment of the present invention can output a data structure using information on the size of the mobile robots. By using the information on the size of the mobile robots, the information processing device 10 according to the embodiment of the present invention can output a data structure for managing a group of mobile robots more efficiently than the conventional technology.

[0060] The CPU 12 may identify the open space by a method other than the Voronoi diagram, such as a probabilistic roadmap method or a rapidly exploring random tree (RRT).

[0061] Next, an example of a specific data structure generated by the information processing device 10 will be shown.

[0062] FIG. 5 is a diagram showing how the information processing device 10 extracts open spaces and edges from a map. When a map 200 is provided to the information processing device 10, the information processing device 10 extracts open spaces and edges from the map 200. Referring to a portion of the map 200 designated by the reference numeral 210, the information processing device 10 assigns an ID of "A1" to the open spaces and an ID of "e1" to the edge between nodes v1 and v2. The information processing device 10 also generates information that represents the passing conditions for each edge in terms of the number of lanes. Then, by storing the information on the open spaces and edges in a data structure, the information processing device 10 can visually present, based on the data structure, which are open spaces, which are edges, and what passing conditions the edges have, as shown in FIG. 5.

[0063] FIG. 6 is a diagram showing how the information processing device 10 extracts open spaces and edges from a map based on the flowchart shown in FIG.

[0064] When a map 200 is provided to the information processing device 10 as shown in FIG. 6(a), the information processing device 10 generates Voronoi lines based on the coordinate series of the boundary between areas passable and impassable for the mobile robot on the map as shown in FIG. 6(b). After generating the Voronoi lines, the information processing device 10 then extracts points on the Voronoi lines with three or more connection end points as open space points as shown in FIG. 6(c). After extracting candidate points for open space, the information processing device 10 then draws a circle centered on the open space point and tangent to an obstacle, as shown in FIG. 6(d), and calculates the radius of the circle. The obstacle is, for example, a wall, which is the boundary between areas passable and impassable for the mobile robot.

[0065] After drawing a circle centered on the open space point and tangent to the obstacle and calculating the radius of the circle, the information processing device 10 then finds the number of points of contact between the circle and the obstacle, as shown in Figure 6(e), and expands the radius until the number of points of contact becomes "the number of connection end points of the Voronoi line" x 2. Next, as shown in Figure 6(f), the information processing device 10 calculates the number of points of contact between the circle and the obstacle so that the distance between the points of contact is equal to or less than a predetermined threshold. The distance between the contacts is adjusted. Next, the information processing device 10 connects the obtained contacts to each other to generate an open space, as shown in FIG.

[0066] After determining the capacity of the open space, the information processing device 10 then sets the connection between the open space and the edge as a new node, as shown in Fig. 6(h). After setting the connection between the open space and the edge as a new node, the information processing device 10 then calculates the radius of the inscribed circle with the obstacle and the endpoint of the Voronoi line as its center, as shown in Fig. 6(i).

[0067] After determining the radius of the inscribed circle, the information processing device 10 then determines the edge passing conditions from the radius of the inscribed circle, as shown in FIG. 6(j). Then, after determining the mobile robot passing conditions from the radius of the inscribed circle, the information processing device 10 outputs the generated nodes and edges as a data structure. In this way, when the map 200 is provided, the information processing device 10 can output a data structure based on the contents of the map 200.

[0068] FIG. 7 is a diagram illustrating an example of a data structure generated by the information processing device 10. The upper part of FIG. 7 shows the data structure of a table storing node information, which stores information on a node ID for identifying a node, the coordinates of the node, and the ID (connecting OS-ID) of an open space connected to the node. Note that the coordinate values ​​are values ​​when an arbitrary point on the map 200 is set as the origin. The middle part of FIG. 7 shows the data structure of a table storing open space information, which stores an ID (OS-ID) for identifying the open space, the capacity of the open space, the area of ​​the open space, and information on a node connected to the open space (connecting node-ID). The lower part of FIG. 7 shows the data structure of a table storing edge information, which stores information on the edge ID, the starting node, the ending node, the passing condition, and the distance of the edge. Note that the starting point and the ending point may be either node if the direction of travel of the edge is not determined, but if the direction of travel of the edge is determined, the starting point and the ending point must be determined to be one of the two.

[0069] By generating and outputting the data structure in this manner, the information processing device 10 can visually present, based on the data structure, where the open spaces are, where the edges are, and what the meeting and leaving conditions of the edges are, as shown in Figure 5.

[0070] 7, the information on open spaces and the information on edges are stored in separate tables, but the present invention is not limited to this example. The information on open spaces and the information on edges may be stored in the same table.

[0071] 8 is a diagram showing how the information processing device 10 extracts open spaces and edges from a map. When a map 200 is provided to the information processing device 10, the information processing device 10 extracts open spaces and edges from the map 200. Referring to a portion of the map 200 indicated by reference numeral 21, the information processing device 10 assigns an ID of "v6" to the open space and an ID of "e1" to the edge between nodes v1 and v2.

[0072] FIG. 9 is a diagram illustrating an example of a data structure generated by the information processing device 10. The top row of FIG. 9 shows the data structure of a table storing edge information, which stores information on the edge ID, the starting node, the ending node, the passing condition, and the distance of the edge. Note that the starting and ending points can be either node if the direction of travel of the edge is not determined; however, if the direction of travel of the edge is determined, the starting and ending points are determined to be either one. The middle row of FIG. 9 shows the data structure of a table storing node information, which stores a node ID identifying the node, the coordinates of the node, the ID (connection ID) of the open space connected to the node, and attribute information of the field. Note that the coordinate values ​​are values ​​when an arbitrary point on the map 200 is set as the origin. Note that nodes do not have the concept of capacity or area, so the capacity and area fields contain no value (or null values). The bottom row of FIG. 9 shows the data structure of a table storing open space information, which stores an ID identifying the open space, the area of ​​the open space, the capacity of the open space, information on the node connected to the open space (connection ID), and attribute information of the field. Since there is no concept of coordinates in open space, the coordinate fields contain no values ​​(or null values).

[0073] In this way, the information processing device 10 can store information about open spaces and information about edges in the same table. Then, by generating and outputting a data structure, the information processing device 10 can visually present, based on the data structure, which areas are open spaces, which areas are edges, and what kind of joining and leaving conditions the edges have, as shown in Fig. 8.

[0074] Next, examples of map representations based on the data structure generated by the information processing device 10 are shown. FIGS. 10A to 10D are diagrams showing examples of map representations based on the data structure generated by the information processing device 10. The information processing device 10 may represent the edge passing conditions by changing the color of the edge, as shown in FIG. 10A, for example. Alternatively, the information processing device 10 may represent the edge passing conditions by displaying numbers near the edge, as shown in FIG. 10B, for example. Alternatively, the information processing device 10 may represent the edge passing conditions by changing the line thickness, as shown in FIG. 10C, for example. Alternatively, the information processing device 10 may represent the edge passing conditions by indicating the traveling direction of the mobile robot on the edge, as shown in FIG. 10D, for example.

[0075] Next, a description will be given of an example of a user interface displayed by the information processing device 10. Fig. 11 is a diagram showing an example of a user interface displayed on the display 20 by the information processing device 10. The user interface 300 is a user interface for causing the information processing device 10 to output a data structure.

[0076] Reference numeral 301 denotes a tab selected by the user when the information processing device 10 outputs a data structure based on a map and user-input information. Reference numeral 302 denotes a tab selected by the user when outputting a data structure based on manual settings by the user. Reference numeral 303 denotes a text box for inputting information about the size of the mobile robot. In the example of FIG. 11, the mobile robot's radius and the minimum width from the wall of the speed limit area can be input as information about the mobile robot's size. Of course, the information about the mobile robot's size is not limited to this example.

[0077] Reference numeral 304 denotes an area for selecting constraint target items to be referenced when the information processing device 10 generates a mobile robot operation plan based on the data structure. The constraints to be referenced when generating a mobile robot operation plan are described below. When generating a mobile robot operation plan, there is knowledge, know-how, or tacit knowledge that is commonly observed on maps of areas where multiple people and mobile robots coexist (mixed areas). The constraints displayed by the information processing device 10 in the area designated by reference numeral 304 are a list of such knowledge, know-how, or tacit knowledge. In this embodiment, eight constraints are presented. Table 1 shows examples of constraints, the reasons for setting those constraints, and a data-driven implementation method.

[0078] [Table 1]

[0079] 12A to 12D are diagrams illustrating processing when map information is extracted in a data-driven manner. FIGS. 12A and 12B are diagrams illustrating processing when constraint 7 in Table 1 is set. In this case, the CPU 12 extracts open spaces based on the number of connection end points of the Voronoi lines, and defines priority passing lines by connecting the connection points between the open spaces and edges with a fully connected graph. FIG. 12C is a diagram illustrating processing when constraints 1, 2, or 6 in Table 1 are set. In this case, the CPU 12 defines the number of lanes by drawing a circle with the number of lanes × N, centered on the Voronoi end point. FIG. 12D is a diagram illustrating processing when constraint 8 in Table 1 is set. In this case, the CPU 12 identifies the corner using the characteristic that only one Voronoi line extends toward the wall at a location corresponding to a corner of an edge, and sets a speed limit area.

[0080] When constraint No. 3 in Table 1 is set, the CPU 12 finds the Voronoi endpoint closest to the goal point, draws an inscribed circle centered on the Voronoi endpoint and inscribes it with the virtual wall, and defines the speed limit area. When constraint No. 4 in Table 1 is set, the CPU 12 draws an inscribed circle centered on the Voronoi endpoint and in contact with the virtual wall, reduces the radius by the width of the speed limit area, expands the virtual wall by morphological processing, and determines the difference from the original coordinates to define the speed limit area.

[0081] FIG. 13 is a diagram showing an example of a data structure generated by the information processing device 10. The data structure shown in FIG. 13 is the data structure shown in FIG. 7 to which constraints specified by the user have been added. The upper part of FIG. 13 is the same as the upper part of FIG. 7. The middle part of FIG. 13 is a data structure of a table storing information about open spaces, and stores an ID (OS-ID) that identifies the open space, the capacity of the open space, the area of ​​the open space, the nodes connected to the open space (connecting node-ID), and information about constraints on the open space. The lower part of FIG. 13 is a data structure of a table storing information about edges, and stores information about the edge ID, the start node, the end node, the joining and leaving conditions, the distance of the edge, and the constraints on the edge.

[0082] 14 is a diagram showing an example of a user interface that the information processing device 10 displays on the display 20. The example shown in FIG. 14 shows an example of a user interface that displays information superimposed on a map based on a data structure generated by the information processing device 10. By superimposing information on a map based on the data structure, the information processing device 10 allows the user to grasp in advance how the mobile robot will move on the map.

[0083] By generating and outputting the data structure described above, the information processing device 10 can contribute to reducing the number of steps required to create an operation plan for a mobile robot.

[0084] Figure 15 illustrates variations in mobile robot operation planning. The left column of Figure 15 illustrates an implementation in which the server controlling the mobile robot's travel specifies only the general area of ​​the route the mobile robot should travel, leaving the mobile robot's autonomous navigation to control its movements within that area. Avoidance of collisions between mobile robots is left to the mobile robot's autonomous control. The right column of Figure 15 illustrates an implementation in which the server specifies a trajectory to the mobile robot using a more detailed set of waypoints, which are spatial coordinates. This allows the server to instruct the mobile robot to avoid collisions with other mobile robots. Autonomous control of the mobile robot is used to avoid collisions with uncontrolled objects such as people. The top row of Figure 15 illustrates an example in which a path plan is developed taking into account the kinematics and dynamics of the mobile robot. For example, optimization is performed taking into account the characteristics of a mobile robot, such as moving faster when traveling straight and slower when turning. The bottom row of Figure 15 illustrates an example in which a path plan is developed without considering the kinematics or dynamics of the mobile robot. In this case, it is assumed that the mobile robot moves slowly, and the time required for a route is treated as being proportional to the route, etc.

[0085] In the example shown in the upper left of Fig. 15, the information processing device 10 formulates and solves a multi-agent path finding (MAPF) problem for the extracted roadmap under constraints that take into account the dynamics of the mobile robot. Even in the example shown in the upper left of Fig. 15, the information processing device 10 can reduce the amount of search calculations required for optimization by using collision detection information such as passing conditions or capacity for the roadmap area.

[0086] In the example shown in the lower left of Figure 15, the information processing device 10 formulates and solves the MAPF problem for the extracted roadmap, treating the mobile robot's movement as uniform linear motion. Even in the example shown in the lower left of Figure 15, the information processing device 10 can reduce the amount of search calculations required for optimization by utilizing collision detection information, such as passing conditions or capacity for the roadmap area. In the example shown in the lower left of Figure 15, n1 to n5 represent the extracted areas as open spaces, and e1 to e7 represent the extracted areas as edges.

[0087] In the example shown in the upper right of Figure 15, the information processing device 10 defines constraints for grid points that take into account the dynamics of the mobile robot, and then simultaneously solves the MAPF problem and the motion planning problem. The information processing device 10 can reduce the amount of calculations by using roadmap region information to which the grid points belong and changing the definition of dynamics between grid points (for example, roads and intersections). Even in the example shown in the upper right of Figure 15, the information processing device 10 can reduce the amount of calculations required for optimization search by using collision detection information such as passing conditions or capacity for the roadmap region.

[0088] In the above embodiments, the information processing performed by the CPU after reading the software (program) may be performed by various processors other than the CPU. Examples of such processors include programmable logic devices (PLDs) whose circuit configuration can be changed after fabrication, such as field-programmable gate arrays (FPGAs), and dedicated electrical circuits, such as application-specific integrated circuits (ASICs), which are processors with circuit configurations specifically designed to perform specific processing. The information processing may be performed by one of these processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA). The hardware structure of these processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor devices.

[0089] In addition, in each of the above embodiments, the information processing program is described as being pre-stored (installed) in a ROM or storage, but this is not limiting. The program may be provided in a form recorded on a non-transitory recording medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network. [Explanation of symbols]

[0090] 10. Information processing equipment 200 maps 300 User Interface

Claims

1. a processor; The processor: acquiring a map in which passable and impassable areas for a mobile robot are distinguished and information on the size of the robot; Dividing the passable area of ​​the map into a first area where the traveling direction of the robot is determined and a second area where the traveling direction of the robot is not determined, instructing the robot to follow a traveling route indicated only by the area in the second area, and instructing the robot to leave the avoidance of interference between the robots to autonomous control. Information processing device.

2. The information processing device according to claim 1 , wherein the processor formulates a path plan for the robot taking into account kinematics or dynamics of the robot.

3. The information processing device according to claim 2 , wherein the kinematics or dynamics is a characteristic of the robot that causes the robot to move quickly when going straight and move slowly when turning.

4. The information processing device according to claim 1 , wherein the processor instructs the robot on a route to be traveled by the robot in the first area.

5. The processor: acquiring a map in which passable and impassable areas for a mobile robot are distinguished and information on the size of the robot; Dividing the passable area of ​​the map into a first area where the traveling direction of the robot is determined and a second area where the traveling direction of the robot is not determined, instructing the robot to follow a traveling route indicated only by the area in the second area, and instructing the robot to leave the avoidance of interference between the robots to autonomous control. A method for processing information.

6. On the computer, acquiring a map in which passable and impassable areas for a mobile robot are distinguished and information on the size of the robot; Dividing the passable area of ​​the map into a first area where the running direction of the robot is determined and a second area where the running direction of the robot is not determined, instructing the robot in the second area about the general area where the robot should pass and instructing the robot to leave the avoidance of interference between the robots to autonomous control. A computer program that executes a process.

Citation Information

Patent Citations

  • System for planning path for moving robot

    JP2005032196A

  • Autonomous mobile system

    JP2006113687A

  • Robot control method and robot control system

    JP2010134581A

  • Trajectory modifications based on a collision zone

    US20210229656A1