WO2022124004A1 - 経路計画装置 - Google Patents

経路計画装置 Download PDF

Info

Publication number
WO2022124004A1
WO2022124004A1 PCT/JP2021/041712 JP2021041712W WO2022124004A1 WO 2022124004 A1 WO2022124004 A1 WO 2022124004A1 JP 2021041712 W JP2021041712 W JP 2021041712W WO 2022124004 A1 WO2022124004 A1 WO 2022124004A1
Authority
WO
WIPO (PCT)
Prior art keywords
goal
route
robot
behavior
route planning
Prior art date
Application number
PCT/JP2021/041712
Other languages
English (en)
French (fr)
Inventor
大輔 福永
典史 吉川
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to JP2022568130A priority Critical patent/JPWO2022124004A1/ja
Priority to US18/253,925 priority patent/US20240004401A1/en
Publication of WO2022124004A1 publication Critical patent/WO2022124004A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/693Coordinated control of the position or course of two or more vehicles for avoiding collisions between vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/698Control allocation
    • G05D1/6987Control allocation by centralised control off-board any of the vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/20Specific applications of the controlled vehicles for transportation
    • G05D2105/28Specific applications of the controlled vehicles for transportation of freight
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/70Industrial sites, e.g. warehouses or factories
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles

Definitions

  • the present disclosure relates to a route planning device that plans a movement route of a plurality of moving objects.
  • Non-Patent Documents 1 and 2 There is a technique for planning the route of a plurality of moving objects (robots, etc.) (see Non-Patent Documents 1 and 2). Generally, in the technique of route planning of a plurality of moving objects, it is premised that goals are assigned to all robots.
  • the route planning apparatus is in an environment subject to route planning, including at least one first moving body having a goal and at least one second moving body having no goal.
  • the first moving object is the goal for all of the plurality of moving objects based on the input unit that accepts the input of the information used for the route planning and the information input to the input unit. It has a planning department that plans the behavior until the time when it is finished.
  • information about all of a plurality of moving bodies including at least one first moving body having a goal and at least one second moving body having no goal. Based on, for all of the plurality of moving bodies, the behavior until the time when the first moving body reaches the goal is planned.
  • Route planning is one of the important functions of autonomously moving robots. Route planning is to calculate the route that a robot should take to reach the goal point using a map of the surrounding environment. Also, calculating the routes of multiple robots at the same time is called multiple robot route planning. In the case of multi-robot route planning, it is necessary to search for a route that does not compete with other robots, so that the calculation becomes much more complicated than the route planning of a single robot. Conflict means that a robot cannot reach the goal due to a collision between multiple robots or a deadlock.
  • CBS Conflict-Based Search
  • the optimal solution is generally the path that minimizes the total time it takes for the robot to reach the goal.
  • FIG. 1 shows an outline of the CBS algorithm as an example of the route planning method according to the comparative example.
  • CBS is an algorithm that starts from the shortest path of each robot (without considering the existence of other robots), solves conflicts between multiple robots one by one, and finally finds the optimum solution without conflicts. .. In CBS, this is achieved by expanding a binary tree called a constraint tree and searching for a solution.
  • An example is a graph consisting of the vertices S 1 , S 2 , A 1 , A 2 , ..., Am , B 1 , B 2 , ..., B m , C, G 1 , G 2 illustrated in FIG. 1 (i). Think about it.
  • the vertices S 1 and S 2 are the start points of the robots 1 and 2, respectively, and the vertices G 1 and G 2 are the goal points of the robots 1 and 2, respectively.
  • each node in the constraint tree has (1) a set of constraints (constraint) (constraint in FIG. 1 (ii)), (2) a set of paths for each robot (solution in FIG. 1 (ii)), and (3) total cost. (Cost of FIG. 1 (ii)).
  • the route of robot 1 is S 1 ⁇ A 1 ⁇ C ⁇ G 1
  • the route of robot 2 is S 2 ⁇ B 1 ⁇ C ⁇ G 2 .
  • a child node with a constraint that the vertex C is not reached in the second step is generated.
  • two child nodes can be created by the constraint on the robot 1 and the constraint on the robot 2.
  • Constraints are represented by (1) the robot of interest, (2) unreachable vertices, and (3) the number of steps.
  • the constraint shown in the lower left of FIG. 1 (ii): ⁇ (1, C, 2) ⁇ is a constraint that the robot 1 must not reach the vertex C in the second step.
  • the flow of the CBS algorithm can be summarized as follows. 1. 1. Find the shortest path for each robot. 2. 2. Detects conflicts between multiple robots. 3. 3. Create a child node with constraints that do not conflict. 4. Calculate the route of each robot that satisfies the constraint and find the cost. 5. For the node with the lowest cost 2. ⁇ 4. repeat. 6. Exit when a node with no conflict appears.
  • the search for the constraint tree is called High-level search.
  • the path search of each robot based on the restrictions of is called Low-level search.
  • Low-level search the shortest path is searched for each robot by the A * algorithm.
  • the route that does not satisfy the constraint is excluded from the solution candidates.
  • Low-level search we are only aware of restrictions and do not consider the paths of other robots at all.
  • FIG. 2 schematically shows the first example of the problem of the route planning method according to the comparative example and the improvement example thereof.
  • FIG. 3 schematically shows a second example of the problem of the route planning method according to the comparative example and the improvement example thereof.
  • FIGS. 2 and 3 it is assumed that the robots 1 and 2 can move any of the vertices A1, A2, A3, and A4.
  • the left side shows the method of route planning according to the comparative example, and the right side shows an improvement example adopting the technique of the present disclosure described later.
  • FIG. 2 shows a situation in which the robot 1 exists at the apex A1 at the start time, the robot 2 exists at the apex A2, the goal point G1 of the robot 1 is the apex A3, and the robot 2 does not have a goal. ..
  • the robot 1 cannot reach the goal point G1 due to the existence of the robot 2 having no goal.
  • the robot 2 having no goal moves to the apex A4 as shown in the improvement example on the right side of FIG. 2, the robot 1 can reach the goal point G1.
  • FIG. 3 shows a situation in which the robot 1 exists at the apex A1 at the start time, the robot 2 exists at the apex A3, and the goal points G1 and G2 of the robots 1 and 2 both have the same apex A2. show.
  • the route planning method according to the comparative example as shown on the left side of FIG. 3, if the same goal is assigned to a plurality of different robots, no solution can be found. This is because the competition at the goal point cannot be resolved.
  • the improvement example on the right side of FIG. 3 if the robot that has reached the goal first (robot 1 in the example on the right side of FIG. 3) is moved to another place after the goal, both the robots 1 and 2 will move. You can reach the goal.
  • Information on all robots existing in the environment targeted for route planning is input as information used for route planning. For example, as location information, a robot with a goal inputs only the start point (current location) and the goal point, and a robot without a goal inputs only the current location. In the route planning method according to the comparative example, only the information of the robot having a goal is input as the information used for the route planning.
  • the robot performs some predetermined task (such as loading and unloading luggage) after arriving at the goal point.
  • the goal means a state in which the goal point is reached and the predetermined task is ready to be performed.
  • the goal has been completed means a state in which the goal point has been reached and a predetermined task has been executed.
  • the technique of the present disclosure is also applicable when simply reaching the goal point means the goal without performing a predetermined task.
  • FIG. 4 schematically shows a configuration example of a route planning device according to the first embodiment of the present disclosure.
  • the route planning device includes a robot information input unit 10, a route planning unit 11, a display unit 12, a robot control unit 13, and a communication unit 14.
  • the route planning device may be composed of, for example, a computer terminal including a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • the processing performed by the route planning unit 11 and the robot control unit 13 may be executed by the CPU.
  • the route planning device plans the routes of a plurality of robots 15.
  • the plurality of robots 15 may include at least one robot R10 (R11, R12, ... R1n) having a goal and at least one robot R20 (R21, R22, ... R2m) having no goal.
  • the robot R10 having a goal and the robot R20 having no goal do not need to be predetermined, and each time a route plan is performed, the robot R10 having a goal and the robot R20 having no goal are required. And may be changed.
  • the robot R10 having a goal corresponds to a specific example of the "first moving body" in the technique of the present disclosure.
  • the robot R20 having no goal corresponds to a specific example of the "second moving body" in the technique of the present disclosure.
  • the robot information input unit 10 includes, for example, a keyboard, a pointing device, and the like, and receives input of various information from the user. Further, the robot information input unit 10 may accept input of various information from a higher-level system. For example, in the application example shown in FIG. 12 described later, input of various information may be accepted from the MCS 22.
  • the robot information input unit 10 contains information (robot information) used for route planning for all of the plurality of robots 15 existing in the environment targeted for route planning, including the robot R10 having a goal and the robot R20 having no goal. ) Is accepted.
  • the robot information input unit 10 outputs robot information about all of the plurality of robots 15 existing in the environment (regardless of the presence or absence of a goal) to the route planning unit 11.
  • the robot information includes, for example, at least one information among the current position, direction, movement start point, goal point, stop time at the start point, stop time at the goal point, and the like of each robot 15.
  • the robot information input unit 10 corresponds to a specific example of the "input unit" in the technique of the present disclosure.
  • the route planning unit 11 plans the behavior of all of the plurality of robots 15 until the time when the robot R10 having a goal has reached the goal.
  • the route planning unit 11 plans the routes of all the robots 15 by using the algorithm described in the above outline, and outputs the route plans to the robot control unit 13.
  • the route plan referred to here includes a movement plan such as movement and standby of each of the plurality of robots 15 at each time until the end time of the route plan.
  • the route planning unit 11 corresponds to a specific example of the "planning unit" in the technique of the present disclosure.
  • the route planning unit 11 plans the optimum behavior so that each of the plurality of robots 15 does not compete with each other until the time when the robot R10 having a goal has reached the goal.
  • the route planning unit 11 sets the time until the robot R10 having a goal reaches the goal point and executes a predetermined task as the time when the robot R10 having a goal finishes the goal.
  • the route planning unit 11 plans the behavior of all of the plurality of robots 15 until the time when all of the plurality of robots R10 having goals have reached the goal. In this case, the route planning unit 11 plans the optimal behavior in terms of time so that the time when all of the plurality of robots R10 having goals reach the goal is the shortest.
  • the route planning unit 11 has at least one of the plurality of robots R10 having a goal before the time when the plurality of robots R10 having a goal have reached the goal.
  • the behavior of the robot 15 having the goal after the goal is planned until the time when all of the plurality of robots R10 having the goal have reached the goal.
  • the route planning unit 11 plans the optimal behavior in terms of distance between the behavior of the robot R20 having no goal and the behavior of the robot 15 having a goal after the goal so that the moving distance is minimized. You may do it.
  • the display unit 12 is composed of, for example, a display, and displays information indicating the behavior of all of the plurality of robots planned by the route planning unit 11.
  • the display unit 12 displays, for example, a user interface (UI) screen as shown in FIGS. 8 to 11 described later.
  • UI user interface
  • the robot control unit 13 generates robot control information (advance to XX, stop, etc.) based on the route plan by the route planning unit 11, and outputs the robot control information to the communication unit 14.
  • the communication unit 14 transmits the robot control information from the robot control unit 13 to the robot 15 via a communication network such as the Internet or a LAN (Local Area Network).
  • the communication unit 14 and the robot 15 may directly communicate with each other without going through the communication network.
  • the robot 15 moves based on the robot control information from the communication unit 14.
  • FIG. 5 is a flowchart showing an example of the overall processing flow of the route planning apparatus according to the first embodiment.
  • step S10 all the robot information of the plurality of robots 15 existing in the environment to be the target of the route planning is input to the route planning unit 11 via the robot information input unit 10 (step S10).
  • the route planning unit 11 searches for the optimum route of each robot 15 as a route node and calculates the cost (step S11).
  • the route planning unit 11 selects the node having the lowest score (step S12).
  • the route planning unit 11 detects the route conflict of the plurality of robots 15 (step S13).
  • the route planning unit 11 determines whether or not there is a route conflict (step S14). When it is determined that there is no route conflict (step S14; N), the route planning unit 11 ends the process.
  • step S14 when it is determined that there is a route conflict (step S14; Y), the route planning unit 11 next creates a child node with a constraint so as not to conflict (step S15). Next, the route planning unit 11 searches for an optimum route that satisfies the constraint, calculates a score (step S16), and returns to the process of step S11. In step S16, route planning is performed for any one robot 15.
  • FIG. 6 is a flowchart showing an example of a detailed processing flow of the processing of step S16 in FIG.
  • FIG. 7 is a flowchart showing an example of the flow of the process following the process A of FIG.
  • FIGS. 6 and 7 include all the processes by the algorithm described in the above outline. Note that FIGS. 6 and 7 are flows for route planning for any one robot 15.
  • the route planning unit 11 adds the start time and the state of the robot 15 at the start point to the route candidates (step S101).
  • the state of the robot 15 is, for example, the direction and position of the robot 15.
  • the route planning unit 11 determines whether or not the stop time at the start point is designated (step S102). If it is determined that the stop time at the start point is not specified (step S102; N), the route planning unit 11 then proceeds to the process of step S104. On the other hand, when it is determined that the stop time at the start point is designated (step S102; Y), the route planning unit 11 then advances the start time by the designated time (step S103).
  • the route planning unit 11 selects the candidate having the smallest primary score among the unsearched candidates (step S104). Next, the route planning unit 11 determines whether or not the target robot 15 for route planning has already reached a goal, or whether or not the target robot 15 has a goal (step S105).
  • the route planning unit 11 When it is determined that the target robot 15 for the route plan has already reached the goal or the target robot 15 does not have the goal (step S105; Y), the route planning unit 11 then reaches the end time. It is determined whether or not the robot is used (step S112).
  • the end time referred to here is a time when all the robots R10 having a goal have reached the goal.
  • the route planning unit 11 ends the process.
  • step S112; N the route planning unit 11 next determines whether or not the robot 15 to be the target of the route plan can wait until the end time at the current position. Is determined (step S113). When it is determined that the current position can wait until the end time (step S113; Y), the route planning unit 11 ends the process. On the other hand, when it is determined that it is not possible to wait until the end time at the current position (step S113; N), the route planning unit 11 next creates a candidate to move to a neighboring vertex (those that do not satisfy the constraint). Excludes) (step S114). Next, the route planning unit 11 adds the travel distance to the secondary score among the created candidates (step S115), and returns to the process of step S104.
  • step S105 if it is determined that the target robot 15 for the route plan has not completed the goal, or the target robot 15 has a goal (step S105; N), then the route plan is performed.
  • the unit 11 determines whether or not the robot 15 that is the target of the route plan is at the goal point (step S106). When it is determined that the robot 15 to be the target of the route plan is not at the goal point (step S106; N), the route planning unit 11 next moves the robot 15 to be the target of the route plan to a nearby apex. Alternatively, the target robot 15 creates a candidate to stand by on the spot (excluding those that do not satisfy the constraint) (step S107). Next, the route planning unit 11 adds the movement time or the standby time of the robot 15 that is the target of the route plan to the primary score among the created candidates (step S108).
  • the route planning unit 11 next creates a candidate for which the goal has been completed (the original candidate remains). (Step S109). Next, the route planning unit 11 determines whether or not the stop time at the goal point of the robot 15 that is the target of the route plan is designated (step S110). If it is determined that the stop time at the goal point is not specified (step S110; N), the route planning unit 11 then proceeds to the process of step S107. On the other hand, when it is determined that the stop time at the goal point is designated (step S110; Y), the route planning unit 11 next advances the time of the goal completed candidate by the designated time (step S111). , Proceed to the process of step S107.
  • a new candidate marked as completed is created by the same route as the selected candidate while leaving the candidate selected in the process of step S104.
  • the reason for leaving the original candidate is to consider a route that passes the goal once and then returns later, as described above.
  • the "original candidate" selected in the process of the immediately preceding step S104 is moved to a neighboring vertex.
  • the candidate newly created in step S109 is selected in the subsequent steps of step S104, and processing up to the end is performed.
  • the display unit 12 (FIG. 4) displays the behavior of the robot R20 having no goal and the behavior of the robot 15 having a goal after the goal on the UI screen until each of the plurality of robots R10 having a goal has reached the goal. It may be displayed in a mode different from the behavior of.
  • the display unit 12 may linearly display information indicating the movement route of all of the plurality of robots 15 as information indicating the behavior on the UI screen.
  • the display unit 12 displays on the UI screen a line indicating the movement route of the robot R20 having no goal and a line indicating the movement route after the goal of the robot 15 having a goal, to a plurality of robots having a goal.
  • At least one of the line type, the color of the line, and the thickness of the line may be changed from the line indicating the path of movement until each of R10 has reached the goal.
  • FIG. 8 schematically shows a display example of the initial state of the UI screen of the display unit 12 of the route planning device according to the first embodiment.
  • a movable path (range of motion) 30 of a plurality of robots 15 and a stoptable point (standby point) 31 are displayed.
  • 9 to 11 schematically show first to third display examples in which the route plan planned by the route planning unit 11 is displayed on the UI screen shown in FIG.
  • FIGS. 9 to 11 show an example in which the movement paths of the robot R21 having no goal and the robots R11 and R12 having a goal are displayed.
  • the movement path of each robot may be displayed in different colors.
  • indicates the start point of movement of the robots R11 and R12 having a goal, and ⁇ indicates the goal point.
  • represents the starting point of movement of the robot R21 which does not have a goal.
  • the robot R12 having a goal also moves after the goal.
  • represents the final arrival point of the robot R21 having no goal, or the final arrival point after the goal of the robot R12 having a goal.
  • the symbols representing the start point, the goal point, and the like in the above are examples, and may be displayed in another mode.
  • the movement path of the robots R11 and R12 having a goal to the goal point is displayed by a thick solid line.
  • the movement path of the robot R21 having no goal and the movement path after the goal of the robot R12 having a goal are the movement paths to the goal points of the robots R11 and R12 having a goal. Is displayed in a different manner.
  • the line types of the movement path of the robot R21 having no goal and the movement path after the goal of the robot R12 having a goal are displayed differently.
  • a display example changed to a alternate long and short dash line is shown as an example, but another line type may be used.
  • FIG. 10 shows a display example in which the thickness of the line is changed to be thin as an example.
  • the movement path at the goal point of particular interest to the user is emphasized by a thick line, and the movement after the goal is also displayed.
  • the colors of the lines of the movement path of the robot R21 having no goal and the movement path after the goal of the robot R12 having a goal are displayed differently.
  • the above display example may be combined.
  • the display may be changed by combining at least two of the line type, the line color, and the line thickness.
  • FIG. 12 schematically shows an example of a system to which the route planning apparatus according to the first embodiment is applied.
  • FIG. 12 shows an example of a system in which the route planning device according to the first embodiment is applied to an automated guided vehicle (hereinafter referred to as AGV) 24 in a factory using an automated guided vehicle (hereinafter referred to as AGV) 24. ..
  • AGV automated guided vehicle
  • the AGV 24 is a mobile body and corresponds to the robot 15 in FIG.
  • the plurality of AGVs 24 may include at least one AGV having a goal and at least one AGV having no goal.
  • the automatic transfer system includes a production control system (MES) 21, a transfer control system (MCS) 22, an AGV control system (MCP) 23, and an AGV 24.
  • MES production control system
  • MCS transfer control system
  • MCP AGV control system
  • MES21 issues a transport instruction to MCS22 based on the manufacturing process.
  • An example of the transport instruction here is, for example, "Transfer C from device A to device B".
  • the MCS 22 decides which AGV 24 and how to transport based on the received transport instruction, and further issues a transport instruction to the MCP 23.
  • a transport instruction For example, when the AGV24A exists as one of the plurality of AGV24s, an example of the transport instruction is "The AGV24A transports C from the point A to the point B".
  • the MCP23 determines the specific movement route of the AGV24.
  • the MCP 23 includes a robot information input unit 10, a route planning unit 11, and a robot control unit 13 in the route planning device shown in FIG.
  • the information of the AGV 24 is input to the route planning unit 11 via the robot information input unit 10 to plan the route of the AGV 24.
  • the information of the AGV24 is also input to the route planning unit 11.
  • the MCP23 or MCS22 holds information (current position and current goal point) of all AGV24s existing in the environment, and they are used. Further, at this time, the route other than the AGV24A for which the transport instruction is issued may be changed.
  • the route of the AGV 24 planned by the route planning unit 11 is sent from the robot control unit 13 to the AGV 24 through the communication unit 14.
  • the movement completion notification is sent back via the communication unit 14. Based on this, the transport completion report is sent to MES21.
  • a plurality of robots 15 are based on information about all of the plurality of robots 15 including the robot R10 having a goal and the robot R20 having no goal. Since the behavior of the robot R10 having a goal up to the time when the goal is reached is planned for all of the robots 15, it is possible to plan the optimum route of the plurality of robots 15.
  • route planning is performed including the robot R20 having no goal.
  • the optimum route is calculated so as not to compete with the robot R20 having no goal and the robot R10 having a goal after the goal. This makes it possible to calculate a more optimal route (a route with a short arrival time to the goal).
  • the same goal can be specified for a plurality of robots 15.
  • the route planning device when planning the movement of the robot R10 having a goal after the goal, the route is planned with the travel distance as a cost. This eliminates unnecessary movement in the movement of the robot R20 having no goal and the movement of the robot R10 having a goal after the goal. This leads to power saving.
  • the optimum route is planned in consideration of the stop time at the start point and the goal point. This makes it possible to plan a more optimal route.
  • the movement route of the robot R10 having a goal after the goal is displayed on the UI screen. This makes it possible to visually obtain information on movement after the goal.
  • the present technology may have the following configuration.
  • the present art of the following configurations based on information about all of a plurality of mobiles, including at least one first mobile with a goal and at least one second mobile without a goal. Since the behavior of the first moving body is planned up to the time when the goal is reached for all of the plurality of moving bodies, it is possible to plan the optimum route of the plurality of moving bodies.
  • All of the plurality of mobiles existing in the environment targeted for the route plan including at least one first mover having a goal and at least one second mover having no goal, are included in the route plan.
  • An input unit that accepts input of information to be used, and
  • a route planning device including a planning unit that plans the behavior of all of the plurality of moving bodies until the time when the first moving body reaches the goal, based on the information input to the input unit.
  • the planning unit sets the time until the first moving body reaches the goal point and executes a predetermined task as the time when the first moving body reaches the goal (1) or The route planning device according to (2).
  • the planning unit plans the behavior of all of the plurality of moving bodies until the time when all of the plurality of first moving bodies have reached the goal.
  • the route planning device according to any one of (1) to (3) above.
  • the planning unit has completed the goal of at least one part of the first moving body of the plurality of first moving bodies before the time when all of the plurality of first moving bodies have reached the goal.
  • the behavior of some of the first moving bodies after the goal is planned until the time when all of the plurality of first moving bodies have reached the goal.
  • the route planning device described in. (7) The behavior of the second moving body and the behavior of a part of the first moving body after the goal are planned to be the optimum behavior in terms of distance so as to minimize the moving distance.
  • Route planning device. The behavior of the second moving body and the behavior of a part of the first moving body after the goal are displayed in a manner different from the behavior until each of the plurality of first moving bodies has reached the goal.
  • the route planning apparatus further comprising a display unit for displaying information indicating behavior of all of the plurality of moving objects planned by the planning unit.
  • the display unit linearly displays information indicating the movement route of all of the plurality of moving objects as information indicating the behavior, and also displays the information indicating the movement route of the second moving body and the one.
  • the line showing the movement route after the goal of the first moving body of the unit and the line showing the movement route until each of the plurality of first moving bodies has reached the goal are line types and lines.
  • the route planning device according to (8) above, wherein at least one of the color and the thickness of the line is changed to display.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本開示の経路計画装置は、ゴールを持つ少なくとも1つの第1の移動体とゴールを持たない少なくとも1つの第2の移動体とを含む、経路計画の対象となる環境に存在する複数の移動体の全てについて、経路計画に用いられる情報の入力を受け付ける入力部と、入力部に入力された情報に基づいて、複数の移動体の全てについて、第1の移動体がゴール済みとなる時刻までの振る舞いを計画する計画部とを備える。

