Information processing method, information processing device, and program

By generating position and orientation nodes to account for passage restrictions, the method effectively plans routes for robots that consider their orientation and movement limitations, ensuring successful navigation to the destination.

WO2025126828A1PCT designated stage expired Publication Date: 2025-06-19SONY GROUP CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/041716
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-13
Filing Date
2024-11-26
Publication Date
2025-06-19

AI Technical Summary

Technical Problem

Existing route planning methods for robots do not adequately consider restrictions on passage, leading to potential failure in reaching the destination when obstacles or non-turnable areas are encountered.

Method used

The method generates position and orientation nodes for each posture a robot can take from initial graph data, creating second graph data that accounts for passage restrictions. This allows for global path planning that considers the robot's orientation and movement limitations.

Benefits of technology

This approach enables robots to plan appropriate routes that account for passage restrictions, ensuring successful navigation to the destination even in the presence of obstacles or non-turnable areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024041716_19062025_PF_FP_ABST
    Figure JP2024041716_19062025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to an information processing method, an information processing device, and a program that make it possible to plan an appropriate route to a destination in consideration of restrictions related to travel on a movement route of a moving body. From a user-defined map composed of a plurality of position nodes that indicate positions and edges that connect the position nodes and indicate movement routes of a moving body, a map for route planning is generated by dividing the position nodes for each orientation that the moving body can take at said node to generate position orientation nodes and connecting the position orientation nodes together with edges. A route to the destination is planned as a global path by means of a graph search algorithm on the basis of the map for route planning. The present invention can be applied to a robot that autonomously moves along a route to a destination.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing method, information processing device, and program

[0001] The present disclosure relates to an information processing method, an information processing device, and a program, and in particular to an information processing method, an information processing device, and a program that enable planning of an appropriate route to a destination taking into account traffic constraints on the movement route of a mobile object.

[0002] Robots have been developed that can plan the shortest route to a destination and travel along that route to reach the destination.

[0003] However, if there are traffic restrictions on the route, there is a risk that the destination cannot be reached by simply planning the shortest route to the destination.

[0004] Therefore, a technology has been proposed in which, when a robot is surrounded by obstacles and unable to change direction while moving along a planned route, it turns back to a point where it can change direction, thereby avoiding the obstacles and moving to its destination (see Patent Document 1).

[0005] Japanese Patent Application Laid-Open No. 2022-013388

[0006] However, the technology of Patent Document 1 does not plan a route that takes into account restrictions on the robot's movement. Therefore, if there are restrictions on the robot's movement, such as not being able to turn back on the planned route, even if the robot is surrounded by obstacles and unable to change direction, it will not be able to turn back to a point where it can change direction, and there is a risk that it will not be able to reach its destination.

[0007] The present disclosure has been made in consideration of such circumstances, and in particular, enables planning of an appropriate route to a destination taking into consideration regulations relating to the traffic of mobile objects.

[0008] An information processing method according to one aspect of the present disclosure is an information processing method including: a graph data generation process that generates, from first graph data consisting of a plurality of position nodes that represent positions and edges that connect the position nodes and represent a movement path of the moving body, a position and attitude node for each of the position nodes that the moving body can take, and generates second graph data that is different from the first graph data by connecting the position and attitude nodes with the edges; and a global path planning process that uses the second graph data to plan a route for the moving body to a destination as a global path.

[0009] An information processing device and a program according to one aspect of the present disclosure include a graph data generation unit that generates, from first graph data consisting of a plurality of position nodes that represent positions and edges that connect the position nodes and represent a movement path of the moving body, a position and attitude node for each of the position nodes for each of the attitudes that the moving body can take, and generates second graph data that is different from the first graph data by connecting the position and attitude nodes with the edges, and a global path planning unit that uses the second graph data to plan a route for the moving body to a destination as a global path.

[0010] In one aspect of the present disclosure, from first graph data consisting of a plurality of position nodes representing positions and edges connecting the position nodes and representing the movement path of the moving body, a position and posture node for each posture that the moving body can take is generated for each of the position nodes, the position and posture nodes are connected by the edges to generate second graph data that is different from the first graph data, and the second graph data is used to plan the route of the moving body to its destination as a global path.

[0011] 1 is a diagram illustrating a path planning procedure and movement of a planned path. FIG. 1 is a diagram illustrating path planning taking into consideration regulations related to robot passage. FIG. 2 is a diagram illustrating path planning taking into consideration regulations related to robot passage. FIG. 3 is a diagram illustrating an overview of path planning of the present disclosure. FIG. 4 is a diagram illustrating an overview of path planning of the present disclosure. FIG. 5 is a diagram illustrating an example configuration of a robot control system of the present disclosure. FIG. 6 is a diagram illustrating a global path and a local path. FIG. 7 is a diagram illustrating a user-defined map, a path planning map, and a global path of the present disclosure. FIG. 8 is a diagram illustrating another example of a path planning map. FIG. 9 is a diagram illustrating another example of a path planning map. FIG. 10 is a diagram illustrating an example of an escape-impossible area using a user-defined map. FIG. 11 is a diagram illustrating an example of an escape-impossible area using a path planning map. FIG. 12 is a diagram illustrating another example of an escape-impossible area using a user-defined map. FIG. 13 is a diagram illustrating another example of an escape-impossible area using a path planning map. FIG. 14 is a diagram illustrating an example of a non-escape-impossible area using a path planning map. FIG. 15 is a diagram illustrating strongly connected component decomposition. FIG. 16 is a diagram illustrating an example of a strongly connected component with one group. FIG. 17 is a diagram illustrating an example of a strongly connected component with multiple groups. FIG. 18 is a diagram illustrating a technique for reducing the calculation load related to strongly connected component decomposition. FIG. 1 is a diagram for explaining a technique for reducing the calculation load related to strongly connected component decomposition. FIG. 2 is a diagram for explaining an example of a warning displayed when generating a map for route planning. FIG. 3 is a diagram for explaining an example of a warning displayed when planning a global path. FIG. 4 is a flowchart for explaining a route planning map generation process. FIG. 5 is a flowchart for explaining a global path planning process. FIG. 6 is a flowchart for explaining a movement process. FIG. 7 is a diagram for explaining an example of the configuration of a general-purpose computer.

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

[0013] Hereinafter, embodiments of the present technology will be described. The description will be made in the following order: 1. Overview of the present disclosure 2. Preferred embodiments 3. Examples of implementation by software

[0014] <<1. Overview of the Present Disclosure>> <Path Planning Procedure and Movement on Planned Path> The present disclosure is directed to planning an appropriate path to a destination, taking into consideration regulations related to the passage of robots in particular. First, an overview of the present disclosure will be described below.

[0015] The general flow of processing when a robot moves autonomously to a destination is as follows: First, the destination is specified by the user, then a route (driving route) to the specified destination is planned, and then the robot moves to the destination along the planned route.

[0016] Here, with reference to FIG. 1, a path planning procedure and movement along the planned path when the starting point and destination of the robot are set will be described.

[0017] First, as a preliminary step, a map on which the robot can travel is generated based on nodes and edges specified by the user, as shown in the upper left of FIG.

[0018] 1, nodes N1 to N5 are set, and nodes N1 to N5 are connected to each other by edges E1 to E5. More specifically, nodes N1 and N2 are connected to each other by edge E1, nodes N2 and N3 are connected to each other by edge E2, nodes N2 and N4 are connected to each other by edge E3, nodes N3 and N5 are connected to each other by edge E4, and nodes N4 and N5 are connected to each other by edge E5.

[0019] The term "node" here refers to a node or vertex in the graph theory of route planning, and is information that identifies positions where the starting point (starting point), destination (ending point), intermediate points, etc. can be specified when planning a robot route. The term "edge" refers to a branch or edge that connects nodes in the graph theory of route planning, and is the smallest unit of a route that can be traveled between nodes. Hereinafter, the map defined by the user specifying nodes and edges, as shown in the upper left of Figure 1, will also be referred to as a "user-defined map."

[0020] Next, in a first step, as shown in the upper right portion of FIG. 1, the user sets a departure point (starting point) S and a destination point (ending point) G on a user-defined map.

[0021] In the upper right part of Fig. 1, a node N1 is set as the departure point (starting point) S, and a node N5 is set as the destination point (end point) G. In the upper right part of Fig. 1, a robot R1 is present at node N1 set as the departure point (starting point) S, and the state before it moves toward node N5 set as the destination point (end point) G is depicted.

[0022] In the second step, based on a user-defined map in which a starting point S and a destination G are set as shown in the upper right part of Figure 1, the shortest route from the starting point S to the destination G is planned as a global path as shown in the lower left part of Figure 1 using a Dijkstra graph search algorithm, an A* (A-star) graph search algorithm, or the like.

[0023] 1, an edge E1 connecting node N1, where a departure point (starting point) S is set, and node N2 is set as path P1, an edge E2 connecting node N2 and node N3 is set as path P2, and an edge E4 connecting node N3 and node N5 is set as path P3. In other words, it is expressed that the shortest path from node N1, where the departure point S is set, to node N5, where a destination G is set, is planned as a global path consisting of paths P1, P2, and P3.

[0024] Then, in the third step, as shown in the lower right of Figure 1, the robot R1 moves from node N1, which is the starting point S, to node N5, which is the destination G, along a global path consisting of planned routes P1, P2, and P3.

[0025] The lower right part of Figure 1 shows how robot R1 starts from node N1, which is the starting point S, moves along path P1 toward node N2, then passes through node N2 and moves along path P2 with robots R1a and R1b in that order, then passes through node N3 and moves along path P3 with robots R1c and R1d in that order, and arrives at node N5, which is the destination G.

[0026] That is, route planning using a user-defined map and travel along the planned route are realized by the procedure described above with reference to FIG.

[0027] <Path Planning Taking into Account Restrictions on Robot Passage> However, in the above-described path planning, if restrictions on robot passage exist, there is a risk that an appropriate path plan cannot be realized.

[0028] For example, consider a route plan when a user-defined map such as that shown in Fig. 2 is set. In Fig. 2, there are nodes N11, N12, and N13, with node N11 and node N12 connected by edge E11, and node N12 and node N13 connected by edge E12.