Description

経路計画装置
 本開示は、複数の移動体の移動経路を計画する経路計画装置に関する。
 複数の移動体(ロボット等)の経路計画を行う技術がある(非特許文献1,2参照)。一般に、複数の移動体の経路計画を行う技術では、全てのロボットにゴールを割り当てることを前提としている。
G. Sharon, et al., "Conflict-Based Search for Optimal Multi-Agent Pathfinding," Artificial Intelligence, Vol. 219, pp. 40-66 (2015) F. Grenouilleau, et al., "A Multi-Label A* Algorithm for Multi-Agent Pathfinding," Proceedings of the Twenty-Ninth International Conference on Automated Planning and Scheduling, Vol. 29 (2019)
 実際に複数の移動体を用いたシステムを運用する場合、必ずしも全ての移動体が常にゴールを持っているとは限らない。このため、例えば、ゴールを持たない移動体が存在する場合には、最適な経路を計画することが困難となる。
 複数の移動体の最適な経路を計画することが可能な経路計画装置を提供することが望ましい。
 本開示の一実施の形態に係る経路計画装置は、ゴールを持つ少なくとも1つの第1の移動体とゴールを持たない少なくとも1つの第2の移動体とを含む、経路計画の対象となる環境に存在する複数の移動体の全てについて、経路計画に用いられる情報の入力を受け付ける入力部と、入力部に入力された情報に基づいて、複数の移動体の全てについて、第1の移動体がゴール済みとなる時刻までの振る舞いを計画する計画部とを備える。
 本開示の一実施の形態に係る経路計画装置では、ゴールを持つ少なくとも1つの第1の移動体とゴールを持たない少なくとも1つの第2の移動体とを含む複数の移動体の全てについての情報に基づいて、複数の移動体の全てについて、第1の移動体がゴール済みとなる時刻までの振る舞いを計画する。