[0029] Nodes N12 and N13 are within the area where robot R11, indicated by the dotted rectangular area, cannot turn. A charging facility C for robot R11 is located above node N13 in the figure, and a docking bay CD consisting of a charging terminal is located below charging facility C. Node N12 is set as the starting point for robot R11, with the protrusion pointing right in the figure indicating the front of the robot's body. A docking bay RD that can be electrically connected to the docking bay CD of charging facility C is located below robot R11 in the figure.

[0030] Here, because nodes N12 and N13 are located within the rotation-prohibited area, the robot R11 cannot turn as long as it is located at nodes N12 and N13. That is, the robot R11 can move forward toward node N13, which is located to the right of the robot R11 in the figure, or move backward toward node N11 to the left in the figure. Furthermore, when the robot R11 reaches node N11, it leaves the rotation-prohibited area and becomes able to turn. Therefore, by moving backward from node N12 to node N11 and then turning, the robot R11 can move backward toward nodes N12 and N13, which are located to the right in the figure, with the front of the robot R11's body facing leftward in the figure.

[0031] If there are restrictions on the passage of such robot R11, when planning a route to move from node N12 to node N13 so that the docking bay RD of robot R11 and the docking bay CD of charging equipment C can be connected in an opposing position, it is necessary to plan the route using a method different from the method described with reference to Figure 1.

[0032] That is, as explained with reference to Figure 1, if a route is planned to simply move robot R11 from node N12, which is the starting point, to node N13 via the shortest route, robot R11 will not be able to turn, and therefore docking bay RD of robot R11 will not face docking bay CD of charging equipment C, and charging will not be possible.

[0033] In the case of a user-defined map such as that shown in Fig. 2, an appropriate route for moving the robot R11 from node N12 as a starting point to node N13 and charging at charging facility C would be, for example, as shown in Fig. 3. That is, as shown by robot R11a in Fig. 3, the robot R11 moves backward to node N11 along path M11 consisting of edge E11, and then turns as represented by path M12. As a result, the front of the robot R11's body changes direction to the left, as shown by robot R11b, and therefore the robot's docking bay RD changes direction in the figure.

[0034] Then, while remaining in the state of robot R11b, robot R11 moves backward along path M13 consisting of edges E11 and E12, passes through node N12, and moves to node N13, whereupon it can move to a state where charging is possible, as shown by robot R11c, with docking bay CD of charging facility C facing docking bay RD of robot R.

[0035] That is, a route consisting of routes M11, M12, and M13 in Figure 3 is planned, and by moving the robot along this route, the robot R11 and the charging equipment C are placed in a state where their respective docking bays RD and CD face each other and can be charged.

[0036] However, the method described with reference to FIG. 1 cannot plan the routes M11, M12, and M13 shown in FIG.

[0037] Therefore, in the present disclosure, each node in a user-defined map is divided into possible postures according to the conditions that regulate the passage of the robot R11, and a new map (hereinafter referred to as a route planning map) is generated in which the divided nodes are connected by edges according to the conditions that regulate the passage. Then, based on the generated route planning map, a global path, which is a route from the departure point to the destination, is planned using a Dijkstra graph search algorithm, an A* (A-star) graph search algorithm, or the like.

[0038] Here, with reference to FIGS. 4 and 5 , an overview of a route planning map generated from a user-defined map in the present disclosure and a global path that is a route from a departure point to a destination that is planned based on the generated route planning map will be described.

[0039] 4, nodes N111, N112, and N113 are set, nodes N111 and N112 are connected by edge E111, nodes N112 and N113 are connected by edge E112, and nodes N112 and N113 within the range enclosed by the dotted rectangle are assumed to be in a no-turn area. Also, an example will be described in which a user-defined map has been generated indicating that the starting point is node N112, the right direction of the robot R111 in the drawing is the front of the robot, docking bay R111D is at the bottom in the drawing, and that at the destination node N113, there is charging equipment 11 with docking bay 11D at the bottom in the drawing.

[0040] In this case, first, a route planning map is generated as shown in the lower part of Fig. 4. In the route planning map in the lower part of Fig. 4, each of the nodes N111, N112, and N113 in the upper part of Fig. 4 is divided according to the postures that the robot R111 can take, and the divided nodes are connected by edges according to the regulations regarding the passage of the robot R111.

[0041] More specifically, at each of nodes N111, N112, and N113, the robot R111 can assume either a leftward or rightward posture in the figure. Therefore, nodes N111, N112, and N113 are divided into nodes N111a and N111b, nodes N112a and N112b, and nodes N113a and N113b, respectively. Here, nodes N111a, N112a, and N113a correspond to the posture in which the front of the robot R111's main body faces rightward in the figure at nodes N111, N112, and N113, respectively. Similarly, nodes N111b, N112b, and N113b correspond to the posture in which the front of the robot R111's main body faces leftward in the figure at nodes N111, N112, and N113, respectively.

[0042] Here, with the right direction in the figure being the front of the robot R111, the robot R111 can move in either the left or right direction between nodes N111 and N112, so nodes N111a and N112a are connected by edge E111a, which allows bidirectional transitions.Similarly, with the right direction in the figure being the front of the robot R111, the robot R111 can move in either the left or right direction between nodes N112 and N113, so nodes N112a and N113a are connected by edge E112a, which allows bidirectional transitions.

[0043] Furthermore, with the left direction in the figure being the front of the robot R111, the robot R111 can move in either the left or right direction between nodes N111 and N112, so nodes N111b and N112b are connected by edge E111b, which allows bidirectional transitions.Similarly, with the left direction in the figure being the front of the robot R111, the robot R111 can move in either the left or right direction between nodes N112 and N113, so nodes N112b and N113b are connected by edge E112b, which allows bidirectional transitions.

[0044] Furthermore, since node N111 is rotatable, nodes N111a and N111b are connected by edge E111-1, which allows transition between them. On the other hand, since nodes N112 and N113 are located in a non-rotation area, transition between nodes N112a and N112b, and between nodes N113a and N113b, is not possible, and therefore no edge is connected between them.

[0045] Based on the route planning map shown in the lower part of Figure 4, a route consisting of global paths is planned using a Dijkstra graph search algorithm, an A* (A-star) graph search algorithm, or the like, as shown in Figure 5.

[0046] That is, based on the route planning map shown in the upper part of FIG. 5, which corresponds to the lower part of FIG. 4, a route consisting of a global path as shown in the lower part of FIG. 5 is planned.

[0047] 5, a path M111a representing the movement of robot R111 along edge E111a connecting node N112a, which is the starting point, with node N111a is planned. A path M111-1 representing the turning of robot R111 is planned along edge E111-1 connecting node N111a with node N111b. Further, paths M111b and M112b representing the movement of robot R111 are planned along edge E111b connecting node N111b with node N112b and edge E112b connecting node N112b with node N113b.

[0048] A global path consisting of these routes M111a, M111-1, M111b, and M112b is planned as a route from the departure point to the destination.

[0049] In this way, in the present disclosure, nodes that could previously only represent positions to which transitions can be made are divided according to the postures that the robot R111 can take, thereby representing not only positions to which transitions can be made but also postures to which transitions can be made, and further, by generating a route planning map in which nodes are connected by edges that represent the directions in which transitions can be made between nodes, it is possible to represent restrictions on the passage (movement) of the robot R111.

[0050] As a result, by planning a route from the departure point to the destination using a route planning map that can express regulations related to the passage (movement) of the robot R111, it is possible to realize an appropriate route plan that takes into account regulations related to the passage (movement) of the robot R111.

[0051] <<2. Preferred Embodiment>> Next, with reference to FIG. 6, a configuration example of a preferred embodiment of a robot control system to which the technology of the present disclosure is applied will be described.

[0052] The robot control system 101 in FIG. 6 is composed of a robot control device 121 and a robot 122 that can communicate with each other.

[0053] The robot control device 121 receives operation input from the user, generates or edits a user-defined map required for planning the movement path of the robot 122, and stores the generated or edited user-defined map.

[0054] The robot control device 121 generates and stores the above-mentioned route planning map based on the user-defined map.

[0055] Furthermore, when planning a route using the route planning map, the robot control device 121 verifies whether or not there is a state that is unsuitable for route planning, such as the presence of an area that the robot 122 cannot escape from once it has entered. Then, based on the verification result, when the route planning map contains a state that is unsuitable for route planning, the robot control device 121 presents information to warn the user that the route planning map contains a state that is unsuitable for route planning.

[0056] When the user performs an operation to correct the user-defined map based on this warning, the operation input that becomes the correction content is accepted, the user-defined map is updated, and a map for route planning is generated based on the updated user-defined map, and the process of verifying whether or not there is a state that is not suitable for route planning is repeated again.

[0057] When the robot control device 121 receives input of information on the starting point and destination of the robot 122, it uses a route planning map to plan a route from the starting point to the destination, and provides the planned route to the robot 122 as a global path.

[0058] At this time, if the robot control device 121 cannot plan a global path from the departure point to the destination based on the route planning map, it warns the user that a global path cannot be planned.

[0059] If the user performs an operation to change at least one of the departure point and the destination based on this warning, the corresponding operation input is accepted, and a route is planned based on at least one of the changed departure point and the destination. Alternatively, if the user performs an operation to change the user-defined map based on this warning, the corresponding operation input is accepted, and a new route planning map is generated based on the changed user-defined map, and a route from the departure point to the destination is planned as a global path using the newly generated route planning map.

[0060] More specifically, the robot control device 121 includes a touch panel 131, a map editing UI (user interface) 132, a user-defined map storage unit 133, a route planning map generation unit 134, a route planning map storage unit 135, a map verification unit 136, a destination specification UI 137, and a global path planning unit 138.

[0061] The touch panel 131 has a display function and a function for accepting operational input from the user, and displays display information from the map editing UI 132 and the destination specification UI 137, and supplies information corresponding to the operational input from the user to the map editing UI 132 and the destination specification UI 137.

[0062] The map editing UI 132 displays a user interface for editing the user-defined map on the touch panel 131, and edits the user-defined map based on node and edge information input by operating the touch panel 131, and stores the edited user-defined map in the user-defined map storage unit 133.

[0063] The user-defined map storage unit 133 is composed of a storage device such as an HDD (Hard Disc Drive) or an SSD (Solid State Drive), and stores the user-defined map supplied from the map editing UI 132, and also supplies the user-defined map in response to a request from the route planning map generation unit 134.