比較例に係る経路計画の手法の概要を示す構成図である。 比較例に係る経路計画の手法の問題点とその改善例との第1の例を模式的に示す説明図である。 比較例に係る経路計画の手法の問題点とその改善例との第2の例を模式的に示す説明図である。 本開示の第1の実施の形態に係る経路計画装置の一構成例を概略的に示すブロックである。 第1の実施の形態に係る経路計画装置の全体的な処理の流れの一例を示すフローチャートである。 図5におけるステップS16の処理の詳細な処理の流れの一例を示すフローチャートである。 図6の処理Aに続く処理の流れの一例を示すフローチャートである。 第1の実施の形態に係る経路計画装置の表示部のユーザインタフェース画面の初期状態の表示例を模式的に示す説明図である。 図8に示したユーザインタフェース画面に、経路計画部によって計画された経路計画を表示した第1の表示例を模式的に示す説明図である。 図8に示したユーザインタフェース画面に、経路計画部によって計画された経路計画を表示した第2の表示例を模式的に示す説明図である。 図8に示したユーザインタフェースに、経路計画装置によって計画された経路計画を表示した第3の表示例を模式的に示す説明図である。 第1の実施の形態に係る経路計画装置を適用したシステムの一例を概略的に示すブロック図である。
 以下、本開示の実施の形態について図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
 0.比較例(図1~図3)
 1.第1の実施の形態(図4~図12)
  1.1 構成
  1.2 動作
  1.3 適用例
  1.4 効果
 2.その他の実施の形態
 
<0.比較例>
(比較例に係る経路計画の手法の概要)
 自律移動するロボットの重要な機能の一つに経路計画がある。経路計画とは、周辺環境の地図を用いて、ロボットがゴール地点までどのような経路で移動すべきかを計算することである。また、複数のロボットの経路を同時に計算することを複数ロボット経路計画という。複数ロボット経路計画の場合、他のロボットと競合しない経路を探索する必要があるため、単一ロボットの経路計画よりも計算が大幅に複雑になる。競合とは、複数のロボット同士の衝突やデッドロックなどでロボットがゴールまでたどり着けないことを表す。
 複数ロボット経路計画の手法の一つにCBS(Conflict-Based Search)がある。これは2012年にSharon, et al.によって考案された探索ベースの手法であり、複数のロボット同士が競合しない最適解を見つけることのできるものである(非特許文献1参照)。最適解とは、一般的に、ロボットがゴールにたどり着くまでの合計時間が最小となる経路のことである。
 図1は、比較例に係る経路計画の手法の一例として、CBSのアルゴリズムの概要を示している。
 CBSは各ロボットの(他のロボットの存在を考慮しない)最短経路から始めて、複数のロボット同士の競合(Conflict)を一つずつ解決しながら、最終的に競合の無い最適解を求めるアルゴリズムである。CBSでは、制約ツリー(Constraint tree)と呼ばれる二分木を展開して解を探索していくことでこれを実現する。
 図1(i)に図示された頂点S、S、A,A,…,A、B,B,…,B、C、G,Gからなるグラフを例に考える。頂点S、Sはそれぞれロボット1,2のスタート地点、G,Gはそれぞれロボット1,2のゴール地点である。
 また、ロボット1,2は各タイムステップに一つのエッジを進む。このとき、制約ツリーは図1(ii)のようになる。制約ツリーの各ノードは、(1)制約(Constraint)の組(図1(ii)の制約)、(2)各ロボットの経路の組(図1(ii)の解)、(3)合計コスト(図1(ii)のコスト)で構成される。
 まず、ルートノードは制約無しでの各ロボットの最短経路となるため、ロボット1の経路はS→A→C→G、ロボット2の経路はS→B→C→Gとなる。ここで、ロボット1とロボット2とが2ステップ目に頂点Cで競合するため、2ステップ目で頂点Cに到達しないような制約を加えた子ノードを生成する。このとき、ロボット1に対する制約とロボット2に対する制約とで2つの子ノードができる。制約は、(1)対象となるロボット、(2)到達不可な頂点、および(3)そのステップ数で表される。図1(ii)の左下に示される制約:{(1,C,2)}はロボット1が2ステップ目で頂点Cに到達してはいけないという制約になる。
 子ノードでは、制約を踏まえて各ロボットの最短経路を再計算する。例えば図1(ii)の左下に示される子ノードでは、制約により、ロボット1が頂点Aで1ステップ待つ(S→A→A→C→G)ようになっている。このようにすることで先ほどの競合を解決することができる。待機によって1ステップ増えたことにより、合計コストは親ノードに対して1増えている。この操作を繰り返し行うことで、最終的に競合の無い経路の組み合わせが見つかる。また、合計コストの最も小さいノードから展開していくことで、最初に見つかった競合の無い経路の組み合わせが最適解(=コストが最も小さい解)となる。
 CBSアルゴリズムの流れをまとめると以下のようになる。
 1.各ロボットの最短経路を求める。
 2.複数のロボット同士の競合を検出する。
 3.競合しないような制約を加えた子ノードを作る。
 4.制約を満たすような各ロボットの経路を計算し、コストを求める。
 5.最もコストの小さいノードに対して2.~4.を繰り返す。
 6.競合の無いノードが現れたら終了。
 制約ツリーの探索はHigh-level searchと呼ばれる。一方、上記4.の制約を踏まえた各ロボットの経路探索はLow-level searchと呼ばれる。Low-level searchでは、各ロボットに対してA*アルゴリズムで最短経路を探索する。このとき、制約を満たさない経路は解の候補から除外される。繰り返しになるが、Low-level searchでは制約のみを意識し、他のロボットの経路は全く考慮されない。このように制約ツリーを伸ばしていくと、最終的に全ての経路のパターンを探索することができる。つまり、解(競合しない経路の組)があれば必ず見つかる。そのため、CBSは完全性を備えた最適アルゴリズムといえる。
(課題および改善例)
 上述のCBSを始めとする従来の複数ロボット経路計画アルゴリズムは、全てのロボットにゴールを割り当てることを前提としている。しかし、実際に複数のロボットを用いた移動システムを運用する場合、必ずしも全てのロボットが常にゴールを持っているとは限らない。例えば以下の図2、図3に示すようなケースを考える。
 図2は、比較例に係る経路計画の手法の問題点とその改善例との第1の例を模式的に示している。図3は、比較例に係る経路計画の手法の問題点とその改善例との第2の例を模式的に示している。
 図2および図3において、頂点A1,A2,A3,A4のいずれかをロボット1,2が移動可能であるものとする。図2および図3において、左側には比較例に係る経路計画の手法を示し、右側には、後述する本開示の技術を採用した改善例を示す。
 まず、図2には、スタート時点においてロボット1が頂点A1に存在し、ロボット2が頂点A2に存在し、ロボット1のゴール地点G1が頂点A3であり、ロボット2はゴールを持たない状況を示す。比較例に係る経路計画の手法では、図2の左側に示すように、ゴールを持たないロボット2の存在により、ロボット1はゴール地点G1にたどり着けない。しかし、ゴールを持たないロボット2が図2の右側の改善例に示すように頂点A4に移動すればロボット1はゴール地点G1にたどり着ける。
 次に、図3には、スタート時点においてロボット1が頂点A1に存在し、ロボット2が頂点A3に存在し、ロボット1,2のゴール地点G1,G2が共に同じ頂点A2となっている状況を示す。比較例に係る経路計画の手法では、図3の左側に示すように、複数の異なるロボットに同じゴールを割り当てると解が見つからない。これは、ゴール地点での競合が解決できないためである。しかし、図3の右側の改善例に示すように、先にゴールしたロボット(図3の右側の例ではロボット1)を、ゴール後に別の場所へ移動させれば、ロボット1,2の両方がゴールすることができる。
 このように、比較例に係る経路計画の手法では、「ゴールを持たないロボットの移動」や「ゴールした後の移動」が考慮されていないため、経路が計画できないパターンが発生してしまう。これに対し、後述する本開示の技術を採用した実施形態では、「ゴールを持たないロボットの移動」や「ゴールした後の移動」を含めて最適な経路を計画することが可能となる。
 なお、別の比較例に係る技術として、Grenouilleau, et al.で提案されているアルゴリズムでは、ロボットに複数のゴールのシーケンスを与えて解を計算できるようになっている(非特許文献2参照)。しかし、このアルゴリズムでも「ゴールを持たないロボットの移動」や「ゴール後の移動」は考えられておらず、あくまでも複数のロボット間のゴールする順序を調整するだけである。そのため、後述する本開示の技術の方がより広い範囲で最適解を求められることになる。