[0064] The route planning map generation unit 134 reads the user-defined map from the user-defined map storage unit 133, divides the nodes in the user-defined map into positions that the robot 122 can take, and connects the divided nodes with edges according to restrictions on movement, thereby generating a route planning map and supplying it to the route planning map storage unit 135 for storage.

[0065] The route planning map storage unit 135 is composed of a storage device such as an HDD (Hard Disc Drive) or an SSD (Solid State Drive), and stores the route planning map supplied from the route planning map generation unit 134, and also supplies the route planning map in response to requests from the map verification unit 136 and the global path planning unit 137.

[0066] The map verification unit 136 reads the route planning map from the route planning map storage unit 135 and verifies whether there is a state that is unsuitable for route planning, such as the presence of an area that the robot 122 cannot escape from once it has entered. If there is a state that is unsuitable for route planning based on the verification result, the map verification unit 136 notifies the map editing UI 132. In response to this, the map editing UI displays on the touch panel 131 a message warning the user that the current user-defined map includes a state that is unsuitable for route planning.

[0067] In response to this warning, the user may operate the touch panel 131 to repeatedly edit the user-defined map until the warning disappears. However, even if a user-defined map (including a route planning map) contains a state that is unsuitable for route planning, this may not affect the route planning depending on the positional relationship between the departure point and the destination, so it is not necessarily necessary to repeatedly edit the user-defined map until the warning disappears.

[0068] The verification of the route planning map by the map verification unit 136 will be described in detail later.

[0069] The destination designation UI 137 displays on the touch panel 131 a user interface for accepting input of a destination for planning a route along which the robot 122 will move, and also accepts operation input from the touch panel 131 and supplies the input destination information to the global path planning unit 138. Note that the global path planning unit 138 plans a route from a departure point, which is the current location, to the destination designated by the destination designation UI 137, but since the departure point does not necessarily have to be the current location if it is only necessary to plan a route, it is also possible to accept input of the departure point along with the destination, and plan a route from the input departure point to the destination.

[0070] The global path planning unit 138 reads the route planning map from the route planning map memory unit 135, and plans a route from the departure point to the destination based on the destination information supplied from the destination specification UI 137 and the departure point which is the current location of the robot 122 or the information of the departure point input together with the destination, and supplies this to the robot 122 as a global path.

[0071] In addition, at this time, if the global path planning unit 138 is unable to plan a route from the departure point to the destination using the route planning map, it controls the touch panel 131 to display a warning that a global path cannot be planned.

[0072] When the robot 122 receives a global path from the robot control device 121, it moves from the departure point to the destination based on the global path. That is, the robot 122 plans a local path for a predetermined distance from the departure point based on the global path and the surrounding sensing results, and after moving a predetermined distance based on the local path, it moves to the destination by repeating the process of planning a local path for a further predetermined distance and moving a predetermined distance at a time.

[0073] More specifically, the robot 122 includes a sensor 141 , a local path planner 142 , a controller 143 , and an actuator 144 .

[0074] The sensor 141 is a sensor such as an image sensor, an ultrasonic sensor, or a LiDAR (Light Detection and Ranging, or Laser Imaging Detection and Ranging) that detects the position and distance of objects around the robot 122, and supplies the detected position and distance information of surrounding objects to the local path planning unit 142.

[0075] When the local path planning unit 142 receives global path information from the robot control device 121, it plans a local path based on the global path, which is a route for moving the robot 122 from the starting point to the destination within a range of a predetermined distance from the current position, and supplies this to the control unit 143.After the robot 122 has moved the predetermined distance, it repeats the process of planning a local path for moving a further predetermined distance and supplying this to the control unit 143.

[0076] When planning a local path, if the local path planning unit 142 finds that the robot 122 can pass through on the user-defined map, but in reality, based on the sensing results of the sensor 141, there is some kind of obstacle or there is no route corresponding to the edge corresponding to the planned local path, the local path planning unit 142 notifies the robot control device 121 of information warning that the local path cannot be planned. At this time, information on the current position of the robot 122 (corresponding node or edge) is also notified.

[0077] For example, if the robot 122 issues a warning indicating that a local path cannot be planned, the destination designation UI 137 responds to the warning by presenting information about the nodes and edges corresponding to the current position of the robot 122 and indicating that a local path cannot be planned and that the robot 122 cannot be moved to the destination based on the global path. Based on this indication, the user may, for example, operate the touch panel 131 to modify the departure point and destination so that a local path can be planned, and then re-plan the global path.

[0078] Although not shown, the robot 122 may issue a warning to the map editing unit 132 indicating that a local path cannot be planned, and in this case, the map editing unit 132 of the robot control device 121 may display information indicating that the user-defined map needs to be modified on the touch panel 131 in response to the warning. Based on this display, the user may operate the touch panel 131, for example, to modify the user-defined map so that a local path can be planned.

[0079] Based on the local path supplied from the local path planning unit 142, the control unit 143 supplies control values ​​for driving an actuator 144 that operates the drive mechanism of the robot 122 so that the robot 122 can move along the local path, thereby driving the robot 122. The drive mechanism for moving the robot 122 is, for example, drive wheels or drive legs, and the actuator 144 operates the drive mechanism consisting of drive wheels, drive legs, etc. Note that since the robot 122 can be any mobile body, the drive mechanism is not limited to a drive mechanism for moving on land, such as drive wheels or drive legs, and may be, for example, a drive mechanism for moving on or underwater, or a drive mechanism for moving in the air or outer space.

[0080] 6 illustrates an example of a configuration in which the robot control device 121 and the robot 122 are separate entities that communicate with each other to exchange various information and data, but the configuration is not limited to this. For example, the robot 122 may be configured to incorporate the functions of the robot control device 121, and an external user may carry and operate a tablet or the like that has the function of a touch panel 131 that can communicate with the robot control device 121. Alternatively, the robot control device 121 may be implemented by a cloud server or the like, and may be configured to be able to communicate with the robot 122.

[0081] <Global Path and Local Path> Here, the global path and the local path will be explained. The global path is the entire route from the departure point to the destination, whereas the local path is a detailed route in the vicinity of the location of the robot 122 on the route defined by the global path.

[0082] For example, consider the case where nodes N101 to N105 are set as shown in the left part of Figure 7, nodes N101 and N102 are connected by edge E101, nodes N102 and N103 are connected by edge E102, nodes N102 and N104 are connected by edge E103, nodes N103 and N105 are connected by edge E104, and nodes N104 and N105 are connected by edge E105, the starting point is node N101, the destination is node N105, and a global path consisting of routes M101, M102, and M103 is planned as the route from the starting point to the destination.

[0083] In this case, when the robot 122 is present at node N101, the local path planning unit 142 plans, for example, a detailed route for route M101 of routes M101, M102, and M103 that make up the global path, as a local path, in combination with the sensing results from the sensor 141. The control unit 143 drives the actuator 144 according to this local path to move the robot 122 to node N102.

[0084] Next, the local path planning unit 142 plans, for example, the route M102 of the routes M101, M102, and M103 that make up the global path, as a detailed route for the global path, in combination with the sensing results from the sensor 141, as a local path.

[0085] 7, if an obstacle is detected on a path M102 consisting of an edge E102, the local path planning unit 142 generates a local path by modifying the path M102 to avoid the obstacle, as shown by a path M102'. The control unit 143 drives the actuator 144 according to this local path to move the robot 122 to a node N103.

[0086] The local path planning unit 142 then plans, for example, a detailed route for the global path, route M103 out of routes M101, M102, and M103 that make up the global path, as a local path, in conjunction with the sensing results from the sensor 141. The control unit 143 drives the actuator 144 according to this local path, causing the robot 122 to move to node N105.

[0087] In this way, the robot 122 plans a detailed local path that eliminates obstacles that occur on the actual route, based on the global path and the sensing results of the sensor 141. By planning a local path based on the global path in this way, appropriate movement that adaptively responds to changes on the route that cannot be planned using a user-defined map or a route planning map is realized.

[0088] <User-Defined Map, Route Planning Map, and Global Path> Next, the relationship between the user-defined map, route planning map, and global path of the present disclosure will be described.

[0089] A user-defined map is a map composed of nodes and edges set by the user, as shown in the top row of Fig. 8, for example. The top row of Fig. 8 is composed of nodes N111 to N133, and nodes N111 and N112 are connected by edges E111 and E112, respectively, which indicate that movement is possible in both directions, left and right, in the figure. A rectangular area Z1, indicated by a dashed line, represents a no-turn area, indicating that the robot 122 cannot turn at nodes N112 and N113 within the area Z1. As shown in Fig. 8, edges E111 and E112 define the direction of the arrows indicating that movement is possible in both directions.

[0090] The route planning map is a map generated by dividing the nodes in the user-defined map based on the possible postures (directions) that the robot 122 can take, and connecting the divided nodes with edges that correspond to the restrictions on the movement of the robot 122, as shown in the middle of Figure 8, for example.

[0091] In the middle section of Figure 8, nodes N111 to N133 are divided into nodes N111a and N111b, nodes N112a and N112b, and nodes N113a and N113b, respectively. Nodes N111a and N112a, and nodes N112a and N113a, are connected by edges E111a and E112a, respectively, which can move in both directions in the figure. Similarly, nodes N111b and N112b, and nodes N112b and N113b, are connected by edges E111b and E112b, respectively, which can move in both directions in the figure.

[0092] Furthermore, at node N111, because the robot 122 can turn, nodes N111a and N111b are connected by edge E111-1 indicated by an arrow that indicates that the robot 122 can move in both directions (the position of the front of the main body of the robot 122 can be shifted left and right). On the other hand, because nodes N112 and N113 exist within range Z1, which is the non-turning area, nodes N112a and N112b and nodes N113a and N113b are not connected by an edge.

[0093] Then, based on such a route planning map, a route is planned by setting a starting point and a destination, and is output as a global path.

[0094] The lower part of FIG. 8 shows that routes M111a, M111-1, M111b, and M112b are planned as global paths when the starting point is node N112a and the destination is node N113b.

[0095] That is, a user-defined map is graph data consisting of nodes (position nodes) that represent only positions and edges that connect those nodes, and also includes information on restrictions related to the passage of moving objects, such as "posture constraints" and "no-turn areas." However, because information on restrictions related to the passage of moving objects cannot be expressed simply by connecting nodes that represent only positions with edges, it is treated as information separate from the graph data.

[0096] In contrast, a route planning map is graph data consisting of nodes (position and attitude nodes) that represent both the position and the attitude that a moving object can take, and edges that connect these nodes in accordance with regulations regarding the movement of moving objects.

[0097] By using this route planning map for route planning, both the position and the possible orientation of the mobile object are expressed for nodes where the starting point, destination, and intermediate points are set. Furthermore, the nodes on the route planning map are connected by edges that take into account regulations on the movement of the mobile object. As a result, the global path planned by the search algorithm using the route planning map is an appropriate route to the destination that takes into account the orientation of the robot 122 and the regulations on movement along the route.

[0098] In the above, an example has been described in which nodes on a user-defined map are divided into a number of parts according to the postures that the robot 122 can take on the horizontal plane in the figure (left-right, up-down, etc.), but it is also possible to divide the nodes into a number of parts according to the postures that the robot 122 can take, such as going up or down, for slopes or steps that exist on the route.

[0099] Although examples of restrictions on the passage of the robot 122 have been described, such as the permitted direction of movement of a path defined by edges (bidirectional or one-way) and whether or not turning at a node is permitted, other restrictions may also be used. For example, restrictions may be established based on the width, overall length, overall height, weight, etc. of the robot 122. Regarding weight in particular, if the robot 122 has the function of transporting cargo, the robot 122 may be permitted or prohibited from passing based on the weight including the cargo being transported. Furthermore, restrictions may be established based on the relationship between the robot's overall length and the angle of the corner, such that the robot 122 is permitted or prohibited from turning right or left at a corner. The robot 122's passage may also be restricted based on its speed; for example, it may be prohibited to pass if it is traveling at a speed of 10 km / h or less.

[0100] <Other Examples of User-Defined Maps and Route Planning Maps (Part 1)> The user-defined map, route planning map, and global path shown in FIG. 8 are merely examples, and various forms exist depending on the nodes and edges that are set when the user-defined map is generated.

[0101] For example, when a user-defined map such as that shown in the left part of FIG. 9 is set, a route planning map such as that shown in the right part of FIG. 9 is generated.

[0102] 9, nodes N131 to N134 are set, and nodes N131 and N132, nodes N132 and N133, and nodes N133 and N134 are connected by bidirectionally movable edges E131, E132, and E133, respectively. The dashed-dotted rectangular area represents a no-turn area, and the robot 122 cannot turn around nodes N132 and E133 within the dashed-dotted rectangular area.

[0103] The route planning map on the right side of FIG. 9 is generated by decomposing each of the nodes N131 to N134 in the user-defined map on the left side of FIG. 9 into possible postures that the robot 122 can take.

[0104] That is, in the path planning map on the right side of Figure 9, nodes N131 to N134 are divided into two in the left and right directions in the figure as possible postures that the robot 122 can take, thereby generating nodes N131a, N131b, nodes N132a, N132b, nodes N133a, N133b, and nodes N134a, N134b.

[0105] In addition, nodes N131a and N132a, nodes N132a and N133a, and nodes N133a and N134a are connected by edges E131a, E132a, and E133a, respectively, which can move in both directions, and nodes N131b and N132b, nodes N132b and N133b, and nodes N133b and N134b are connected by edges E131b, E132b, and E133b, respectively, which can move in both directions.

[0106] Furthermore, since rotation is possible within nodes N131 and N134, nodes N131a and N131b, and nodes N134a and N134b are connected by edges E131-1 and E134-1, which represent that movement is possible in both directions (the position of the front of the main body of robot 122 can be shifted left and right).

[0107] On the other hand, since rotation is not possible within nodes N132 and N133, there is no edge connection between nodes N132a and N132b, and between nodes N133a and N133b.

[0108] <Another Example of User-Defined Map and Route Planning Map (Part 2)> Furthermore, for example, when a user-defined map such as that shown in the left part of FIG. 10 is set, a route planning map such as that shown in the right part of FIG. 10 is generated.

[0109] More specifically, in the user-defined map on the left side of Figure 10, nodes N151 to N155 are set, and nodes N151 and N152, nodes N151 and N153, nodes N151 and N154, and nodes N151 and N155 are connected by edges E152, E153, E154, and E155, respectively, which are movable in both directions.

[0110] The route planning map on the right side of FIG. 10 is generated by decomposing each of the nodes N151 to N155 in the user-defined map on the left side of FIG. 10 into possible postures that the robot 122 can take.

[0111] That is, in the route planning map on the right side of FIG. 10, node N151 is divided into four parts in the left, right, top and bottom directions in the drawing as postures that the robot 122 can take, thereby generating nodes N151a to N151d.

[0112] Furthermore, nodes N152a, N152b and nodes N154a, N154b are generated by dividing each of nodes N152 and N154 into two in the left and right directions in the figure as possible postures that the robot 122 can take. Then, nodes N152a and N151d are connected to each other by bidirectionally movable edges E152a and E154b, and nodes N151d and N154b are connected to each other by bidirectionally movable edges E152b and E154a, respectively.

[0113] Furthermore, nodes N153a and N153b, and nodes N155a and N155b are generated by dividing each of nodes N153 and N155 into two parts in the upper and lower directions in the figure as postures that can be taken by robot 122. Then, nodes N153a and N151a are connected by bidirectionally movable edges E153a and E155b, and nodes N153b and N151c are connected by bidirectionally movable edges E153b and E155a, and nodes N151c and N155a are connected by bidirectionally movable edges E153b and E155a, respectively.

[0114] Furthermore, since node N151 can rotate to all four positions of nodes N151a to N151d, nodes 151a and 151b, nodes 151b and 151c, nodes 151c and 151d, and nodes 151d and 151a are connected by edges E151-1 to E151-4, which can move in both directions (can rotate in either direction).

[0115] Furthermore, since all nodes N152 to N155 are rotatable, nodes N152a and N152b, nodes N153a and N153b, nodes N154a and N154b, and nodes N155a and N155b are connected by edges E152-1, E153-1, E154-1, and E155-1, respectively, which are movable in both directions (rotatable in either direction).

[0116] <Another Example of User-Defined Map and Route Planning Map (Part 3)> Furthermore, for example, when a user-defined map such as that shown in the upper part of FIG. 11 is set, a route planning map such as that shown in the lower part of FIG. 11 is generated.

[0117] More specifically, in the user-defined map in the upper part of FIG. 11, a node N161 is set, and edges E160 and E161, which are movable only forward in the right direction in the drawing, are connected to the node N161.

[0118] At node N160 in the user-defined map in the upper part of FIG. 11, the map is decomposed into possible postures that the robot 122 can take, and the path planning map in the lower part of FIG. 11 is generated.

[0119] However, in the path planning map in the lower part of Fig. 11, the only possible orientation of the robot 122 at node N161 is to the right in the figure, so node N160 is not divided and remains as one. Also, because node N161 is not divided, edges E160 and E161 remain as they are.

[0120] <Verification of Route Planning Map> <No-Escape Area (Part 1)> Next, verification of the route planning map by the map verification unit 136 will be described. The route planning map is generated based on a user-defined map. For this reason, in a user-defined map generated by combining nodes and edges set by the user, an area from which it is impossible to turn back and escape if entered in a predetermined order (hereinafter also referred to as an no-escape area) may occur.

[0121] When planning a route from a departure point to a destination using such a route planning map, it is sometimes possible to plan a route without passing through an area where escape is not possible, but it is also sometimes impossible to plan a route without passing through an area where escape is not possible.

[0122] In other words, a route planning map in which this no-escape area occurs can be said to be an inappropriate map for route planning.

[0123] More specifically, consider the case where a user-defined map such as that shown in the left part of FIG. 12 is generated.

[0124] The user-defined map on the left side of Figure 12 is composed of nodes N201 to N205, with nodes N201 and N202, nodes N201 and N203, and nodes N204 and N205 connected by edges E202, E203, and E205, respectively, which are movable in both directions, and nodes N201 and N204 are connected by edge E204, which is movable only in the direction from node N201 to node N204.

[0125] In this case, as shown in the right part of Figure 12, if you enter node N204 from node N201 via edge E204, you can then move back and forth between nodes N204 and N205 within the rectangular range defined by the solid lines, but you cannot escape from the rectangular range defined by the solid lines.

[0126] When a route planning map is generated based on the user-defined map of FIG. 12, a route planning map such as that shown in the right part of FIG. 13 is generated.

[0127] In the route planning map of FIG. 13, node N201 is divided into four parts in the left, right, top and bottom directions in the figure as postures that the robot 122 can take, thereby generating nodes N201a to N201d.

[0128] Node N202 is divided into two, left and right, to generate nodes N202a and N202b, based on the postures that the robot 122 can assume. Nodes N202b and N201b are connected by edges E202b and E202a, which are movable in both directions, and nodes N202a and N201d are connected by edges E202b and E202a, which are movable in both directions.

[0129] Furthermore, nodes N204a, N204b, and N204c are generated by dividing node N204 into three parts in the top, bottom, and right directions in the figure, which are postures that the robot 122 can take. Also, nodes N203 and N205 are each divided into two parts in the top and bottom directions in the figure, which are postures that the robot 122 can take, which are nodes N203a and N203b, and nodes N205a and N205b.

[0130] The nodes N204b and N201b, the nodes N204a and N205b, and the nodes N204c and N205a are connected by bidirectionally movable edges E204a, E205b, and E205a, respectively. The nodes N203b and N201a, and the nodes N203a and N201c are connected by bidirectionally movable edges E203b and E203a, respectively.

[0131] Furthermore, since node N201 can rotate to all four positions of nodes N201a to N201d, nodes 201a and 201b, nodes 201b and 201c, nodes 201c and 201d, and nodes 201d and 201a are connected by edges E201-1 to E201-4 that can move (rotate) in both directions.

[0132] Furthermore, since rotation is possible within nodes N202, N203, and N205, nodes N202a and N202b, nodes N203a and N203b, and nodes N205a and N205b are connected by edges E202-1, E203-1, and E205-1, respectively, which are movable (rotatable) in both directions.

[0133] Furthermore, since node N204 can rotate into three positions, nodes N204a and N204b, nodes N204b and N204c, and nodes N204c and N204c are connected by edges E204-1, E204-2, and E204-3, respectively, which are movable in both directions.