<1.第1の実施の形態>
 以下では、移動体がロボットである場合を例に説明するが、本開示の技術はロボット以外の移動体にも適用可能である。
[1.1 構成]
(概要)
 まず、上述した比較例に係る経路計画のアルゴリズムと、第1の実施の形態に係る経路計画装置による経路計画のアルゴリズムとで異なる点について述べる。第1の実施の形態に係る経路計画装置では、比較例とは異なり、「ゴールを持たないロボットの移動」や「ゴールした後の移動」まで計画する。それを実現するために、比較例に係る経路計画のアルゴリズムに対して、以下の新規な処理を追加している。
 1.ゴールを持たないロボットを含め、経路計画の対象となる環境に存在する全てのロボットの情報を経路計画に用いる情報として入力する。例えば地点の情報として、ゴールを持つロボットはスタート地点(現在地)とゴール地点、ゴールを持たないロボットは現在地のみを入力する。なお、比較例に係る経路計画の手法では、ゴールを持つロボットの情報だけが経路計画に用いる情報として入力される。
 2.経路計画の対象となる環境に存在する全てのロボットについて、ゴールを持つ全てのロボットがゴールに着く時刻までの振る舞い(移動および待機等)を計画する。「ゴールを持たないロボット」や「早くゴールに着いたロボット」は、他のロボットがゴールするまで「その場で待機」もしくは「どこかへ移動する」計画がなされる。ゴールの有無に関係なく、全てのロボットが計画の終了時刻(=ゴールを持つ全ロボットがゴールに着く時刻)まで競合しないようにする。なお、比較例に係る経路計画の手法では、(そのロボット自身の)ゴールに着くまでの振る舞いしか計画されない。
 3.「ゴールを持たないロボットの移動」や「ゴール後の移動」は計画の最適度(ゴールに到達するまでの合計時間)に寄与しないようにする。これらの移動は通常のスコア(=ゴールに到達するまでの時間:プライマリスコア)とは別のスコア(セカンダリスコア)を使って最適経路を探索する。セカンダリスコアは移動距離とする。つまり、これらの移動は、その場で待機するのが最適解になる。ゴール地点から移動する必要がある場合のみ、最小距離を移動するような計画になる。
 4.ゴール地点で停止する停止時間を経路計画に入力する。ゴール後の移動は、指定した時間だけ停止してから動くように計画する。これは、ゴール地点で実行するタスクの所要時間を想定している。また、同様にスタート地点で停止する停止時間も経路計画に入力できるようにする。ロボットは指定した時間だけ停止してから動き始められるように計画する。これはタスクの途中のロボットがいる場合に、タスクの残り所要時間を指定する場合を想定している。
・ゴールの定義
 通常のユースケースでは、ロボットはゴール地点に着いてから何かしらの所定のタスク(荷物の積み下ろし等)を行う。第1の実施の形態において、ゴールとは、ゴール地点に着き、かつ、所定のタスクを行う準備ができた状態を意味する。また、ゴール済みとは、ゴール地点に着き、かつ、所定のタスクを実行済みの状態を意味する。つまり、ゴール地点に着いたからといって必ずしもゴールしてゴール済みとなるわけではなく、一度ゴール地点を通過してから、再びゴール地点に戻ってきて、そこで所定のタスクを実行する可能性もあり、そのような事象も経路計画として考慮していることを意味する。ただし、本開示の技術は、所定のタスクを行わずに、単にゴール地点に到達することがゴールを意味する場合にも適用可能である。
(構成例)
 図4は、本開示の第1の実施の形態に係る経路計画装置の一構成例を概略的に示している。
 第1の実施の形態に係る経路計画装置は、ロボット情報入力部10と、経路計画部11と、表示部12と、ロボット制御部13と、通信部14とを備えている。
 第1の実施の形態に係る経路計画装置は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAMを備えたコンピュータ端末で構成されてもよい。この場合、経路計画部11およびロボット制御部13が行う処理は、CPUが実行してもよい。
 第1の実施の形態に係る経路計画装置は、複数のロボット15の経路を計画する。複数のロボット15は、ゴールを持つ少なくとも1つのロボットR10(R11,R12,…R1n)とゴールを持たない少なくとも1つのロボットR20(R21,R22,…R2m)とを含んでもよい。なお、複数のロボット15のうちゴールを持つロボットR10とゴールを持たないロボットR20は、あらかじめ決められている必要は無く、経路計画を行うたびに、ゴールを持つロボットR10とゴールを持たないロボットR20とが、変更されてもよい。
 ゴールを持つロボットR10は、本開示の技術における「第1の移動体」の一具体例に相当する。ゴールを持たないロボットR20は、本開示の技術における「第2の移動体」の一具体例に相当する。
 ロボット情報入力部10は、例えばキーボードやポインティングデバイス等を含み、ユーザからの各種情報の入力を受け付ける。また、ロボット情報入力部10は、上位のシステムから各種情報の入力を受け付けるようにしてもよい。例えば、後述する図12に示す適用例において、MCS22から各種情報の入力を受け付けるようにしてもよい。ロボット情報入力部10は、ゴールを持つロボットR10とゴールを持たないロボットR20とを含む、経路計画の対象となる環境に存在する複数のロボット15の全てについて、経路計画に用いられる情報(ロボット情報)の入力を受け付ける。ロボット情報入力部10は、経路計画部11に(ゴールの有無に関わらず)環境に存在する複数のロボット15の全てについてのロボット情報を出力する。ロボット情報には、例えば、各ロボット15の現在位置、向き、移動のスタート地点、ゴール地点、スタート地点での停止時間、およびゴール地点での停止時間等のうち、少なくとも1つの情報が含まれる。
 ロボット情報入力部10は、本開示の技術における「入力部」の一具体例に相当する。
 経路計画部11は、ロボット情報入力部10に入力されたロボット情報に基づいて、複数のロボット15の全てについて、ゴールを持つロボットR10がゴール済みとなる時刻までの振る舞いを計画する。経路計画部11は、上述の概要で説明したアルゴリズムを用いて、全てのロボット15の経路計画を行い、その経路計画をロボット制御部13へ出力する。ここでいう経路計画には、経路計画の終了時刻までの各時刻における複数のロボット15のそれぞれの移動および待機等の移動計画が含まれる。
 経路計画部11は、本開示の技術における「計画部」の一具体例に相当する。
 経路計画部11は、ゴールを持つロボットR10がゴール済みとなる時刻まで複数のロボット15のそれぞれが互いに競合しないような最適な振る舞いを計画する。経路計画部11は、ゴールを持つロボットR10がゴール地点に到達して所定のタスクを実行するまでの時刻を、ゴールを持つロボットR10がゴール済みとなる時刻として設定する。
 経路計画部11は、ゴールを持つロボットR10が複数、存在する場合に、複数のロボット15の全てについて、ゴールを持つ複数のロボットR10の全てがゴール済みとなる時刻までの振る舞いを計画する。この場合、経路計画部11は、ゴールを持つ複数のロボットR10の全てがゴール済みとなる時刻が最短となるような、時間的に最適な振る舞いを計画する。
 また、経路計画部11は、ゴールを持つロボットR10が複数、存在する場合に、ゴールを持つ複数のロボットR10がゴール済みとなる時刻よりも前に、ゴールを持つ複数のロボットR10のうち少なくとも1つの一部のゴールを持つロボットR10がゴール済みとなった場合、ゴールを持つ複数のロボットR10の全てがゴール済みとなる時刻になるまで、ゴール済みのロボット15のゴール後の振る舞いを計画する。この場合、経路計画部11は、ゴールを持たないロボットR20の振る舞いとゴール済みのロボット15のゴール後の振る舞いとについて、移動距離が最小となるような、距離的に最適な振る舞いを計画するようにしてもよい。
 表示部12は、例えばディスプレイによって構成され、経路計画部11によって計画された複数のロボットの全てについての振る舞いを示す情報を表示する。表示部12は、例えば、後述する図8~図11に示すようなユーザインタフェース(UI)画面を表示する。
 ロボット制御部13は、経路計画部11による経路計画に基づいて、ロボット制御情報(○○へ進め、止まれ等)を生成し、そのロボット制御情報を通信部14へ出力する。
 通信部14は、ロボット制御部13からのロボット制御情報を例えばインターネットやLAN(Local Area Network)などの通信網を介してロボット15へ送信する。なお、通信網を介さず、通信部14とロボット15とが直接通信するようにしてもよい。
 ロボット15は、通信部14からのロボット制御情報に基づいて移動する。