[0134] 13, edge E204a enclosed by a thick ellipse can only move rightward in the figure from node E201b to node N204b, so once you enter node N204 from node N201, you can only travel to and from node N205, and even if you can move between nodes N204 and N205, you cannot return from node N204 to node N203. In other words, nodes N204 and N205 are an inescapable area.

[0135] For this reason, for example, if the starting point is set to node N205 and the destination is set to node N202, it will be impossible to plan a route. Such a route planning map is not suitable for route planning and is an inappropriate map for route planning.

[0136] <No-Escape Area (Part 2)> The no-escape area described with reference to FIGS. 12 and 13 is just one example, and there are many other examples.

[0137] For example, consider the case of a user-defined map such as that shown in the left part of FIG.

[0138] The user-defined map on the left side of FIG. 14 is made up of nodes N231 to N233, with bidirectional edges E232 connecting nodes N231 and N232, and nodes N232 and N233, respectively.

[0139] However, nodes N232 and N233 are within a no-turn area surrounded by a dashed line, and edge E231 is movable in both directions, but only forward. That is, when moving along edge E231, as shown in the left part of Figure 14, when moving leftward in the figure, the robot 122 must move so that the left side in the figure is the front of the body, as shown by robot RL, and when moving rightward in the figure, the robot 122 must move so that the right side in the figure is the front of the body, as shown by robot RR.

[0140] In this case, as shown in the right part of Figure 14, when robot 122 enters node N232 via edge E231 in the state of robot RR' with the front of its main body facing right, it cannot turn at nodes N232 and N233, so although it can repeatedly move forward to node N233 and then backward to node N232, edge E231 is restricted to passing through in a forward direction, so the area where nodes N232 and N233 exist, i.e., the no-turn area itself, becomes an no-escape area.

[0141] If this state is converted into a route planning map, it will look like the one shown in the lower part of Fig. 15. The upper part of Fig. 15 is the same as the left part of Fig. 14.

[0142] That is, in nodes N231 to N233, the robot 122 can assume a posture in the left or right direction in the figure, so it is divided into two, and nodes N231a and N231b, nodes N232a and N232b, and nodes N233a and N233b are generated respectively.

[0143] Further, since only forward movement to the left is permitted between nodes N231b and N232b, nodes N231b and N232b are connected by edge E231b, which allows movement only to the left in the drawing, which is the direction of progress.

[0144] Similarly, since only forward movement to the right is permitted between nodes N231a and N232a, nodes N231a and N232a are connected by edge E231a, which allows forward movement to the right in the drawing.

[0145] Furthermore, nodes N232b and N233b are connected by edge E232b which can proceed in both directions.

[0146] Similarly, nodes N232a and N233a are connected by edge E232a which can proceed in both directions.

[0147] At node N231, the robot 122 can turn, and therefore transitions are possible between nodes N231a and N231b, and so they are connected by edge E231-1 which can turn in both directions.

[0148] As a result, once robot 122 enters node N231a from node N231a via edge E231a, which is represented by a solid ellipse in the figure, it cannot return from node N232a to node N231a, and the solid rectangular frame in the figure that includes nodes N232a and N233a becomes an area from which escape is impossible.

[0149] For this reason, for example, if the starting point is set to node N233 and the destination is set to node N231, it will be impossible to plan a route. Therefore, such a route planning map is also deemed to be an inappropriate map for route planning.

[0150] In the above, we have explained that a user-defined map is inappropriate for route planning when, after passing a specific edge, it is not possible to return to the original position via the same edge.However, even if it is not possible to return via the same edge, if it is possible to return to the original position by moving via another edge, it can be said that the map is appropriate for route planning.

[0151] For example, when a user-defined map such as that shown in the left part of Fig. 16 is generated, after passing a specific edge, it is not possible to return via the same edge, but it is possible to return via another edge. Therefore, in the case of Fig. 16, the route planning map is a map suitable for route planning.

[0152] The user-defined map shown on the left side of FIG. 16 is a partially modified version of the user-defined map described with reference to FIGS. 12 and 13, so only the modified parts will be described.

[0153] The left part of Figure 16 differs from the user-defined map in the left part of Figure 12 in that nodes N203' and N205' have been provided instead of nodes N203 and N205, and the basic configuration is the same as that of nodes N203 and N205, but it also differs in that an edge E206 has been provided between the two, which requires that the node N205ren be entered towards node N203.

[0154] Therefore, the route planning map on the right side of FIG. 16 differs from the route planning map on the right side of FIG. 12 only in the configuration between nodes N205' and N206'.

[0155] That is, in the route planning map on the right side of FIG. 16, nodes N205 and N203 are each divided into two in the upper and lower directions in the figure, whereas nodes N205' and N203' have an additional orientation in the left direction in the figure.

[0156] Therefore, nodes N205' and N206' are each divided into three, generating nodes N205'a, N205'b, and N205'c, and nodes N206'a, N206'b, and N206'c.

[0157] 12. Also, nodes N205'a, N205'b and nodes N206'a, N206'b are similar to nodes N205a, N205b and nodes N206a, N206b in FIG. 12, and therefore description thereof will be omitted.

[0158] That is, the newly generated nodes N205'c and N206'c are connected by an edge E206 that can be moved leftward.

[0159] As a result, in the right part of Figure 16, even if you enter node N204 from node N201b via edge E204a, which is represented by a solid ellipse, it is possible to return to node N201b via node N204b, edge E204-2, node N204c, edge 205'a, node N205'a, edge E205'-3, node N205'c, and edge E206, which is represented by a solid ellipse, node N203'c, edge E203'-2, node N203'b, edge E203b, node N201a, and edge E201-2.

[0160] As a result, even if it is not possible to return along the same edge, if it is possible to return to the original position via other edges or other nodes, there is no inescapable area and it can be said to be an appropriate map for route planning.

[0161] <Specific Method for Verifying Route Planning Map> Next, a specific method for verifying whether a route planning map is inappropriate for route planning that includes an escape-impossible area will be described.

[0162] In the present disclosure, whether or not a route planning map is appropriate and does not contain any escape-impossible areas is determined based on whether or not a group consisting of multiple strongly connected components is detected by performing strongly connected component decomposition on the route planning map.

[0163] Here, a strongly connected component is a set of vertices that can be accessed from one another in a directed graph, which is made up of nodes and edges (a group of nodes that can be accessed from one another via edges).

[0164] Strongly connected component decomposition is a process of decomposing the nodes that make up a directed graph into groups of strongly connected components.

[0165] As mentioned above, a strongly connected component is a set of vertices (a group of nodes that can be accessed via edges) in a directed graph, consisting of nodes and edges, and therefore nodes that belong to different strongly connected components cannot be accessed.

[0166] Therefore, when a route planning map composed of an effective graph is decomposed into strongly connected components, when it is decomposed into a group consisting of multiple strongly connected components, it is proven that it is not possible to travel between any two nodes within the route planning map, and therefore the route planning map can be determined to be an inappropriate map in which an inescapable area occurs.

[0167] For example, consider a route planning map as shown in FIG. 17, which is composed of nodes N251, N252, N253, N261, and N262, in which nodes N251 and N252 are connected by edge E251, which allows movement from node N251 to node N252, nodes N252 and N253 are connected by edge E253, which allows movement from node N252 to node N253, nodes N253 and N251 are connected by edge E253, which allows movement from node N253 to node N251, nodes N252 and N261 are connected by edge E271, which allows movement from node N252 to node N261, and nodes N261 and N262 are connected by edge E261, which allows movement in both directions.

[0168] In this case, by performing strongly connected component decomposition, a strongly connected component consisting of nodes N251, N252, and N253 is obtained as group G1, and a strongly connected component consisting of nodes N261 and N262 is obtained as group G2.

[0169] 17, movement within nodes N251, N252, and N253 belonging to group G1 is possible, movement within nodes N261 and N262 belonging to group G2 is also possible, and movement from node N252 to node N261 is also possible. However, movement from node N261 to node N252 is not possible in the case of FIG.

[0170] Therefore, with respect to the route planning map shown in FIG. 17, when any two points are selected as the starting point and destination, it is not possible to plan a route that requires travel from node N261 to node N252.

[0171] As a result, as shown in Figure 17, when a route planning map is decomposed into strongly connected components to obtain a group of multiple strongly connected components, the route planning map can be considered not to be an appropriate route planning map that can always determine a route when an arbitrary starting point and destination are set.

[0172] Therefore, in the present disclosure, when a user-defined map is updated, the route planning map generation unit 134 generates a route planning map corresponding to the updated user-defined map and stores it in the route planning map storage unit 135. Then, the map verification unit 136 performs strongly connected component decomposition on the route planning map stored in the route planning map storage unit 135 to verify whether there are multiple groups made up of strongly connected components, which are sets of vertices that are mutually accessible (mutually bidirectionally movable), and supplies the verification result to the map editing UI 132.

[0173] For example, in the case of a route planning map such as that shown in Fig. 18 that corresponds to the user-defined map on the left side of Fig. 16, there is no escape-impossible area, so even if strongly connected component decomposition is performed, only group G11 that becomes one strongly connected component as a whole is obtained, as explained with reference to the right side of Fig. 16. Therefore, the route planning map in Fig. 18 is an appropriate map, and so it can be determined that the user-defined map that corresponds to the route planning map in Fig. 18 is an appropriate map.

[0174] On the other hand, for example, in the case of a route planning map such as that shown in Fig. 19, which corresponds to the upper part of Fig. 15, when entering node N232a from node N231a via edge E231a, nodes N232a and N233a become an area where escape is not possible, as explained with reference to Fig. 15. Furthermore, while movement between nodes N232b and N233b is possible, because edge E231b is movable only leftward in the figure, when moving from node N232b to node N231b, it is not possible to return to nodes N232b and N233b.

[0175] For this reason, when strongly connected component decomposition is applied to a route planning map such as that shown in Fig. 19, three groups are obtained: group G31 consisting of nodes N231a and N232b, group G32 consisting of nodes N232a and N233a, and group G33 consisting of nodes N232b and N233b. Therefore, since the route planning map in Fig. 19 is an inappropriate map, it can be determined that the user-defined map corresponding to the route planning map in Fig. 19 is an inappropriate map.

[0176] <Reducing the computational load of strongly connected component decomposition> In the above, we have explained that when a user-defined map is updated, a corresponding route planning map is generated and verified using strongly connected component decomposition. However, if the route planning map is complex and large-scale, the computational load associated with strongly connected component decomposition increases.

[0177] Therefore, for nodes that can move back and forth between the same node on the route planning map, i.e., nodes that can transition between each other, which are divided according to the possible postures that the robot 122 can take, the computational load associated with strongly connected component decomposition can be reduced by combining these into a single node.

[0178] 20, there are nodes N301 and N302, and there are three possible postures that the robot 122 can take at each of them, which are divided into nodes S1, S2, S3 and nodes S11, S12, S13. Furthermore, it is assumed that mutual transitions are possible between nodes S1 and S2, between nodes S11 and S12, between nodes S1 and S11, and between nodes S3 and S13, and that between nodes S2 and S3, only a transition from node S2 to node S3 is possible, and between nodes S12 and S13, only a transition from node S12 to node S13 is possible.

[0179] In this case, as shown in the middle of Fig. 21, nodes S1 and S2 are split from node N301 and can transition to each other, so they can be considered to be in the same group G101. Note that the top of Fig. 21 shows the same nodes N301 and N302 as in Fig. 20.

[0180] Similarly, as shown in the middle of FIG. 21, nodes S11 and S12 are split from node N302 and can transition to each other, so they can be considered to be part of the same group G102.

[0181] That is, in strongly connected component decomposition, nodes S1 and S2 can be treated as one node consisting of one group G101, as shown in the lower part of Fig. 21. Similarly, in strongly connected component decomposition, nodes S11 and S12 can be treated as one node consisting of one group G102, as shown in the lower part of Fig. 21.

[0182] In this way, when a route planning map is generated from a user-defined map, nodes are decomposed into the number of possible postures that the robot 122 can take. However, in strongly connected component decomposition, nodes that can transition between each other can be treated as a single node, and therefore the number of nodes is reduced, thereby reducing the load associated with calculations.

[0183] <Example of warning presented when editing a user-defined map> Next, we will explain an example of a warning displayed on the touch panel 131 by the map editing UI 132 when the verification results of using strongly connected component decomposition on the above-mentioned route planning map detect multiple strongly connected components and determine that the map is inappropriate.

[0184] For example, as shown in the upper part of Figure 22, when a user-defined map corresponding to the upper part of Figure 15 is generated by editing and a map for route planning corresponding to the lower part of Figure 15 is generated, the map verification unit 136 supplies to the map editing UI 132 information indicating that the map is unsuitable for route planning and information on a group consisting of strongly connected components as a verification result of strongly connected component decomposition.

[0185] At this time, the map editing UI 132 may present on the touch panel 131 a route planning map with a warning frame WZ1 indicating that there is some cause of an obstacle at the positions of edges E231a and E231b, which are the breaks between the strongly connected components, based on the information notified by the map verification unit 136 indicating that the map is unsuitable for route planning and the information on the group consisting of strongly connected components as a verification result of the strongly connected component decomposition, as shown in the middle part of Figure 22, for example.

[0186] Such presentation enables the user to recognize that the setting of the edge E231 in the user-defined map is the cause of the map being appropriate.

[0187] Therefore, the user may operate the touch panel 131 to perform editing ED1, for example, by deleting the "forward only" restriction on the movement of the robot 122, as shown in the lower part of Figure 22.

[0188] When such edits are made and the user-defined map is updated, a corresponding route planning map is generated, and the map verification unit 136 again determines whether the map is appropriate for route planning by performing strongly connected component decomposition, and repeats the process based on the determination result.

[0189] As a result, it is determined whether a route planning map based on a user-defined map is appropriate, and when it is inappropriate, information on the possible causes is presented, allowing the user to modify the corresponding parts of the user-defined map and quickly edit it into a map appropriate for route planning.

[0190] <Example of warning presented when planning a global path> Next, we will explain an example of a warning displayed on the touch panel 131 by the destination designation UI 137 when the departure point and destination are set and the global path is planned by the global path planning unit 138 based on the route planning map, and the global path cannot be planned because the map is inappropriate for route planning.

[0191] For example, as shown in the upper part of Figure 23, if a user-defined map corresponding to the upper part of Figure 15 is generated by editing, a route planning map corresponding to the lower part of Figure 15 is generated, and a destination is then specified, and a global path is planned by the global path planning unit 138, as described above, the route planning map generated based on the user-defined map in the upper part of Figure 23 is inappropriate for route planning, and therefore a global path cannot be planned.

[0192] In such a case, the global path planning unit 138 notifies the destination specification UI 137 that a global path cannot be planned, and also performs strongly connected component decomposition on the route planning map, which the map verification unit 136 performs on the route planning map that is generated each time the user-defined map is updated, to search for and notify information about the edge that exists on the boundary between the group to which the departure point belongs and the group to which the destination belongs.

[0193] The destination designation UI 137 presents to the user information indicating that a global path could not be planned, supplied by the global path planning unit 138, as well as information on the edges that exist on the boundary between the group to which the departure point belongs and the group to which the destination belongs, which is the result of the strongly connected component decomposition, and presents information to prompt the user to revise the route planning map.

[0194] More specifically, for example, as shown in the middle of Figure 23, if node N233a marked with "S" in the figure is set as the departure point and node N231b marked with "G" in the figure is set as the destination, when strongly connected component decomposition is performed, node N233a of the departure point belongs to group G33 and node N231b of the destination belongs to group G31.

[0195] Therefore, the destination designation UI 137 presents the user with information that may be the cause of the global path not being able to be planned, by displaying on the touch panel 131, for example, a route planning map in which a warning frame WZ11 is attached to edge E231a that exists on the boundary between group G33 to which node N233a of the departure point belongs and group G31 to which node N231b of the destination belongs, as shown in the middle part of Figure 23.

[0196] Such a presentation allows the user to recognize that the setting of the edge E231a in the user-defined map may be the cause of the inability to plan a global path.

[0197] Therefore, the user may operate the touch panel 131 to edit the ED11, for example, by deleting the "forward only" restriction on the movement of the robot 122, as shown in the lower part of Figure 23.

[0198] When such edits are made to the user-defined map and the map is updated, a corresponding route planning map is generated, and the map verification unit 136 again determines whether the map is appropriate for route planning by using strongly connected component decomposition. If the determination result indicates that the map is appropriate, a global path can be planned.

[0199] Furthermore, even if the map is not suitable for route planning, if the route planning map can be modified based on information such as that shown in the middle of Figure 23 so that the group consisting of strongly connected components to which the departure point belongs and the group consisting of strongly connected components to which the destination belongs are the same group, a global path can be planned.

[0200] As a result, if a global path cannot be planned, not only will the user be notified of this fact, but information on the possible causes will also be presented, allowing the user to modify the user-defined map appropriately, enabling the global path to be planned quickly.

[0201] In the above, we have explained an example of a warning that is given when a global path cannot be planned, but when robot 122 generates a local path based on the global path and moves, a similar warning may be issued even if the local path cannot be planned and movement is not possible.

[0202] That is, when the robot 122 acquires a global path and is unable to plan a local path while moving, it may be unable to plan because a discrepancy occurs between the path planning map and the actual movement space due to a change in the path, such as the temporary presence of an obstacle on the path. In this case, the local path planning unit 142 of the robot 122 notifies the destination specification UI 137 that a local path cannot be planned.

[0203] At this time, the local path planning unit 142 notifies the robot 122 of its current position on the global path.

[0204] Based on the information from the local path planning unit 142, the destination designation UI 137 displays on the touch panel 131 the current position on the global path together with information indicating that a local path cannot be planned.

[0205] In response to this, for example, if the user operates the touch panel 131 and modifies the user-defined map using the map editing UI 132 so that the current position is impassable, the route planning map is updated.

[0206] Then, the destination specification UI 137 supplies information about the current position on the global path for which it has become impossible to plan a local path to the global path planning unit 138. The global path planning unit 138 reads the route planning map that has been updated by adding new impassable positions due to the correction of the user-defined map, plans a new global path from the current position to the destination, and supplies the new global path to the robot 122.

[0207] The local path planning unit 142 of the robot 122 plans a local path using a global path generated based on the modified route planning map, which increases the possibility of being able to plan a local path and thus increases the possibility of being able to continue movement.

[0208] <Route Planning Map Generation Processing> Next, the route planning map generation processing will be described with reference to the flowchart of FIG.

[0209] In step S31, the map editing UI 132 determines whether a node or edge of a user-defined map has been generated or modified by operating the touch panel 131. If it is determined in step S31 that a user-defined map has been generated or modified, the process proceeds to step S32. However, if it is determined in step S31 that a user-defined map has not been generated or modified, the process proceeds to step S37.

[0210] In step S32 , the map editing UI 132 generates or modifies and updates a user-defined map in accordance with the operation content supplied by the user operating the touch panel 131 , and stores the updated user-defined map in the user-defined map storage unit 133 .

[0211] In step S33, the route planning map generation unit 134 reads out the user-defined map from the user-defined map storage unit 133, divides the nodes into the same number as the number of postures that the robot 122 can take, and connects each node with an edge in accordance with the traffic regulations, thereby generating a route planning map and storing it in the route planning map storage unit 135.

[0212] In step S34, the map verification unit 136 reads out the route planning map from the route planning map storage unit 135, and decomposes the nodes of the read route planning map into strongly connected components.

[0213] In step S35, the map verification unit 136 determines whether the nodes have been decomposed into a plurality of groups by the strongly connected component decomposition.

[0214] If it is determined in step S35 that the nodes have been decomposed into a plurality of groups by the strongly connected component decomposition, the process proceeds to step S36.

[0215] In step S36, the map verification unit 136 notifies the map editing UI 132 that the nodes of the route planning map have been decomposed into multiple groups by strongly connected component decomposition and that the map is not appropriate. The map editing UI 132 controls the touch panel 131 to display a warning indicating that the current route planning map is not appropriate, and also displays edges and nodes at positions where the groups into which the nodes of the route planning map have been decomposed by strongly connected component decomposition are separated.

[0216] In step S37, it is determined whether or not an instruction to end the process has been given. If an instruction to end the process has not been given, the process returns to step S31, and the subsequent steps are repeated.

[0217] If an instruction to end the process is given in step S37, the process ends.

[0218] In other words, when the nodes and edges of the user-defined map are generated or modified by the above process, the nodes of the user-defined map are divided into the number of positions that the robot 122 can take at each node, and each is connected by edges so that it corresponds to the regulations regarding the robot's passage, thereby generating a map for route planning.