[1.2 動作]
 図5は、第1の実施の形態に係る経路計画装置の全体的な処理の流れの一例を示すフローチャートである。
 第1の実施の形態に係る経路計画装置では、上述の比較例に係る経路計画の手法であるCBSアルゴリズムをベースに、上述の概要で説明したアルゴリズムによる拡張した処理を加えている。まず、図5を参照して、処理の大枠の流れを説明する。図5に示した処理のうち、ステップS10の処理とステップS16の具体的な処理の内容とが、CBSアルゴリズムとは異なっている。
 まず、ロボット情報入力部10を介して経路計画部11に、経路計画の対象となる環境に存在する複数のロボット15の全てのロボット情報が入力される(ステップS10)。次に、経路計画部11は、ルートノードとして各ロボット15の最適経路を探索し、コストを計算する(ステップS11)。次に、経路計画部11は、最もスコアの小さいノードを選択する(ステップS12)。次に、経路計画部11は、複数のロボット15の経路の競合を検出する(ステップS13)。
 次に、経路計画部11は、経路の競合があるか否かを判断する(ステップS14)。経路の競合が無いと判断した場合(ステップS14;N)には、経路計画部11は、処理を終了する。
 一方、経路の競合があると判断した場合(ステップS14;Y)には、経路計画部11は、次に、競合しないような制約を加えた子ノードを作る(ステップS15)。次に、経路計画部11は、制約を満たすような最適経路を探索し、スコアを計算し(ステップS16)、ステップS11の処理に戻る。ステップS16では、任意の1つのロボット15についての経路計画が行われる。
 図6は、図5におけるステップS16の処理の詳細な処理の流れの一例を示すフローチャートである。図7は、図6の処理Aに続く処理の流れの一例を示すフローチャートである。
 図6および図7に示した処理には、上述の概要で説明したアルゴリズムによる処理の全てが含まれている。なお、図6および図7は、任意の1つのロボット15についての経路計画についてのフローである。
 まず、経路計画部11は、開始時刻、およびスタート地点におけるロボット15の状態を経路の候補に追加する(ステップS101)。ロボット15の状態とは、例えばロボット15の向きや位置等である。次に、経路計画部11は、スタート地点での停止時間が指定されているか否かを判断する(ステップS102)。スタート地点での停止時間が指定されていないと判断した場合(ステップS102;N)には、次に、経路計画部11は、ステップS104の処理に進む。一方、スタート地点での停止時間が指定されていると判断した場合(ステップS102;Y)には、経路計画部11は、次に、開始時刻を指定された時間だけ進める(ステップS103)。
 次に、経路計画部11は、未探索の候補の中で最もプライマリスコアの小さい候補を選択する(ステップS104)。次に、経路計画部11は、経路計画の対象となるロボット15がゴール済みか否か、または対象となるロボット15がゴールを持たないか否かを判断する(ステップS105)。
 経路計画の対象となるロボット15がゴール済みか、または対象となるロボット15がゴールを持たないと判断した場合(ステップS105;Y)には、経路計画部11は、次に、終了時刻に達しているか否かを判断する(ステップS112)。ここでいう終了時刻とは、ゴールを持つロボットR10の全てがゴール済みとなる時刻である。終了時刻に達していると判断した場合(ステップS112;Y)には、経路計画部11は、処理を終了する。
 一方、終了時刻に達していないと判断した場合(ステップS112;N)には、経路計画部11は、次に、経路計画の対象となるロボット15が現在地点で終了時刻まで待機可能か否かを判断する(ステップS113)。現在地点で終了時刻まで待機可能であると判断した場合(ステップS113;Y)には、経路計画部11は、処理を終了する。一方、現在地点で終了時刻まで待機可能ではないと判断した場合(ステップS113;N)には、次に、経路計画部11は、近隣の頂点に移動する候補を作る(制約を満たさないものは除く)(ステップS114)。次に、経路計画部11は、移動距離を、作られた候補の中のセカンダリスコアに加え(ステップS115)、ステップS104の処理に戻る。
 また、上述のステップS105において、経路計画の対象となるロボット15がゴール済みではない、または対象となるロボット15がゴールを持つと判断した場合(ステップS105;N)には、次に、経路計画部11は、経路計画の対象となるロボット15がゴール地点にいるか否かを判断する(ステップS106)。経路計画の対象となるロボット15がゴール地点にいないと判断した場合(ステップS106;N)には、次に、経路計画部11は、経路計画の対象となるロボット15が近隣の頂点に移動する、もしくは対象となるロボット15がその場で待機する候補を作る(制約を満たさないものは除く)(ステップS107)。次に、経路計画部11は、経路計画の対象となるロボット15の移動時間、もしくは待機時間を、作られた候補の中のプライマリスコアに加える(ステップS108)。
 一方、経路計画の対象となるロボット15がゴール地点にいると判断した場合(ステップS106;Y)には、次に、経路計画部11は、ゴール済みの候補を作る(元の候補は残す)(ステップS109)。次に、経路計画部11は、経路計画の対象となるロボット15のゴール地点での停止時間が指定されているか否かを判断する(ステップS110)。ゴール地点での停止時間が指定されていないと判断した場合(ステップS110;N)には、次に、経路計画部11は、ステップS107の処理に進む。一方、ゴール地点での停止時間が指定されていると判断した場合(ステップS110;Y)には、次に、経路計画部11は指定された時間だけゴール済み候補の時刻を進め(ステップS111)、ステップS107の処理に進む。
 なお、ステップS109におけるゴール済みの候補を作る処理では、ステップS104の処理で選んだ候補は残したまま、選んだ候補と同じ経路でゴール済みとマークした候補を新しく作る。ここで元の候補を残すのは、前述したようにゴールを一旦通過して、後から戻ってくるような経路を考慮するためである。ステップS109またはステップS111の後のステップS107の処理では、直前のステップS104の処理で選んだ”元の候補”を近隣の頂点に移動させる。ステップS109で新しく作った候補は、それ以降のステップS104の手順で選ばれ、終了までの処理が行われる。
(ユーザインタフェース)
 次に、第1の実施の形態に係る経路計画装置による経路計画のアルゴリズムの特徴を活かしたUI画面の例について述べる。上述したように、本アルゴリズムでは、ゴールを持つロボットR10のゴール後の移動まで計画される点、また、ゴールを持たないロボットR20の移動まで計画される点が大きな特徴である。そこで、単にゴール地点までの経路を示すのではなく、ゴールを持つロボットR10のゴール後の移動の経路、およびゴールを持たないロボットR20の移動の経路までも含めて表示するUI画面を考える。
 表示部12(図4)は、UI画面に、ゴールを持たないロボットR20の振る舞いとゴール済みのロボット15のゴール後の振る舞いとを、ゴールを持つ複数のロボットR10のそれぞれがゴール済みとなるまでの振る舞いとは異なる態様で表示するようにしてもよい。
 表示部12は、UI画面に、振る舞いを示す情報として複数のロボット15の全てについての移動の経路を示す情報を線状に表示するようにしてもよい。この場合、表示部12は、UI画面に、ゴールを持たないロボットR20の移動の経路を示す線とゴール済みのロボット15のゴール後の移動の経路を示す線とを、ゴールを持つ複数のロボットR10のそれぞれがゴール済みとなるまでの移動の経路を示す線とは線種、線の色、および線の太さのうち、少なくとも1つを変えた表示にするようにしてもよい。
 図8は、第1の実施の形態に係る経路計画装置の表示部12のUI画面の初期状態の表示例を模式的に示している。
 UI画面には、例えば、複数のロボット15の移動可能経路(可動域)30と、停止可能地点(待機可能地点)31とが表示されている。
 図9~図11は、図8に示したUI画面に、経路計画部11によって計画された経路計画を表示した第1ないし第3の表示例を模式的に示している。
 図9~図11には、ゴールを持たないロボットR21と、ゴールを持つロボットR11,R12との移動経路を表示した例を示す。各ロボットの移動経路は色分けして表示してもよい。○はゴールを持つロボットR11,R12の移動のスタート地点、●はゴール地点を表す。□は、ゴールを持たないロボットR21の移動のスタート地点を表す。図9~図11のそれぞれの例において、ゴールを持つロボットR12は、ゴール後にも移動する。◎は、ゴールを持たないロボットR21の最終到達地点、またはゴールを持つロボットR12のゴール後の最終到達地点を表す。なお、以上におけるスタート地点やゴール地点等を表す記号は一例であり、別の態様の表示であってもよい。
 図9~図11のそれぞれの例において、ゴールを持つロボットR11,R12のゴール地点までの移動経路は、太い実線で表示されている。図9~図11のそれぞれの例において、ゴールを持たないロボットR21の移動経路、およびゴールを持つロボットR12のゴール後の移動経路が、ゴールを持つロボットR11,R12のゴール地点までの移動経路とは異なる態様で表示されている。
 例えば図9では、ゴールを持たないロボットR21の移動経路、およびゴールを持つロボットR12のゴール後の移動経路の線種を変えて表示している。図9では一例として一点鎖線に変えた表示例を示すが、別の線種であってもよい。
 また、例えば図10では、ゴールを持たないロボットR21の移動経路、およびゴールを持つロボットR12のゴール後の移動経路の線の太さを変えて表示している。図9では一例として線の太さを細く変えた表示例を示している。これにより、ゴールを持つロボットR12について、ユーザが特に興味のあるゴール地点での移動経路が太い線で強調されつつ、ゴール後の移動も表示される形になっている。
 また、例えば図11では、ゴールを持たないロボットR21の移動経路、およびゴールを持つロボットR12のゴール後の移動経路の線の色を変えて表示している。
 なお、その他、上記した表示例を複合したものであってもよい。例えば、線種、線の色、および線の太さのうち、少なくとも2つを組み合わせて変更した表示にしてもよい。