[0219] Furthermore, when a route planning map is generated, its suitability as a route planning map is determined based on whether the nodes can be decomposed into multiple groups by strongly connected component decomposition. If it is determined that the map is not suitable as a route planning map, the edges and nodes that separate the groups decomposed into strongly connected components are presented.

[0220] This allows the user to correct the route planning map to an appropriate state by modifying the nodes and edges of the user-defined map using as a guide the positions of the edges and nodes that separate groups decomposed into strongly connected components on the route planning map, making it possible to properly plan the global path in the global path planning process described below.

[0221] However, when planning a global path, if the current position and the destination belong to the same group of strongly connected components based on their relationship, it is possible to plan a global path even on a route planning map that has groups consisting of multiple strongly connected components through strongly connected component decomposition, so it is not necessarily necessary to edit the route planning map until it is in an appropriate state.

[0222] For example, in the global path planning process described below, after a warning is displayed indicating that the map is inappropriate and therefore the global path cannot be planned, the user may edit the user-defined map and update the route planning map using as a guide the edges and nodes that are the breaks between groups decomposed by strongly connected component decomposition that are displayed along with the warning.

[0223] <Global Path Planning Processing> Next, the global path planning processing will be described with reference to the flowchart in FIG.

[0224] In step S51, the destination designation UI 137 determines whether a destination has been designated by operating the touch panel 131. If it is determined in step S51 that a destination has been designated, the process proceeds to step S52. Note that if it is determined in step S51 that a user-defined map has not been generated or modified, the process proceeds to step S57.

[0225] In step S52 , the destination designation UI 137 acquires destination information input by operating the touch panel 131 , and supplies the information to the global path planning unit 138 .

[0226] In step S53, the global path planning unit 138 uses the route planning map to plan a route from the current position to the destination as a global path using a graph search algorithm such as the Dijkstra graph search algorithm or the A* (A-star) graph search algorithm.

[0227] In step S54, the global path planning unit 138 determines whether or not a global path has been planned. If it is determined in step S54 that a global path has been planned, the process proceeds to step S55.

[0228] In step S55, the global path planning unit 138 notifies the robot 122 of the planned global path.

[0229] On the other hand, if it is determined in step S53 that there are multiple groups of nodes made up of strongly connected components and that the current position, which is the departure point, and the destination belong to different groups, the process proceeds to step S56.

[0230] In step S56, the global path planning unit 138 applies strongly connected component decomposition to the nodes of the route planning map to identify the groups of strongly connected components to which the current position (which is the departure point) and the destination belong, and notifies the destination specification UI 137 of information about the nodes and edges that separate the identified groups, as well as information indicating that a global path cannot be planned. In response to this, the destination specification UI 137 displays on the touch panel 131 a warning indicating that a global path cannot be planned, along with information about the nodes and edges that separate the groups of strongly connected components to which the current position and the destination belong.

[0231] That is, in this case, the user can recognize that the current user-defined map (route planning map) cannot be used to plan a global path to the destination, so if necessary, the user may execute the above-described route planning map generation process to edit the user-defined map and update the route planning map.

[0232] In step S57, the destination designation UI 137 determines whether or not the robot 122 has notified it that a local path cannot be planned.

[0233] If it is determined in step S57 that the robot 122 has notified it that it has been unable to plan a local path based on the supplied global path and is in a stopped state, the process proceeds to step S58.

[0234] In step S58, the destination designation UI 137 controls the touch panel 131 to indicate that the robot 122 is unable to plan a local path based on the supplied global path and is in a stopped state, and also indicates the current position of the robot 122 on the global path.

[0235] In other words, in this case, there may be a temporary obstacle on the route along which the robot 122 should move on the global path, causing a discrepancy between the route that includes restrictions on the movement of the robot 122 on the route planning map that corresponds to the user-defined map and the route in the actual robot movement space.

[0236] Therefore, if necessary, the user may execute the above-mentioned route planning map generation process, change the user-defined map so that the current position of the robot 122 on the global path is in an impassable state, reverse onto the new route planning map, and then execute the global path planning process again.

[0237] By performing such processing, it becomes possible to re-plan a global path that corresponds to the actual route, and it becomes possible to reduce the possibility that a local path cannot be planned and a stoppage occurs.

[0238] In step S59, it is determined whether or not an instruction to end the process has been given. If an instruction to end the process has not been given, the process returns to step S51, and the subsequent steps are repeated.

[0239] Then, in step S59, when an instruction to end the process is given, the process ends.

[0240] The above processing makes it possible to appropriately plan a global path and to appropriately move the robot 122 to the destination. Furthermore, even if a global path cannot be planned, the user is warned by being presented with the location on the route planning map that is causing the global path to be unable to be planned, so the user can quickly correct the user-defined map based on the warning.

[0241] <Movement Processing> Next, the movement processing based on the global path by the robot 122 will be described with reference to the flowchart of FIG.

[0242] In step S71, the local path planning unit 142 determines whether or not a global path has been notified by the robot control device 121. If it is determined in step S71 that a global path has been supplied, the process proceeds to step S72. If it is determined in step S71 that a global path has not been supplied, the process proceeds to step S79.

[0243] In step S72, the local path planning unit 142 acquires the global path from the robot control device 121.

[0244] In step S73, the local path planning unit 142 controls the sensor 141 to sense and acquire the surrounding conditions of the current position. The surrounding conditions of the current position include, for example, whether or not there are any obstacles in the vicinity that may hinder the movement of the robot 122.

[0245] In step S74, the local path planning unit 142 plans a local path for moving a predetermined distance from the current position based on the current position on the global path, the surrounding conditions at the current position, and the global path.

[0246] In step S75, the local path planning unit 142 determines whether or not the local path has been planned.

[0247] If it is determined in step S75 that the local path has been planned, the process proceeds to step S76.

[0248] In step S76, the local path planning unit 142 supplies the planned local path to the control unit 143. The control unit 143 supplies a control value for moving the robot 122 along the planned local path to the actuator 144, and drives the actuator 144 to move the robot 122 along the planned local path.

[0249] On the other hand, if it is determined in step S75 that a local path could not be planned, the process proceeds to step S77.

[0250] In step S77, the local path planning unit 142 stops supplying the local path to the control unit 143. As a result, the control unit 143 cannot move the robot 122 due to the absence of a local path, so it controls the control value to be supplied to stop the operation of the actuator 144 and stop the movement of the robot 122.

[0251] In step S78, the local path planning unit 142 issues a warning to the robot control device 121, indicating that a discrepancy exists between the surrounding situation at the current location and the information on the global path, and that a local path cannot be planned. At this time, the local path planning unit 142 also transmits information on the current location on the global path to the robot control device 121.

[0252] In step S79, it is determined whether or not an instruction to end the process has been given, and if an instruction to end the process has not been given, the process proceeds to step S80.

[0253] In step S80, the local path planning unit 142 determines whether the destination has been reached, and if not, the process returns to step S73. That is, steps S73 to S76, S79, and S80 are repeated until the destination is reached, and the process of planning a local path and moving so as to approach the destination by a predetermined distance based on the global path is repeated. Then, if it is determined in step S80 that the destination has been reached, the process returns to step S71, and the subsequent processes are repeated. Then, when an instruction to end the process is issued in step S79, the process ends.

[0254] When the global path is supplied by the above process, the robot 122 can gradually move toward the destination by repeating the process of planning and moving along a local path at a predetermined distance from the current position. Furthermore, if there is a discrepancy between the global path and the surrounding situation obtained from the sensing results of the sensor 141 and it is not possible to plan a local path, the robot stops moving and issues a warning to that effect to the robot control device 121.

[0255] This notification allows the user of the robot control device 121 to recognize that an appropriate global path cannot be planned using the current route planning map. Therefore, for example, the user may use the map editing UI 132 to edit edges or nodes on the user-defined map corresponding to the stopped position on the global path, thereby changing the location to be impassable. Following this change to the user-defined map, the route planning map is updated, and the updated route planning map is verified by the map verification unit 136 and then supplied to the global path planning unit 138. The global path planning unit 138 may then plan a new global path to travel to the destination, avoiding the position where a local path cannot be planned and the robot 122 cannot move, and notify the robot 122 of the plan.

[0256] Furthermore, when a warning is issued to the effect that a local path cannot be planned, the map editing UI 132 may update the user-defined map without user intervention based on the location information on the global path supplied along with the warning, and a new route planning map may be updated based on the updated user-defined map, and the global path planning unit 138 may plan a global path based on the updated route planning map. At this time, the map verification unit 136 may also verify whether the updated route planning map is an appropriate map for route planning, and the map editing UI 132 may repeatedly change the user-defined map without user intervention until it is verified as an appropriate map.

[0257] As described above, according to the present disclosure, it is possible to plan an appropriate route to a destination taking into consideration restrictions on passage on the robot's movement route.

[0258] <<3. Example of Execution by Software>> The above-described series of processes can be executed by hardware, but can also be executed by software. When the series of processes is executed by software, the program constituting the software is installed from a recording medium into a computer incorporated in dedicated hardware, or into, for example, a general-purpose computer that can execute various functions by installing various programs.

[0259] 27 shows an example of the configuration of a general-purpose computer. This computer has a built-in CPU (Central Processing Unit) 1001. An input / output interface 1005 is connected to the CPU 1001 via a bus 1004. A ROM (Read Only Memory) 1002 and a RAM (Random Access Memory) 1003 are connected to the bus 1004.

[0260] The input / output interface 1005 is connected to an input unit 1006 including input devices such as a keyboard and a mouse through which a user inputs operation commands, an output unit 1007 that outputs a processing operation screen and images of processing results to a display device, a storage unit 1008 including a hard disk drive or the like that stores programs and various data, and a communication unit 1009 including a LAN (Local Area Network) adapter or the like that executes communication processing via a network typified by the Internet. Also connected is a drive 1010 that reads and writes data from / to a removable storage medium 1011 such as a magnetic disk (including a flexible disk), an optical disk (including a CD-ROM (Compact Disc-Read Only Memory) and a DVD (Digital Versatile Disc)), a magneto-optical disk (including an MD (Mini Disc)), or a semiconductor memory.