[1.3 適用例]
 図12は、第1の実施の形態に係る経路計画装置を適用したシステムの一例を概略的に示している。
 図12には、第1の実施の形態に係る経路計画装置を無人搬送車(Automated Guided Vehicle:以下、AGVと記す。)24を用いた工場での自動搬送システムに適用したシステムの一例を示す。このシステムでは、AGV24が移動体であり、図4におけるロボット15に相当する。AGV24は、複数、存在してもよい。この場合、複数のAGV24は、ゴールを持つ少なくとも1つのAGVと、ゴールを持たない少なくとも1つのAGVとが含まれていてもよい。
 自動搬送システムは、生産管理システム(MES)21、搬送制御システム(MCS)22、AGV制御システム(MCP)23およびAGV24を備えている。
 MES21は製造工程を元に、MCS22へ搬送指示を出す。ここでの搬送指示の例は、例えば「装置Aから装置BにCを搬送せよ」である。
 MCS22は、受け取った搬送指示を元に、どのAGV24でどのように搬送するかを決め、さらにMCP23に搬送指示を出す。例えば複数のAGV24の1つとしてAGV24Aが存在する場合、搬送指示の例としては、「AGV24Aが地点Aから地点BへCを搬送せよ」である。
 MCP23は、搬送指示を受け取ると、AGV24の具体的な移動経路を決定する。MCP23は、図4に示した経路計画装置におけるロボット情報入力部10と、経路計画部11と、ロボット制御部13とが含まれている。MCP23において、経路計画部11にロボット情報入力部10を介してAGV24の情報を入力してAGV24の経路を計画する。このとき、上述の指示を出されたAGV24A以外のAGV24が存在する場合、そのAGV24の情報も経路計画部11に入力される。MCP23もしくはMCS22は、環境に存在する全てのAGV24の情報(現在位置や現在のゴール地点)を保持しており、それらが使われる。また、このとき、搬送指示を出されたAGV24A以外の経路が変更されることもある。
 経路計画部11で計画されたAGV24の経路は、通信部14を通じてロボット制御部13からAGV24へ送られる。AGV24が目的地に到達すると、移動完了通知が通信部14を経由して送り返される。これを元に、搬送完了報告がMES21まで送られる。
[1.4 効果]
 以上説明したように、第1の実施の形態に係る経路計画装置によれば、ゴールを持つロボットR10とゴールを持たないロボットR20とを含む複数のロボット15の全てについての情報に基づいて、複数のロボット15の全てについて、ゴールを持つロボットR10がゴール済みとなる時刻までの振る舞いを計画するようにしたので、複数のロボット15の最適な経路を計画することが可能となる。
 第1の実施の形態に係る経路計画装置によれば、ゴールを持たないロボットR20も含めて経路計画を行う。経路計画では、ゴールを持たないロボットR20およびゴール後のゴールを持つロボットR10とも競合しないように最適経路を計算する。これにより、より最適な経路(ゴールまでの到達時間が短い経路)を算出できる。また、複数のロボット15に同じゴールを指定することができるようになる。
 また、第1の実施の形態に係る経路計画装置によれば、ゴールを持つロボットR10のゴール後の移動を計画する際に、移動距離をコストとして経路を計画する。これにより、ゴールを持たないロボットR20の移動やゴールを持つロボットR10のゴール後の移動において、無駄な移動が無くなる。これにより、省電力に繋がる。
 また、第1の実施の形態に係る経路計画装置によれば、スタート地点およびゴール地点での停止時間を考慮して最適な経路を計画する。これにより、より最適な経路を計画できる。
 また、第1の実施の形態に係る経路計画装置によれば、ゴールを持つロボットR10のゴール後の移動の経路をUI画面に表示する。これにより、ゴール後の移動の情報を視覚的に得ることができる。
 なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。以降の他の実施の形態の効果についても同様である。
<2.その他の実施の形態>
 本開示による技術は、上記実施の形態の説明に限定されず種々の変形実施が可能である。
 例えば、本技術は以下のような構成を取ることもできる。
 以下の構成の本技術によれば、ゴールを持つ少なくとも1つの第1の移動体とゴールを持たない少なくとも1つの第2の移動体とを含む複数の移動体の全てについての情報に基づいて、複数の移動体の全てについて、第1の移動体がゴール済みとなる時刻までの振る舞いを計画するようにしたので、複数の移動体の最適な経路を計画することが可能となる。
(1)
 ゴールを持つ少なくとも1つの第1の移動体とゴールを持たない少なくとも1つの第2の移動体とを含む、経路計画の対象となる環境に存在する複数の移動体の全てについて、前記経路計画に用いられる情報の入力を受け付ける入力部と、
 前記入力部に入力された前記情報に基づいて、前記複数の移動体の全てについて、前記第1の移動体がゴール済みとなる時刻までの振る舞いを計画する計画部と
 を備える
 経路計画装置。
(2)
 前記計画部は、前記第1の移動体がゴール済みとなる時刻まで前記複数の移動体のそれぞれが互いに競合しないような最適な振る舞いを計画する
 上記(1)に記載の経路計画装置。
(3)
 前記計画部は、前記第1の移動体がゴール地点に到達して所定のタスクを実行するまでの時刻を、前記第1の移動体が前記ゴール済みとなる時刻として設定する
 上記(1)または(2)に記載の経路計画装置。
(4)
 前記計画部は、前記第1の移動体が複数、存在する場合に、前記複数の移動体の全てについて、前記複数の第1の移動体の全てがゴール済みとなる時刻までの振る舞いを計画する
 上記(1)ないし(3)のいずれか1つに記載の経路計画装置。
(5)
 前記計画部は、前記複数の第1の移動体の全てがゴール済みとなる時刻が最短となるような、時間的に最適な振る舞いを計画する
 上記(4)に記載の経路計画装置。
(6)
 前記計画部は、前記複数の第1の移動体の全てがゴール済みとなる時刻よりも前に、前記複数の第1の移動体のうち少なくとも1つの一部の第1の移動体がゴール済みとなった場合、前記複数の第1の移動体の全てがゴール済みとなる時刻になるまで、前記一部の第1の移動体のゴール後の振る舞いを計画する
 上記(4)または(5)に記載の経路計画装置。
(7)
 前記第2の移動体の振る舞いと前記一部の第1の移動体のゴール後の振る舞いとについて、移動距離が最小となるような、距離的に最適な振る舞いを計画する
 上記(6)に記載の経路計画装置。
(8)
 前記第2の移動体の振る舞いと前記一部の第1の移動体のゴール後の振る舞いとを、前記複数の第1の移動体のそれぞれがゴール済みとなるまでの振る舞いとは異なる態様で表示するように、前記計画部によって計画された前記複数の移動体の全てについての振る舞いを示す情報を表示する表示部、をさらに備える
 上記(6)または(7)に記載の経路計画装置。