[0261] The CPU 1001 executes various processes in accordance with a program stored in a ROM 1002 or a program read from a removable storage medium 1011 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, installed in a storage unit 1008, and loaded from the storage unit 1008 into a RAM 1003. The RAM 1003 also stores data necessary for the CPU 1001 to execute various processes as appropriate.

[0262] In a computer configured as described above, the CPU 1001 performs the above-described series of processes by, for example, loading a program stored in the memory unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004 and executing it.

[0263] The program executed by the computer (CPU 1001) can be provided by being recorded on a removable storage medium 1011 such as a package medium, for example. The program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.

[0264] In a computer, a program can be installed in the storage unit 1008 via the input / output interface 1005 by inserting a removable storage medium 1011 into the drive 1010. The program can also be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the storage unit 1008. Alternatively, the program can be installed in advance in the ROM 1002 or the storage unit 1008.

[0265] The program executed by the computer may be a program that processes in chronological order according to the order described in this specification, or may be a program that processes in parallel or at the required timing, such as when called.

[0266] 27 realizes the functions of the map editing UI 132, route planning map generation unit 134, map verification unit 136, destination designation UI 137, global path planning unit 138, local path planning unit 142, and control unit 143 shown in FIG.

[0267] In this specification, a system refers to a collection of multiple components (devices, modules (components), etc.), regardless of whether all of the components are contained in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device with multiple modules housed in a single housing, are both systems.

[0268] Furthermore, the embodiments of the present disclosure are not limited to the above-described embodiments, and various modifications are possible within the scope of the gist of the present disclosure.

[0269] For example, the present disclosure can be configured as a cloud computing system in which a single function is shared and processed collaboratively by multiple devices via a network.

[0270] Furthermore, each step described in the above flowchart can be executed by one device, or can be shared and executed by a plurality of devices.

[0271] Furthermore, when one step includes multiple processes, the multiple processes included in that one step can be executed by one device or can be shared and executed by multiple devices.

[0272] The present disclosure may also be configured as follows: <1> An information processing method including: a graph data generation process for generating, from first graph data consisting of a plurality of position nodes representing positions and edges connecting the position nodes and representing a movement path of the moving object, position and posture nodes for each of the position nodes for each posture the moving object can take, and generating second graph data different from the first graph data by connecting the position and posture nodes with the edges; and a global path planning process for planning, as a global path, a path for the moving object to a destination using the second graph data. <2> The information processing method described in <1>, further including another graph data generation process different from the graph data generation process for generating the first graph data based on the position nodes and the edges input by a user. <3> The information processing method described in <2>, wherein, when the other graph data generation process generates the first graph data, the graph data generation process generates the second graph data from the generated first graph data. <4> The information processing method according to <1>, wherein the graph data generation process, when generating the second graph data, further includes a verification process of verifying whether the second graph data is appropriate for planning the global path. <5> The information processing method according to <4>, wherein the verification process verifies whether the second graph data is appropriate for planning the global path by decomposing the position and attitude nodes constituting the second graph data into strongly connected components. <6> The information processing method according to <5>, wherein the verification process verifies that the second graph data is appropriate for planning the global path when the result of the strongly connected component decomposition is one group of strongly connected components. <7> The information processing method according to <5>, wherein the verification process warns that the second graph data is inappropriate for planning the global path when the result of the strongly connected component decomposition is a group of multiple strongly connected components.<8> The information processing method according to <7>, wherein, when the result of the strongly connected component decomposition results in a group of multiple strongly connected components, the verification process presents the edges at the boundaries of different groups of strongly connected components to warn that the second graph data is inappropriate for planning the global path. <9> The information processing method according to <1>, further comprising a destination designation process that accepts input of the destination designated by a user and uses the input in the global path planning process, wherein, when the global path planning process cannot plan a route for the mobile object to the destination using the second graph data as the global path, the destination designation process presents a warning indicating that the global path cannot be planned. <10> The information processing method according to <9>, wherein, when a route to the destination by the mobile object cannot be planned as the global path using the second graph data, the global path planning process decomposes the second graph data into strongly connected components and identifies a boundary edge between a group of strongly connected components to which the position and attitude node serving as the destination belongs and a group of strongly connected components to which the position and attitude node serving as the departure point belongs, and the destination specification process presents a warning indicating that the global path cannot be planned, together with the boundary edge between the group of strongly connected components to which the position and attitude node serving as the destination belongs and the group of strongly connected components to which the position and attitude node serving as the departure point belongs. <11> The information processing method according to <1>, wherein the global path planning process plans a route to the destination by the mobile object as the global path by a graph search algorithm using the second graph data. <12> The information processing method according to <1>, wherein the global path planned in the global path planning process as a route for the mobile object to the destination is supplied to the mobile object, and the mobile object moves to the destination based on the global path. <13> The information processing method according to <12>, wherein the mobile object plans a local path based on the global path, and moves to the destination based on the local path.<14> The information processing method according to <13>, wherein the mobile body includes a sensor that detects surrounding objects, plans the local path based on the detection result of the surrounding objects by the sensor and the global path, and moves to the destination based on the local path. <15> An information processing device including: a graph data generation unit that generates, from first graph data consisting of a plurality of position nodes that represent positions and edges that connect the position nodes and represent a movement path of the mobile body, position and posture nodes for each posture that the mobile body can take, and generates second graph data that is different from the first graph data by connecting the position and posture nodes with the edges; and a global path planning unit that uses the second graph data to plan a route for the mobile body to the destination as a global path. <16> A program that causes a computer to function as: a graph data generation unit that generates, from first graph data consisting of a plurality of position nodes that represent positions and edges that connect the position nodes and represent movement routes of the mobile object, a position and attitude node for each of the position nodes for each of the attitudes that the mobile object can take, and generates second graph data that is different from the first graph data by connecting the position and attitude nodes with the edges; and a global path planning unit that uses the second graph data to plan a route for the mobile object to a destination as a global path.

[0273] REFERENCE SIGNS LIST 101 Robot control system, 121 Robot control device, 122 Robot, 131 Touch panel, 132 Map editing UI, 133 User-defined map storage unit, 134 Route planning map generation unit, 135 Route planning map storage unit, 136 Map verification unit, 137 Destination specification UI, 138 Global path planning unit, 141 Sensor, 142 Local path planning unit, 143 Control unit, 144 Actuator

Claims

1. An information processing method comprising: a graph data generation process for generating, from first graph data consisting of a plurality of position nodes representing positions and edges connecting the position nodes and representing a movement path of the moving body, a position and attitude node for each attitude that the moving body can take for each of the position nodes, and generating second graph data different from the first graph data by connecting the position and attitude nodes with the edges; and a global path planning process for planning a route for the moving body to a destination as a global path using the second graph data.

2. The information processing method according to claim 1, further comprising another graph data generation process different from the graph data generation process that generates the first graph data based on the position node and the edges input by a user.

3. The information processing method according to claim 2, wherein when the other graph data generation process generates the first graph data, the graph data generation process generates the second graph data from the generated first graph data.

4. The information processing method according to claim 1, further comprising a verification process for verifying whether or not the second graph data is suitable for planning the global path when the graph data generation process generates the second graph data.

5. The information processing method according to claim 4, wherein the verification process verifies whether or not the second graph data is appropriate for planning the global path by decomposing the position and posture nodes constituting the second graph data into strongly connected components.

6. The information processing method according to claim 5, wherein the verification process verifies that the second graph data is suitable for planning the global path when the result of the strongly connected component decomposition is a group of one strongly connected component.

7. The information processing method according to claim 5, wherein the verification process warns that the second graph data is unsuitable for planning the global path when the result of the strongly connected component decomposition is a group of multiple strongly connected components.

8. The information processing method according to claim 7, wherein the verification process, when the result of the strongly connected component decomposition results in a group of multiple strongly connected components, presents the edges at the boundaries of different strongly connected component groups to warn that the second graph data is unsuitable for planning the global path.

9. The information processing method of claim 1, further comprising a destination designation process that accepts input of the destination specified by a user and uses the destination in the global path planning process, and when the global path planning process is unable to plan a route for the moving body to the destination as the global path using the second graph data, the destination designation process presents a warning indicating that the global path cannot be planned.

10. The information processing method of claim 9, wherein, when a route for the moving body to the destination cannot be planned as the global path using the second graph data, the global path planning process decomposes the second graph data into strongly connected components and identifies a boundary edge between a group of strongly connected components to which the position and attitude node serving as the destination belongs and a group of strongly connected components to which the position and attitude node serving as the starting point belongs, and the destination designation process presents a warning indicating that the global path cannot be planned, together with the boundary edge between the group of strongly connected components to which the position and attitude node serving as the destination belongs and the group of strongly connected components to which the position and attitude node serving as the starting point belongs.

11. The information processing method according to claim 1, wherein the global path planning process plans a route for the mobile body to the destination as the global path by a graph search algorithm using the second graph data.

12. The information processing method according to claim 1, wherein the global path planned in the global path planning process as a route for the moving body to the destination is supplied to the moving body, and the moving body travels to the destination based on the global path.

13. The information processing method according to claim 12, wherein the mobile entity plans a local path based on the global path, and travels to the destination based on the local path.

14. The information processing method according to claim 13, wherein the mobile body includes a sensor that detects surrounding objects, plans the local path based on the detection results of the surrounding objects by the sensor and the global path, and moves to the destination based on the local path.

15. An information processing device including: a graph data generation unit that generates, from first graph data consisting of a plurality of position nodes representing positions and edges connecting the position nodes and representing a movement path of the moving body, a position and posture node for each posture that the moving body can take for each of the position nodes, and generates second graph data different from the first graph data by connecting the position and posture nodes with the edges; and a global path planning unit that uses the second graph data to plan a route for the moving body to a destination as a global path.

16. A program that causes a computer to function as a graph data generation unit that generates, from first graph data consisting of multiple position nodes representing positions and edges connecting the position nodes and representing the movement path of a mobile object, a position and attitude node for each of the position nodes for each of the attitudes that the mobile object can take, and generates second graph data different from the first graph data by connecting the position and attitude nodes with the edges; and a global path planning unit that uses the second graph data to plan a route for the mobile object to a destination as a global path.

Citation Information

Patent Citations

  • Design support system, design support method, and program

    JP2020009405A

  • Area evaluation system, method, and program

    WO2019004081A1

  • Mobile body system, picking system, and route determination method

    WO2022113992A1