(9)
 前記表示部は、前記振る舞いを示す情報として前記複数の移動体の全てについての移動の経路を示す情報を線状に表示すると共に、前記第2の移動体の移動の経路を示す線と前記一部の第1の移動体のゴール後の移動の経路を示す線とを、前記複数の第1の移動体のそれぞれがゴール済みとなるまでの移動の経路を示す線とは線種、線の色、および線の太さのうち、少なくとも1つを変えた表示にする
 上記(8)に記載の経路計画装置。
(10)
 前記経路計画に用いられる前記情報には、スタート地点およびゴール地点のうち少なくとも一方における停止時間の情報が含まれる
 上記(1)ないし(9)のいずれか1つに記載の経路計画装置。
(11)
 前記振る舞いには、前記複数の移動体の全てについての移動および待機が含まれる
 上記(1)ないし(10)のいずれか1つに記載の経路計画装置。
 本出願は、日本国特許庁において2020年12月9日に出願された日本特許出願番号第2020-204418号を基礎として優先権を主張するものであり、この出願のすべての内容を参照によって本出願に援用する。
 当業者であれば、設計上の要件や他の要因に応じて、種々の修正、コンビネーション、サブコンビネーション、および変更を想到し得るが、それらは添付の請求の範囲やその均等物の範囲に含まれるものであることが理解される。

Claims (11)

  1.  ゴールを持つ少なくとも1つの第1の移動体とゴールを持たない少なくとも1つの第2の移動体とを含む、経路計画の対象となる環境に存在する複数の移動体の全てについて、前記経路計画に用いられる情報の入力を受け付ける入力部と、
     前記入力部に入力された前記情報に基づいて、前記複数の移動体の全てについて、前記第1の移動体がゴール済みとなる時刻までの振る舞いを計画する計画部と
     を備える
     経路計画装置。
  2.  前記計画部は、前記第1の移動体がゴール済みとなる時刻まで前記複数の移動体のそれぞれが互いに競合しないような最適な振る舞いを計画する
     請求項1に記載の経路計画装置。
  3.  前記計画部は、前記第1の移動体がゴール地点に到達して所定のタスクを実行するまでの時刻を、前記第1の移動体が前記ゴール済みとなる時刻として設定する
     請求項1に記載の経路計画装置。
  4.  前記計画部は、前記第1の移動体が複数、存在する場合に、前記複数の移動体の全てについて、前記複数の第1の移動体の全てがゴール済みとなる時刻までの振る舞いを計画する
     請求項1に記載の経路計画装置。
  5.  前記計画部は、前記複数の第1の移動体の全てがゴール済みとなる時刻が最短となるような、時間的に最適な振る舞いを計画する
     請求項4に記載の経路計画装置。
  6.  前記計画部は、前記複数の第1の移動体の全てがゴール済みとなる時刻よりも前に、前記複数の第1の移動体のうち少なくとも1つの一部の第1の移動体がゴール済みとなった場合、前記複数の第1の移動体の全てがゴール済みとなる時刻になるまで、前記一部の第1の移動体のゴール後の振る舞いを計画する
     請求項4に記載の経路計画装置。
  7.  前記第2の移動体の振る舞いと前記一部の第1の移動体のゴール後の振る舞いとについて、移動距離が最小となるような、距離的に最適な振る舞いを計画する
     請求項6に記載の経路計画装置。
  8.  前記第2の移動体の振る舞いと前記一部の第1の移動体のゴール後の振る舞いとを、前記複数の第1の移動体のそれぞれがゴール済みとなるまでの振る舞いとは異なる態様で表示するように、前記計画部によって計画された前記複数の移動体の全てについての振る舞いを示す情報を表示する表示部、をさらに備える
     請求項6に記載の経路計画装置。
  9.  前記表示部は、前記振る舞いを示す情報として前記複数の移動体の全てについての移動の経路を示す情報を線状に表示すると共に、前記第2の移動体の移動の経路を示す線と前記一部の第1の移動体のゴール後の移動の経路を示す線とを、前記複数の第1の移動体のそれぞれがゴール済みとなるまでの移動の経路を示す線とは線種、線の色、および線の太さのうち、少なくとも1つを変えた表示にする
     請求項8に記載の経路計画装置。
  10.  前記経路計画に用いられる前記情報には、スタート地点およびゴール地点のうち少なくとも一方における停止時間の情報が含まれる
     請求項1に記載の経路計画装置。
  11.  前記振る舞いには、前記複数の移動体の全てについての移動および待機が含まれる
     請求項1に記載の経路計画装置。
PCT/JP2021/041712 2020-12-09 2021-11-12 経路計画装置 WO2022124004A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022568130A JPWO2022124004A1 (ja) 2020-12-09 2021-11-12
US18/253,925 US20240004401A1 (en) 2020-12-09 2021-11-12 Path planning device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020204418 2020-12-09
JP2020-204418 2020-12-09

Publications (1)

Publication Number Publication Date
WO2022124004A1 true WO2022124004A1 (ja) 2022-06-16

Family

ID=81974340

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/041712 WO2022124004A1 (ja) 2020-12-09 2021-11-12 経路計画装置

Country Status (3)

Country Link
US (1) US20240004401A1 (ja)
JP (1) JPWO2022124004A1 (ja)
WO (1) WO2022124004A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133863A (ja) * 2004-11-02 2006-05-25 Honda Motor Co Ltd ロボット制御装置
JP2019503024A (ja) * 2016-01-04 2019-01-31 浙江立▲ビアオ▼机器人有限公司Zhejiang Libiao Robots Co., Ltd. ロボット現場戻りのための方法及び装置{method and device for returning robots from site}
JP2020518890A (ja) * 2017-04-12 2020-06-25 エックス デベロップメント エルエルシー デッドロックのないマルチエージェント・ナビゲーションのための道路地図注釈付け

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133863A (ja) * 2004-11-02 2006-05-25 Honda Motor Co Ltd ロボット制御装置
JP2019503024A (ja) * 2016-01-04 2019-01-31 浙江立▲ビアオ▼机器人有限公司Zhejiang Libiao Robots Co., Ltd. ロボット現場戻りのための方法及び装置{method and device for returning robots from site}
JP2020518890A (ja) * 2017-04-12 2020-06-25 エックス デベロップメント エルエルシー デッドロックのないマルチエージェント・ナビゲーションのための道路地図注釈付け

Also Published As

Publication number Publication date
JPWO2022124004A1 (ja) 2022-06-16
US20240004401A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
Li et al. Efficient trajectory planning for multiple non-holonomic mobile robots via prioritized trajectory optimization
Draganjac et al. Decentralized control of multi-AGV systems in autonomous warehousing applications
Desaraju et al. Decentralized path planning for multi-agent teams with complex constraints
Peasgood et al. A complete and scalable strategy for coordinating multiple robots within roadmaps
Aksaray et al. Distributed multi-agent persistent surveillance under temporal logic constraints
CN107179078A (zh) 一种基于时间窗优化的agv路径规划方法
CN110530369A (zh) 基于时间窗的agv任务调度方法
JP2004280213A (ja) 分散型経路計画装置及び方法、分散型経路計画プログラム
CN115729231A (zh) 多机器人路线规划
CN116540656A (zh) 一种基于数字孪生的制造车间多agv无冲突路径调度方法
Zhang et al. Discof: Cooperative pathfinding in distributed systems with limited sensing and communication range
Fan et al. Time window based path planning of multi-AGVs in logistics center
Yamauchi et al. Path and action planning in non-uniform environments for multi-agent pickup and delivery tasks
García et al. An efficient multi-robot path planning solution using A* and coevolutionary algorithms
CN115981264A (zh) 一种考虑冲突的agv调度与数量联合优化方法
Luna et al. Network-guided multi-robot path planning in discrete representations
WO2022124004A1 (ja) 経路計画装置
CN105698796A (zh) 一种多机器人调度系统的路径搜索方法
Maoudj et al. Decentralized multi-agent path finding in warehouse environments for fleets of mobile robots with limited communication range
Gao et al. A review of graph-based multi-agent pathfinding solvers: From classical to beyond classical
Mahdavi et al. Optimal trajectory and schedule planning for autonomous guided vehicles in flexible manufacturing system
Serlin et al. Distributed sensing subject to temporal logic constraints
Kudo et al. A TSP-Based Online Algorithm for Multi-Task Multi-Agent Pickup and Delivery
Liu et al. Real time replanning based on A* for collision avoidance in multi-robot systems
CN114415690A (zh) 一种多智能体路径规划方法、导航服务器及可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21903108

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022568130

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18253925

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21903108

Country of ref document: EP

Kind code of ref document: A1