US20220019227A1 - Route planning apparatus, route planning method, and computer-readable recording medium - Google Patents
Route planning apparatus, route planning method, and computer-readable recording medium Download PDFInfo
- Publication number
- US20220019227A1 US20220019227A1 US17/295,100 US201817295100A US2022019227A1 US 20220019227 A1 US20220019227 A1 US 20220019227A1 US 201817295100 A US201817295100 A US 201817295100A US 2022019227 A1 US2022019227 A1 US 2022019227A1
- Authority
- US
- United States
- Prior art keywords
- route
- moving object
- lay
- area
- moving
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 35
- 238000005111 flow chemistry technique Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 24
- 238000003860 storage Methods 0.000 description 24
- 238000001514 detection method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0217—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control 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/0289—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control 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/0291—Fleet control
- G05D1/0297—Fleet control by controlling means in a control room
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096805—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
- G08G1/096811—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096805—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
- G08G1/096827—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed onboard
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0088—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
Definitions
- the present invention relates to a route planning apparatus and a route planning method for planning routes for moving objects, and further relates to a computer-readable recording medium that includes a program recorded thereon for realizing the apparatus and method.
- AGVs Automated Guided Vehicles
- AGVs have been introduced in various logistics facilities as well to realize work efficiency improvement, quick delivery, and the like.
- Non-patent document 1 discloses a technique for providing lay-by areas (end-points) to which a plurality of AGVs used in the above plants and the logistics facilities are moved to wait.
- the lay-by areas are provided in places where an AGV that is parked does not block the routes of other AGVs.
- Non-Patent Document 1 Hang Ma, Jiaoyang Li, T. K. Satish Kumar, Sven Koenig, “Lifelong Multi-Agent Path Finding for Online Pickup and Delivery Tasks”, (online), AAMAS, May 11, 2017, (Accessed on Jun. 1, 2018), ⁇ URL: http://www-scf.usc.edu/ ⁇ hangma/pub/aamas17_slides.pdf>
- Non-Patent Document 1 the plurality of AGVs operated in the above plants, logistics facilities, and the like may not be able to avoid a deadlock, when an accident occurs.
- a deadlock is a state where the AGVs block each other's route and cannot move.
- An example object of the invention is to provide a route planning apparatus, a route planning method, and a computer-readable recording medium that avoid a deadlock.
- a route planning apparatus includes:
- a search unit configured to, search for a first route that connects each moving object and a lay-by area, when a deadlock is detected in a route plan of one or more moving objects
- a re-planning unit configured to re-plan a second route from each moving object to a target site such that the first routes which have been respectively found for the moving objects do not collide with each other.
- a route planning method includes:
- a computer-readable recording medium includes a program recorded thereon, the program including instructions that cause a computer to carry out:
- FIG. 1 is a diagram showing an example of a route planning apparatus.
- FIG. 2 is a diagram showing an example of a system (1) including the route planning apparatus.
- FIG. 3 is a diagram showing an example of a system (2) including the route planning apparatus.
- FIG. 4 is a diagram showing an example of a system (3) including the route planning apparatus.
- FIG. 5 shows diagrams illustrating routes in a case where moving objects move according to a route plan.
- FIG. 6 shows diagrams illustrating routes in a case where the moving objects cannot move according to the route plan.
- FIG. 7 shows diagrams illustrating re-planned routes.
- FIG. 8 shows diagrams illustrating routes in a case where the moving objects cannot move according to the route plan.
- FIG. 9 is diagrams illustrating a route in a case where the moving objects cannot move according to the route plan.
- FIG. 10 is a diagram illustrating how a graph is created from a grid map.
- FIG. 11 is a diagram illustrating how the graph is created from the grid map.
- FIG. 12 is a diagram illustrating how the graph is created from the grid map.
- FIG. 13 is a diagram illustrating how the graph is created from the grid map.
- FIG. 14 is a diagram showing an example of operations of the route planning apparatus.
- FIG. 15 is a diagram showing an example of a computer that realizes the route planning apparatus.
- FIGS. 1 to 15 an example embodiment of the invention will be described with reference to FIGS. 1 to 15 .
- FIG. 1 is a diagram showing an example of a route planning apparatus.
- the route planning apparatus 1 shown in FIG. 1 is an apparatus for planning the routes of moving objects and avoiding a deadlock. Also, as shown in FIG. 1 , the route planning apparatus 1 includes a search unit 2 and a re-planning unit 3 .
- the search unit 2 searches for routes (first routes) that connect the moving objects and lay-by areas (end points).
- the re-planning unit 3 re-plans routes (second routes) from the moving objects to the target sites (goal points) such that the first routes respectively found for the moving objects do not collide with each other.
- the moving objects when a deadlock is detected, can move to the lay-by areas according to the first routes, and routes for moving from the lay-by areas to the target sites can be re-planned, and thus even when a deadlock occurs, the moving objects can avoid the deadlock and move to the target site.
- FIGS. 2, 3, and 4 are diagrams respectively showing an example of systems (1), (2), and (3) including the route planning apparatus.
- the systems in the example embodiment include the route planning apparatus 1 and a plurality of moving objects 20 .
- FIG. 2 shows a system in which the route planning apparatus 1 is provided in a moving object control apparatus 10 .
- the moving object control apparatus 10 shown in FIG. 2 includes the route planning apparatus 1 , a communication unit 11 , and an instruction unit 12 .
- the route planning apparatus 1 includes a route planning unit 4 and a detection unit 5 in addition to the search unit 2 and the re-planning unit 3 .
- the moving objects 20 each include a communication unit 21 , a sensor unit 22 , a position estimation unit 23 , a movement control unit 24 , and a movement unit 25 .
- FIG. 3 is a system in which the route planning apparatus 1 is provided in a moving object 20 .
- one of the moving objects 20 is set to the master, and the route planning apparatus 1 is provided in the moving object 20 serving as the master.
- the moving object control apparatus 10 shown in FIG. 3 includes the communication unit 11 and the instruction unit 12 .
- the moving object 20 includes the route planning apparatus 1 , the communication unit 21 , the sensor unit 22 , the position estimation unit 23 , the movement control unit 24 , and the movement unit 25 .
- the route planning apparatus 1 includes the route planning unit 4 and the detection unit 5 in addition to the search unit 2 and the re-planning unit 3 .
- FIG. 4 shows a system in which the function of the route planning apparatus 1 is distributed between the moving object control apparatus 10 and the moving objects 20 .
- the moving object control apparatus 10 shown in FIG. 4 includes the search unit 2 , the re-planning unit 3 , and the detection unit 5 of the route planning apparatus 1 , in addition to the communication unit 11 and the instruction unit 12 .
- the moving objects 20 shown in FIG. 4 each include a route planning unit 4 ′ of the route planning apparatus 1 , in addition to the communication unit 21 , the sensor unit 22 , the position estimation unit 23 , the movement control unit 24 , and the movement unit 25 .
- the route planning unit 4 ′ performs route planning for each moving object 20 .
- the search unit 2 , the re-planning unit 3 , the route planning units 4 and 4 ′, and the detection unit 5 may also be distributed between the moving object control apparatus 10 and the moving objects 20 in a configuration that is different from the systems (1), (2), and (3).
- the communication content between the communication unit 11 and the communication units 21 is changed in accordance with the configuration content of the moving object control apparatus 10 and the moving objects 20 .
- the moving object control apparatus will be described below.
- the moving object control apparatus 10 controls the moving objects 20 such that the moving objects 20 move to the respective target sites.
- the moving object control apparatus 10 is an information processing apparatus such as a server computer, for example.
- the communication unit 11 communicates with the communication units 21 of the moving objects 20 . Specifically, in the systems (1), (2), and (3), the communication unit 11 transmits, to the moving objects 20 , instruction information indicating an instruction for moving the moving objects 20 and the like. Also, in the system (1), the communication unit 11 receives, from each moving object 20 , information such as positional information indicating the position of the moving object 20 and the like. Also, in the system (3), the communication unit 11 receives, from each moving object 20 , information such as the positional information indicating the position of the moving object 20 , and route information indicating the route on which the moving object 20 moves.
- the instruction unit 12 instructs the moving objects 20 to move. Specifically, the instruction unit 12 generates instruction information indicating an instruction for moving the moving objects 20 to the respective target sites.
- the route planning apparatus 1 plans the routes for moving the moving objects 20 to the target sites and the lay-by areas.
- the route planning apparatus 1 also plans the routes for avoiding a deadlock.
- the route planning apparatus 1 generates the route information used when moving the moving objects 20 to the target sites and the lay-by areas using the positional information, map information, target site information indicating the target site which each moving object 20 is to reach, and lay-by area information indicating the lay-by area to which each moving object 20 moves and waits.
- the map information is information indicating an arrangement plan of the target facility, and the like.
- the map information includes the routes on which the moving objects 20 are to move, the target sites which the moving objects 20 are to reach, the lay-by areas to which the moving objects 20 are to move and wait, and the like in a plant, logistics facility, or the like. Also, for example, a grid map is favorably used as the map information. Further, the map information is stored in a storage unit (not shown) provided in the moving object control apparatus 10 , the moving objects 20 , or other locations.
- the moving objects 20 obtain the instruction information from the moving object control apparatus 10 and move to the respective target sites.
- the moving objects 20 are conceivably AGVs, self-driving vehicles, self-flying vehicles, self-sailing ships, robots, and the like.
- the communication unit 21 communicates with the communication unit 11 of the moving object control apparatus 10 . Specifically, in the system (1), the communication unit 21 transmits the positional information and the like to the moving object control apparatus 10 . Also, in the system (3), the communication unit 21 transmits the positional information, the route information and the like to the moving object control apparatus 10 . Also, in the systems (1), (2), and (3), the communication unit 21 receives, from the moving object control apparatus 10 , the instruction information indicating the instruction for moving the moving object 20 and the like.
- the sensor unit 22 is a sensor or the like for detecting the state of the moving object 20 , target objects (e.g., a tray, a shelf, etc.), signs assisting movement of the moving object 20 , actual obstacles on the routes, and the like.
- the sensor unit 22 includes one or more devices such as a radar, an ultrasonic sensor, an image capturing apparatus, a gyroscope, an encoder, and a GPS (Global Positioning System).
- the position estimation unit 23 estimates the self-position of the moving object 20 . Specifically, the position estimation unit 23 obtains measurement information indicating the measurement result of the sensor unit 22 , and estimates the self-position of the moving object 20 based on the obtained measurement information.
- the movement control unit 24 controls the movement unit 25 that is provided in the moving object 20 and for moving the moving object 20 . Specifically, the movement control unit 24 controls the movement unit 25 using the above route information to move the moving object 20 to the target site and the lay-by area.
- the movement unit 25 is a device for moving the moving object 20 . Specifically, if the moving object 20 is an electric vehicle, the movement unit 25 is a means such as a motor, wheels, a battery, and the like that are necessary for moving the electric vehicle.
- the route planning apparatus will be described below.
- the route planning unit 4 generates the route information for moving the moving objects 20 to the respective target sites corresponding to the moving objects 20 . Specifically, the route planning unit 4 uses the positional information, the map information, the target site information, and the lay-by area information to generate the route information used when moving the moving objects 20 to the corresponding target sites.
- the route planning unit 4 ′ generates the route information for moving the moving object 20 in which the route planning unit 4 ′ is provided to the target site corresponding to that moving object 20 . Specifically, the route planning unit 4 ′ uses the positional information, the map information, the target site information, and the lay-by area information to generate the route information used when moving the moving object 20 in which the route planning unit 4 ′ is provided to the corresponding target site.
- FIG. 5 shows diagrams illustrating the routes in the case where the moving objects move according to the route plan.
- the moving objects 20 M 1 ), (M 2 ), and (M 3 ), the target sites (G 1 ), (G 2 ), and (G 3 ), the lay-by areas (E 1 ), (E 2 ), and (E 3 ), and movement prohibited areas (hatched regions), and the routes (arrow lines) are shown in the grid ranges (hereinafter called “grids”).
- FIG. 5A shows a route R_M 1 on which the moving object 20 (M 1 ) moves toward the target site (G 1 ).
- FIG. 5B shows a route R_M 2 on which the moving object 20 (M 2 ) moves toward the target site (G 2 ).
- FIG. 5C shows a route R_M 3 on which the moving object 20 (M 3 ) moves toward the target site (G 3 ).
- the route information indicating the routes R_M 1 , R_M 2 , and R_M 3 may be represented by Expression 1, for example.
- Route R _ M 1 ⁇ ( d 3,0),( d 2,1),( c 2,2),( b 2,3),( b 1,4) ⁇
- Route R _ M 2 ⁇ ( d 2,0),( c 2,1),( b 2,2),( b 3,3),( b 4,4),( a 4,5) ⁇
- Route R _ M 3 ⁇ ( c 2,0),( b 2,1),( b 3,2),( b 4,3),( c 4,4),( c 5,5) ⁇ (Expression 1)
- the detection unit 5 uses the map information and the positional information to detect a deadlock. Specifically, if the plurality of moving objects 20 have been stationary in a predetermined region for a predetermined time period, the detection unit 5 determines that the moving objects 20 are in a deadlock.
- the search unit 2 Upon detecting that one or more moving objects 20 are in a deadlock in the route plan of the moving objects 20 , the search unit 2 searches for routes that connect the moving objects 20 and the lay-by areas using methods of (A), (B), or (C) that will be described later. Specifically, (A) the search unit 2 selects the moving object 20 located at the shortest distance from the lay-by area, and searches for a route (first route) using the selected moving object 20 and the lay-by area.
- the search unit 2 selects an unselected lay-by area that has not been selected by another moving object 20 and is located at the shortest distance from the moving object 20 , generates a route from the moving object 20 to the selected lay-by area, and searches for a route (first route) using the selected lay-by area and the moving object 20 that is located on the route and is closest to the selected lay-by area.
- the search unit 2 searches for a route (first route) for each moving object 20 using minimum cost flow processing.
- the re-planning unit 3 re-plans, for each moving object 20 , the route (second route) from the moving object 20 to the target site such that the found routes (first routes) do not collide with each other. Specifically, after detecting that all the moving objects 20 have planned the first routes, the re-planning unit 3 re-plans, for each moving object 20 , the route from the moving object 20 to the target site, and updates the previous route with the re-planned route.
- FIG. 6 shows diagrams illustrating the routes in the case where the moving objects cannot move according to the route plan.
- FIG. 6A shows that, since an obstacle (black square) is placed in the grid b 3 , the respective routes R_M 1 , R_M 2 , and R_M 3 of the moving objects 20 (M 1 ), (M 2 ), and (M 3 ) shown in FIG. 5 are blocked. That is, FIG. 6A shows the state where the moving objects 20 (M 1 ), (M 2 ), and (M 3 ) cannot obtain the routes to reach the respective target sites (G 1 ), (G 2 ), and (G 3 ), and are in a deadlock.
- the moving object 20 (M 1 ) cannot reach the target site (G 1 ). Also, if the moving object 20 (M 1 ) does not move, the moving object 20 (M 2 ) cannot reach the target site (G 2 ). Further, if the moving objects 20 (M 1 ) and (M 2 ) do not move, the moving object 20 (M 3 ) cannot reach the target site (G 3 ).
- the search unit 2 Upon detecting the deadlock, the search unit 2 selects the lay-by areas in a predetermined order, and searches for the moving object 20 located in the grid closest to the selected lay-by area.
- the search unit 2 first selects the moving object 20 (M 3 ) located in the grid closest to the lay-by area (E 1 ). Then, the search unit 2 stores a route R_E 1 (arrow line in FIG. 6B ) that connects the lay-by area (E 1 ) and the moving object 20 (M 3 ), in the storage unit.
- the search unit 2 excludes the selected moving object 20 (M 3 ), selects the moving object 20 (M 1 ) located in the grid closest to the lay-by area (E 2 ), and stores a route R_E 2 (arrow line in FIG. 6C ) that connects the lay-by area (E 2 ) and the moving object 20 (M 1 ), in the storage unit.
- the search unit 2 excludes the selected moving objects (M 3 ) and (M 1 ), selects the moving object 20 (M 2 ) located in the grid closest to the lay-by area (E 3 ), and stores a route R_E 3 (arrow line in FIG. 4D ) that connects the lay-by area (E 3 ) to the moving object 20 (M 2 ) in the storage unit.
- the search unit 2 stores the routes R_E 1 , R_E 2 , and R_E 3 as represented by Expression 2 in the storage unit.
- Route R _ E 1 ⁇ ( b 2,0),( a 2,1),( a 2,2) . . . ⁇
- Route R _ E 2 ⁇ ( d 2,0),( e 2,1),( e 3,2) . . . ⁇
- the above storage unit may be provided in the moving object control apparatus 10 or the moving objects 20 , or a place other than the moving object control apparatus 10 and the moving objects 20 .
- the order for selecting the lay-by areas is not limited to the order described above.
- the search unit 2 searches for routes such that the routes R_E 1 , R_E 2 , and R_E 3 that connect the moving objects 20 and the lay-by areas do not collide with each other.
- the re-planning unit 3 selects the moving objects 20 in a predetermined order, and re-plans the routes from the moving objects 20 to the target sites such that the routes found using the search unit 2 do not collide with each other.
- the re-planning unit 3 will be described in detail below using FIG. 7 .
- FIG. 7 shows diagrams illustrating the re-planned routes.
- the re-planning unit 3 first re-plans the route from the moving object 20 (M 1 ) to the target site (G 1 ) in the state at the time ( 0 ) shown in FIG. 6A .
- the moving object 20 (M 1 ) is moved from the grid d 2 to the lay-by area (E 2 ) according to Expression 2.
- the moving object 20 (M 2 ) is moved to the grid d 2 in order to be moved to the lay-by area (E 3 ).
- the moving object 20 (M 3 ) is moved to the lay-by area (E 1 ) according to Expression 2.
- the moving object 20 (M 1 ) is moved from the lay-by area (E 2 ) to the grid d 2 .
- the moving object 20 (M 2 ) is moved from the grid d 2 to the grid d 3 , and the moving object 20 (M 3 ) is kept in the lay-by area (E 1 ).
- the moving object 20 (M 1 ) is moved to the grids c 2 , b 2 , and b 1 at the respective times ( 3 ), ( 4 ), and ( 5 ). In other words, the moving object 20 (M 1 ) reaches the target site (G 1 ) at the time ( 5 ). In this case, the moving object 20 (M 2 ) is moved to the grids d 4 , c 4 , and b 4 at the respective times ( 3 ), ( 4 ), and ( 5 ). The moving object 20 (M 3 ) is kept in the lay-by area (E 1 ) during the times ( 3 ) to ( 4 ).
- the re-planning unit 3 moves the moving object 20 (M 1 ) to the lay-by area (E 5 ), and thereafter re-plans the route from the lay-by area (E 5 ) to the target site (G 1 ), and updates the route R_M 1 with the re-planned route.
- the re-planning unit 3 stores the route R_M 1 as represented by Expression 3 in the storage unit.
- Route R _ M 1 ⁇ ( d 2,0),( e 2,1),( b 2,2),( c 2,3),( b 1,4),( a 1,5) ⁇ (Expression 3)
- the re-planning unit 3 selects the moving object 20 (M 2 ), and re-plans the route from the moving object 20 (M 2 ) to the target site (G 2 ) according to Expression 2 from the state of the time ( 0 ) in FIG. 6A .
- the moving object 20 (M 2 ) is moved from the grid c 2 to the lay-by area (E 3 ) according to Expression 2.
- the moving object 20 (M 2 ) can be moved from the grid c 2 to the grid d 2 .
- the moving object 20 (M 2 ) is moved to the grids d 3 , d 4 , and e 4 at the respective times ( 2 ), ( 3 ), and ( 4 ). In other words, the moving object 20 (M 2 ) is moved to the lay-by area (E 3 ) to wait. Next, the moving object 20 (M 2 ) is moved to the grids d 4 , c 4 , b 4 , and a 4 in this order at the respective times ( 5 ), ( 6 ), ( 7 ), and ( 8 ) and is caused to reach the target site (G 2 ).
- the moving object 20 (M 2 ) need not necessarily be moved to the lay-by area (E 3 ) to wait. In other words, if the route of the moving object 20 (M 2 ) does not collide with the routes of the moving objects 20 (M 1 ) and (M 3 ), the moving object 20 (M 2 ) may also be directly moved to the target site (G 2 ) without being moved to the lay-by area (E 3 ).
- the re-planning unit 3 re-plans the route from the moving object 20 (M 2 ) to the target site (G 2 ), and updates the route R_M 2 with the re-planned route.
- the re-planning unit 3 stores the route R_M 2 as represented by Expression 4 in the storage unit.
- Route R _ M 2 ⁇ ( c 2,0),( d 2,1),( d 3,2),( d 4,3),( c 4,4),( b 4,5),( a 4,6) ⁇ (Expression 4)
- the re-planning unit 3 selects the moving object 20 (M 3 ), and re-plans the route from the moving object 20 (M 3 ) to the target site (G 3 ) according to Expression 2 from the state of the time ( 0 ) in FIG. 6A .
- the moving object 20 (M 3 ) is moved from the grid b 2 to the lay-by area (E 1 ) according to Expression 2.
- the moving object 20 (M 3 ) is kept in the lay-by area (E 1 ) during the times ( 2 ) to ( 4 ).
- the moving object 20 (M 3 ) is moved to the grid b 2 . Thereafter, from the time ( 6 ) to the time ( 11 ), the moving object 20 (M 3 ) is moved to the grids c 2 , d 2 , d 3 , d 4 , c 4 , and c 5 , and is caused to reach the target site (G 3 ).
- the re-planning unit 3 re-plans the route from the moving object 20 (M 3 ) to the target site (G 3 ), and updates the route R_M 3 with the re-planned route.
- the re-planning unit 3 stores the route R_M 3 as represented by Expression 5 in the storage unit.
- Route R _ M 3 ⁇ ( b 2,0),( a 2,1),( a 2,2),( a 2,3),( a 2,4),( b 2,5),( c 2,6),( d 2,7),( d 3,8),( d 4,9),( c 4,10),( c 5,11) ⁇ (Expression 5)
- FIGS. 8 and 9 show diagrams illustrating the routes in the case where the moving objects cannot move according to the route plan.
- FIG. 8A shows the state where, since an obstacle (black square) is placed in the grid b 3 , the routes of the moving objects 20 (M 1 ), (M 2 ), and (M 3 ) are blocked.
- the moving objects 20 (M 1 ), (M 2 ), and (M 3 ), the lay-by areas (E 1 ), (E 2 ), and (E 3 ), the target sites (G 1 ), (G 2 ), and (G 3 ), the movement prohibition areas (hatched areas), and the routes (arrow lines) are shown in the grids.
- FIG. 8A shows the state where, since the obstacle (black square) is placed in the grid b 3 , the routes of the moving objects 20 (M 1 ), (M 2 ), and (M 3 ) shown in FIG. 8(A) are blocked.
- FIG. 8A shows the state where the routes of the moving objects 20 (M 1 ), (M 2 ), and (M 3 ) to reach the respective target sites (G 1 ), (G 2 ), and (G 3 ) cannot be obtained, and the moving objects 20 (M 1 ), (M 2 ), and (M 3 ) are in the deadlock.
- the moving object 20 (M 1 ) cannot reach the target site (G 1 ). If the moving object 20 (M 1 ) does not move, the moving object 20 (M 2 ) cannot reach the target site (G 2 ). If the moving objects 20 (M 1 ) and (M 2 ) do not move, the moving object 20 (M 3 ) cannot reach the target site (G 3 ).
- the search unit 2 Upon detecting the deadlock, the search unit 2 selects an unselected lay-by area that has not been selected by another moving object 20 and is located at the shortest distance from the moving object 20 . Subsequently, the search unit 2 generates the route from the moving object 20 to the selected lay-by area, and searches for the route using the selected lay-by area and the moving object 20 that is located on the route and is closest to the selected lay-by area.
- the search unit 2 first selects the moving object 20 to serve as a base point.
- the moving object 20 (M 3 ) is set to the base point.
- the search unit 2 selects the lay-by area (E 1 ) located at the shortest distance from the moving object 20 (M 3 ).
- the search unit 2 generates a route R_M 3 E 1 that connects the moving object 20 (M 3 ) and the selected lay-by area (E 1 ) as represented by Expression 6.
- the search unit 2 further selects the lay-by area (E 1 ) that is closest to the moving object 20 (M 1 ). Then, as shown in FIG. 8C , the search unit 2 generates a route R_M 1 E 1 that connects the moving object 20 (M 1 ) and the lay-by area (E 1 ) and stores the generated route in the storage unit. The search unit 2 stores the route R_M 1 E 1 as represented by Expression 7 in the storage unit.
- the search unit 2 excludes the lay-by area (E 1 ), and, as shown in FIG. 9A , selects the lay-by area (E 2 ) located at the shortest distance from the moving object 20 (M 3 ). Thereafter, the search unit 2 generates a route R_M 3 E 2 that connects the moving object 20 (M 3 ) and the selected lay-by area (E 2 ) as represented by Expression 8.
- the search unit 2 excludes the moving object 20 (M 1 ), selects the moving object 20 (M 2 ) that is present on the route R_M 3 E 2 , and thereafter, further selects the lay-by area (E 2 ) that is closest to the moving object 20 (M 2 ). Then, as shown in FIG. 9B , the search unit 2 generates a route R_M 2 E 2 that connects the moving object 20 (M 2 ) and the lay-by area (E 2 ), and stores the route R_M 2 E 2 in the storage unit. The search unit 2 stores the route R_M 2 E 2 as represented by Expression 9 in the storage unit.
- the search unit 2 excludes the lay-by areas (E 1 ) and (E 2 ) and, as shown in FIG. 9C , selects the lay-by area (E 3 ) located at the shortest distance from the moving object 20 (M 3 ). Thereafter, the search unit 2 generates a route R_M 3 E 3 that connects the moving object 20 (M 3 ) and the selected lay-by area (E 3 ) as represented by Expression 10.
- the search unit 2 removes the authority of the moving object 20 (M 3 ) as the base point. Note that, if there is another moving object 20 other than the moving objects 20 (M 1 ), (M 2 ), and (M 3 ), the search unit 2 searches for the route to the lay-by area using the other moving object 20 as the base point.
- the re-planning unit 3 selects the moving objects 20 in a predetermined order, and re-plans the routes from the moving objects 20 to the target sites such that the routes found for using the search unit 2 do not collide with each other.
- the search unit 2 searches for a route, for each moving object 20 , from the moving object 20 to the selected lay-by area using the minimum cost flow processing.
- a graph T, a demand-and-supply b, a capacity u, and a cost c are input, and a flow for which the total cost that satisfies the demand-and-supply is minimized is output.
- a graph is generated from a grid map as shown in FIGS. 10 , 11 , 12 , and 13 , for example.
- FIGS. 10, 11, 12, and 13 are diagrams illustrating how a graph is generated from a grid map.
- FIG. 10A The case where a graph is generated from the grid map shown in FIG. 10A will be described below.
- the relationship between the grids in FIG. 10A can be represented by the graph shown in FIG. 10B .
- the nodes corresponding to the grids in FIG. 10B represent the positions of the grids, and the arrow lines represent the adjacent relationship of the grids.
- the intersecting edges (dotted arrow lines) shown in FIG. 11A are converted into the graph shown in FIG. 11B using time expanded graph processing.
- the graph T is generated by adding the nodes next to the lay-by areas to the graph.
- the nodes b 2 and c 2 are set to the lay-by areas, and the node (g′
- the graph T, the demand-and-supply b, the capacity u, and the cost c are input to the minimum cost flow processing, and the routes are extracted from a flow f that is output.
- the route R ⁇ (a 1 , 0 ), (a 2 , 1 ), (b 2 , 2 ) ⁇ is stored as the route information in the storage unit.
- the processing ends.
- the route shown in FIG. 13 (bold arrow lines) is generated.
- the route for which the total of the distances is shortest can be obtained when the moving object 20 moves to the lay-by area.
- the re-planning unit 3 selects the moving objects 20 in a predetermined order, and re-plans the routes from the moving objects 20 to the target sites such that the routes found for using the search unit 2 do not collide with each other.
- FIG. 14 is a diagram showing an example of the operations of the route planning apparatus.
- FIG. 2 to FIG. 13 are referenced as appropriate.
- the route planning method is implemented by operating the route planning apparatus. The description of the route planning method in the example embodiment will thus be given by describing the operations of the route planning apparatus as follows.
- the route planning unit 4 or 4 ′ generates the route information for moving the moving objects 20 to the respective target sites corresponding to the moving objects 20 (step A 1 ).
- the route planning unit 4 in step A 1 , the route planning unit 4 generates the route information for moving the moving objects 20 to the respective target sites using the positional information, the map information, the target site information, and the lay-by area information.
- the route planning unit 4 ′ in step A 1 , the route planning unit 4 ′ generates the route information for moving the moving object 20 provided with the route planning unit 4 ′ to the target site using the positional information, the map information, the target site information, and the lay-by area information.
- the detection unit 5 performs deadlock detection using the map information and the positional information (step A 2 ). Specifically, in the systems (1), (2), and (3), in step A 2 , if the plurality of moving objects 20 have been stationary in a predetermined area for a predetermined time period, the detection unit 5 determines that the moving objects 20 are in a deadlock.
- the search unit 2 searches for routes (first routes) that connect the moving objects 20 and the lay-by areas using any one of the above-described methods (A), (B), and (C) (step A 3 ).
- step A 3 the search unit 2 uses the method (A) to select the moving object 20 located at the shortest distance from a lay-by area, and searches for the route (first route) using the selected moving object 20 and the lay-by area.
- the method (A) refers to the description of “Deadlock Avoidance through the method (A)” described above.
- the search unit 2 uses the method (B) to search for an unselected lay-by area that has not been selected by another moving object 20 and is located at the shortest distance from the moving object 20 , generate a route from the moving object 20 to the selected lay-by area, and search for a route (first route) using the selected lay-by area and the moving object 20 that is located on the route and is closest to the selected lay-by area.
- the method (B) refers to the description of “Deadlock Avoidance through method (B)” described above.
- step A 3 the search unit 2 uses the method (C) to search for a route (first route), for each moving object 20 , using the minimum cost flow processing.
- the method (C) refers to the description of “Deadlock Avoidance through the method (C)” described above.
- the re-planning unit 3 re-plans the routes (second routes) from the moving objects 20 to the target sites such that the routes (first routes) of the respective moving objects 20 found for in step A 3 do not collide with each other (step A 4 ). Specifically, upon detecting that first routes have been planned for all the moving objects 20 , the re-planning unit 3 re-plans, for each moving object 20 , the route from the moving object 20 to the target site and updates the previous route with the re-planned route.
- the route can be re-planned such that each moving object moves along the first route to the lay-by area and moves from the lay-by area to the target site, and thus even if there is a deadlock, the moving objects can avoid the deadlock and move to the respective target sites.
- a program according to the example embodiment of the invention need only be a program that causes a computer to execute steps A 1 to A 4 shown in FIG. 14 .
- the route planning apparatus and the route planning method according to the example embodiment can be realized by this program being installed in the computer and executed.
- a processor of the computer on the moving object control apparatus 10 side performs processing while functioning as the search unit 2 , the re-planning unit 3 , the route planning unit 4 , and the detection unit 5 .
- a processor of the computer on the moving object 20 side performs processing while functioning as the search unit 2 , the re-planning unit 3 , the route planning unit 4 , and the detection unit 5 .
- a processor of the computer on the moving object control apparatus 10 side performs processing while functioning the search unit 2 , the re-planning unit 3 , and the detection unit 5
- the processor of the computer on the moving object 20 side performs processing while functioning as the route planning unit 4 ′.
- the program of the example embodiment may also be executed by a computer system constituted by a plurality of computers.
- each computer may function as any of the search unit 2 , the re-planning unit 3 , the route planning unit 4 , and the detection unit 5 .
- FIG. 15 is a block diagram showing an example of a computer that realizes the route planning apparatus according to the example embodiment of the invention.
- a computer 110 includes a CPU (Central Processing Unit) 111 , a main memory 112 , a storage device 113 , an input interface 114 , a display controller 115 , a data reader/writer 116 , and a communication interface 117 . These constituent elements are connected to each other in a manner that enables data communication, via a bus 121 .
- the computer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array), in addition to the CPU 111 or instead of the CPU 111 .
- the CPU 111 implements various computational operations, by extracting programs (code) in the example embodiment that are stored in the storage device 113 to the main memory 112 , and executing these programs in a predetermined order.
- the main memory 112 typically, is a volatile storage device such as a DRAM (Dynamic Random Access Memory).
- programs in the example embodiment are provided in a state of being stored in a computer-readable recording medium 120 . Note that programs in the example embodiment may be distributed over the Internet connected via the communication interface 117 .
- a semiconductor storage device such as a flash memory is given as a specific example of the storage device 113 , other than a hard disk drive.
- the input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse.
- the display controller 115 is connected to a display device 119 and controls display on the display device 119 .
- the data reader/writer 116 mediates data transmission between the CPU 111 and the recording medium 120 , and executes readout of programs from the recording medium 120 and writing of processing results of the computer 110 to the recording medium 120 .
- the communication interface 117 mediates data transmission between the CPU 111 and other computers.
- a general-purpose semiconductor storage device such as a CF (Compact Flash (registered trademark)) card or an SD (Secure Digital) card, a magnetic recording medium such as a flexible disk, and an optical recording medium such as a CD-ROM (Compact Disk Read Only Memory) are given as specific examples of the recording medium 120 .
- CF Compact Flash (registered trademark)
- SD Secure Digital
- CD-ROM Compact Disk Read Only Memory
- route planning apparatus 1 in the example embodiment is also realizable by using hardware that corresponds to the various parts, rather than by a computer on which programs are installed. Furthermore, the route planning apparatus 1 may be realized in part by programs, and the remaining portion may be realized by hardware.
- a route planning apparatus including:
- a search unit configured to, search for a first route that connects each moving object and a lay-by area, when a deadlock is detected in a route plan of one or more moving objects
- a re-planning unit configured to re-plan a second route from each moving object to a target site such that the first routes which have been respectively found for the moving objects do not collide with each other.
- the search unit selects the moving object located at the shortest distance from the lay-by area, and searches for the first route using the selected moving object and the lay-by area.
- the search unit selects an unselected lay-by area that is located at the shortest distance from the moving object and has not been selected by another moving object, generates a route from the moving object to the selected lay-by area, and searches for the first routes using the selected lay-by area and the moving object that is located on the route and is closest to the selected lay-by area.
- the search unit searches for the first routes for the respective moving objects using minimum cost flow processing.
- a route planning method including:
- the moving object located at the shortest distance from the lay-by area is selected, and the first route is searched for using the selected moving object and the lay-by area.
- a computer-readable recording medium that includes a program recorded thereon, the program including instructions that cause a computer to carry out:
- the moving object located at the shortest distance from the lay-by area is selected, and the first route is searched for using the selected moving object and the lay-by area.
- the deadlock can be avoided and the moving object can be moved to the target site.
- the invention is useful in a field where moving objects are required to be moved to target sites according to a route plan.
Abstract
Description
- The present invention relates to a route planning apparatus and a route planning method for planning routes for moving objects, and further relates to a computer-readable recording medium that includes a program recorded thereon for realizing the apparatus and method.
- Conventionally, Automated Guided Vehicles (AGVs) have been introduced in various plants to improve work efficiency, production efficiency, and the like. AGVs have been introduced in various logistics facilities as well to realize work efficiency improvement, quick delivery, and the like.
- Non-patent
document 1 discloses a technique for providing lay-by areas (end-points) to which a plurality of AGVs used in the above plants and the logistics facilities are moved to wait. The lay-by areas are provided in places where an AGV that is parked does not block the routes of other AGVs. - Non-Patent Document 1: Hang Ma, Jiaoyang Li, T. K. Satish Kumar, Sven Koenig, “Lifelong Multi-Agent Path Finding for Online Pickup and Delivery Tasks”, (online), AAMAS, May 11, 2017, (Accessed on Jun. 1, 2018), <URL: http://www-scf.usc.edu/˜hangma/pub/aamas17_slides.pdf>
- However, merely by using the technique disclosed in
Non-Patent Document 1, the plurality of AGVs operated in the above plants, logistics facilities, and the like may not be able to avoid a deadlock, when an accident occurs. - In particular, in the case where an accident such as a delay in conveyance, blocking of the routes by an obstacle (e.g., a person or an object), or a breakdown occurs, and the AGVs perform re-planning, a deadlock may occur. A deadlock is a state where the AGVs block each other's route and cannot move.
- An example object of the invention is to provide a route planning apparatus, a route planning method, and a computer-readable recording medium that avoid a deadlock.
- In order to achieve the above example object, a route planning apparatus according to an example aspect of the invention includes:
- a search unit configured to, search for a first route that connects each moving object and a lay-by area, when a deadlock is detected in a route plan of one or more moving objects; and
- a re-planning unit configured to re-plan a second route from each moving object to a target site such that the first routes which have been respectively found for the moving objects do not collide with each other.
- Also, in order to achieve the above example object, a route planning method according to an example aspect of the invention includes:
- (a) a step of searching for, a first route that connects each moving object and a lay-by area, when a deadlock is detected in a route plan of one or more moving objects; and
- (b) a step of re-planning a second route from each moving object to a target site such that the first routes which have been respectively found for the moving objects do not collide with each other.
- Further, in order to achieve the above example object, a computer-readable recording medium according to one aspect of the invention includes a program recorded thereon, the program including instructions that cause a computer to carry out:
- (a) a step of searching for, a first route that connects each moving object and a lay-by area, when a deadlock is detected in a route plan of one or more moving objects; and
- (b) a step of re-planning second routes from the moving objects to a target site such that the first routes which have been respectively found for the moving objects do not collide with each other.
- As described above, according to the invention, a deadlock can be avoided.
-
FIG. 1 is a diagram showing an example of a route planning apparatus. -
FIG. 2 is a diagram showing an example of a system (1) including the route planning apparatus. -
FIG. 3 is a diagram showing an example of a system (2) including the route planning apparatus. -
FIG. 4 is a diagram showing an example of a system (3) including the route planning apparatus. -
FIG. 5 shows diagrams illustrating routes in a case where moving objects move according to a route plan. -
FIG. 6 shows diagrams illustrating routes in a case where the moving objects cannot move according to the route plan. -
FIG. 7 shows diagrams illustrating re-planned routes. -
FIG. 8 shows diagrams illustrating routes in a case where the moving objects cannot move according to the route plan. -
FIG. 9 is diagrams illustrating a route in a case where the moving objects cannot move according to the route plan. -
FIG. 10 is a diagram illustrating how a graph is created from a grid map. -
FIG. 11 is a diagram illustrating how the graph is created from the grid map. -
FIG. 12 is a diagram illustrating how the graph is created from the grid map. -
FIG. 13 is a diagram illustrating how the graph is created from the grid map. -
FIG. 14 is a diagram showing an example of operations of the route planning apparatus. -
FIG. 15 is a diagram showing an example of a computer that realizes the route planning apparatus. - Hereinafter, an example embodiment of the invention will be described with reference to
FIGS. 1 to 15 . - [Apparatus Configuration]
- First, a configuration of a
route planning apparatus 1 according to the example embodiment will be described usingFIG. 1 .FIG. 1 is a diagram showing an example of a route planning apparatus. - The
route planning apparatus 1 shown inFIG. 1 is an apparatus for planning the routes of moving objects and avoiding a deadlock. Also, as shown inFIG. 1 , theroute planning apparatus 1 includes asearch unit 2 and are-planning unit 3. - Of these, when a deadlock is detected in a route plan of one or more moving objects, the
search unit 2 searches for routes (first routes) that connect the moving objects and lay-by areas (end points). There-planning unit 3 re-plans routes (second routes) from the moving objects to the target sites (goal points) such that the first routes respectively found for the moving objects do not collide with each other. - In this manner, in the example embodiment, when a deadlock is detected, the moving objects can move to the lay-by areas according to the first routes, and routes for moving from the lay-by areas to the target sites can be re-planned, and thus even when a deadlock occurs, the moving objects can avoid the deadlock and move to the target site.
- [System Configuration]
- Next, the configuration of the
route planning apparatus 1 according to the example embodiment will be illustrated in more detail usingFIGS. 2, 3, and 4 .FIGS. 2, 3, and 4 are diagrams respectively showing an example of systems (1), (2), and (3) including the route planning apparatus. As respectively shown inFIGS. 2, 3, and 4 , the systems in the example embodiment include theroute planning apparatus 1 and a plurality ofmoving objects 20. - (1) Moving Object Control Apparatus Centered System
-
FIG. 2 shows a system in which theroute planning apparatus 1 is provided in a movingobject control apparatus 10. The movingobject control apparatus 10 shown inFIG. 2 includes theroute planning apparatus 1, acommunication unit 11, and aninstruction unit 12. Of these, theroute planning apparatus 1 includes aroute planning unit 4 and adetection unit 5 in addition to thesearch unit 2 and there-planning unit 3. Themoving objects 20 each include acommunication unit 21, asensor unit 22, aposition estimation unit 23, amovement control unit 24, and amovement unit 25. - (2) Moving Object Centered System
-
FIG. 3 is a system in which theroute planning apparatus 1 is provided in a movingobject 20. In the example inFIG. 3 , one of themoving objects 20 is set to the master, and theroute planning apparatus 1 is provided in themoving object 20 serving as the master. The movingobject control apparatus 10 shown inFIG. 3 includes thecommunication unit 11 and theinstruction unit 12. The movingobject 20 includes theroute planning apparatus 1, thecommunication unit 21, thesensor unit 22, theposition estimation unit 23, themovement control unit 24, and themovement unit 25. Of these, theroute planning apparatus 1 includes theroute planning unit 4 and thedetection unit 5 in addition to thesearch unit 2 and there-planning unit 3. - (3) Decentralized System
-
FIG. 4 shows a system in which the function of theroute planning apparatus 1 is distributed between the movingobject control apparatus 10 and the moving objects 20. The movingobject control apparatus 10 shown inFIG. 4 includes thesearch unit 2, there-planning unit 3, and thedetection unit 5 of theroute planning apparatus 1, in addition to thecommunication unit 11 and theinstruction unit 12. Also, the movingobjects 20 shown inFIG. 4 each include aroute planning unit 4′ of theroute planning apparatus 1, in addition to thecommunication unit 21, thesensor unit 22, theposition estimation unit 23, themovement control unit 24, and themovement unit 25. Note that theroute planning unit 4′ performs route planning for each movingobject 20. - Note that a system configuration other than that of the systems (1), (2), and (3) described above may also be used. Specifically, the
search unit 2, there-planning unit 3, theroute planning units detection unit 5 may also be distributed between the movingobject control apparatus 10 and the movingobjects 20 in a configuration that is different from the systems (1), (2), and (3). In this case, the communication content between thecommunication unit 11 and thecommunication units 21 is changed in accordance with the configuration content of the movingobject control apparatus 10 and the moving objects 20. - The moving object control apparatus will be described below.
- The moving
object control apparatus 10 controls the movingobjects 20 such that the movingobjects 20 move to the respective target sites. Note that the movingobject control apparatus 10 is an information processing apparatus such as a server computer, for example. - The
communication unit 11 communicates with thecommunication units 21 of the moving objects 20. Specifically, in the systems (1), (2), and (3), thecommunication unit 11 transmits, to the movingobjects 20, instruction information indicating an instruction for moving the movingobjects 20 and the like. Also, in the system (1), thecommunication unit 11 receives, from each movingobject 20, information such as positional information indicating the position of the movingobject 20 and the like. Also, in the system (3), thecommunication unit 11 receives, from each movingobject 20, information such as the positional information indicating the position of the movingobject 20, and route information indicating the route on which the movingobject 20 moves. - The
instruction unit 12 instructs the movingobjects 20 to move. Specifically, theinstruction unit 12 generates instruction information indicating an instruction for moving the movingobjects 20 to the respective target sites. - The
route planning apparatus 1 plans the routes for moving the movingobjects 20 to the target sites and the lay-by areas. Theroute planning apparatus 1 also plans the routes for avoiding a deadlock. - Specifically, the
route planning apparatus 1 generates the route information used when moving the movingobjects 20 to the target sites and the lay-by areas using the positional information, map information, target site information indicating the target site which each movingobject 20 is to reach, and lay-by area information indicating the lay-by area to which each movingobject 20 moves and waits. - The map information is information indicating an arrangement plan of the target facility, and the like. The map information includes the routes on which the moving
objects 20 are to move, the target sites which the movingobjects 20 are to reach, the lay-by areas to which the movingobjects 20 are to move and wait, and the like in a plant, logistics facility, or the like. Also, for example, a grid map is favorably used as the map information. Further, the map information is stored in a storage unit (not shown) provided in the movingobject control apparatus 10, the movingobjects 20, or other locations. - The moving objects will be described below.
- The moving objects 20 obtain the instruction information from the moving
object control apparatus 10 and move to the respective target sites. Specifically, the movingobjects 20 are conceivably AGVs, self-driving vehicles, self-flying vehicles, self-sailing ships, robots, and the like. - The
communication unit 21 communicates with thecommunication unit 11 of the movingobject control apparatus 10. Specifically, in the system (1), thecommunication unit 21 transmits the positional information and the like to the movingobject control apparatus 10. Also, in the system (3), thecommunication unit 21 transmits the positional information, the route information and the like to the movingobject control apparatus 10. Also, in the systems (1), (2), and (3), thecommunication unit 21 receives, from the movingobject control apparatus 10, the instruction information indicating the instruction for moving the movingobject 20 and the like. - The
sensor unit 22 is a sensor or the like for detecting the state of the movingobject 20, target objects (e.g., a tray, a shelf, etc.), signs assisting movement of the movingobject 20, actual obstacles on the routes, and the like. Specifically, thesensor unit 22 includes one or more devices such as a radar, an ultrasonic sensor, an image capturing apparatus, a gyroscope, an encoder, and a GPS (Global Positioning System). - The
position estimation unit 23 estimates the self-position of the movingobject 20. Specifically, theposition estimation unit 23 obtains measurement information indicating the measurement result of thesensor unit 22, and estimates the self-position of the movingobject 20 based on the obtained measurement information. - The
movement control unit 24 controls themovement unit 25 that is provided in the movingobject 20 and for moving the movingobject 20. Specifically, themovement control unit 24 controls themovement unit 25 using the above route information to move the movingobject 20 to the target site and the lay-by area. - The
movement unit 25 is a device for moving the movingobject 20. Specifically, if the movingobject 20 is an electric vehicle, themovement unit 25 is a means such as a motor, wheels, a battery, and the like that are necessary for moving the electric vehicle. - The route planning apparatus will be described below.
- In the systems (1) and (2), the
route planning unit 4 generates the route information for moving the movingobjects 20 to the respective target sites corresponding to the moving objects 20. Specifically, theroute planning unit 4 uses the positional information, the map information, the target site information, and the lay-by area information to generate the route information used when moving the movingobjects 20 to the corresponding target sites. - In the system (3), the
route planning unit 4′ generates the route information for moving the movingobject 20 in which theroute planning unit 4′ is provided to the target site corresponding to that movingobject 20. Specifically, theroute planning unit 4′ uses the positional information, the map information, the target site information, and the lay-by area information to generate the route information used when moving the movingobject 20 in which theroute planning unit 4′ is provided to the corresponding target site. -
FIG. 5 shows diagrams illustrating the routes in the case where the moving objects move according to the route plan. In the grid maps inFIG. 5 , the moving objects 20 (M1), (M2), and (M3), the target sites (G1), (G2), and (G3), the lay-by areas (E1), (E2), and (E3), and movement prohibited areas (hatched regions), and the routes (arrow lines) are shown in the grid ranges (hereinafter called “grids”). -
FIG. 5A shows a route R_M1 on which the moving object 20 (M1) moves toward the target site (G1).FIG. 5B shows a route R_M2 on which the moving object 20 (M2) moves toward the target site (G2).FIG. 5C shows a route R_M3 on which the moving object 20 (M3) moves toward the target site (G3). - The route information indicating the routes R_M1, R_M2, and R_M3 may be represented by
Expression 1, for example. -
Route R_M1={(d3,0),(d2,1),(c2,2),(b2,3),(b1,4)} -
Route R_M2={(d2,0),(c2,1),(b2,2),(b3,3),(b4,4),(a4,5)} -
Route R_M3={(c2,0),(b2,1),(b3,2),(b4,3),(c4,4),(c5,5)} (Expression 1) - Left term in the parenthesis: information indicating the grid position
- Right term in the parenthesis: information indicating time required for the moving
object 20 to move to the next grid - In the systems (1), (2), and (3), the
detection unit 5 uses the map information and the positional information to detect a deadlock. Specifically, if the plurality of movingobjects 20 have been stationary in a predetermined region for a predetermined time period, thedetection unit 5 determines that the movingobjects 20 are in a deadlock. - Upon detecting that one or more moving
objects 20 are in a deadlock in the route plan of the movingobjects 20, thesearch unit 2 searches for routes that connect the movingobjects 20 and the lay-by areas using methods of (A), (B), or (C) that will be described later. Specifically, (A) thesearch unit 2 selects the movingobject 20 located at the shortest distance from the lay-by area, and searches for a route (first route) using the selected movingobject 20 and the lay-by area. - Alternatively, (B) the
search unit 2 selects an unselected lay-by area that has not been selected by another movingobject 20 and is located at the shortest distance from the movingobject 20, generates a route from the movingobject 20 to the selected lay-by area, and searches for a route (first route) using the selected lay-by area and the movingobject 20 that is located on the route and is closest to the selected lay-by area. Alternatively, (C) thesearch unit 2 searches for a route (first route) for each movingobject 20 using minimum cost flow processing. - The
re-planning unit 3 re-plans, for each movingobject 20, the route (second route) from the movingobject 20 to the target site such that the found routes (first routes) do not collide with each other. Specifically, after detecting that all the movingobjects 20 have planned the first routes, there-planning unit 3 re-plans, for each movingobject 20, the route from the movingobject 20 to the target site, and updates the previous route with the re-planned route. - Deadlock avoidance through the method of (A) will be described below.
- For example, the A* (A-Star) algorithm is conceivably used as the method of (A).
FIG. 6 shows diagrams illustrating the routes in the case where the moving objects cannot move according to the route plan.FIG. 6A shows that, since an obstacle (black square) is placed in the grid b3, the respective routes R_M1, R_M2, and R_M3 of the moving objects 20 (M1), (M2), and (M3) shown inFIG. 5 are blocked. That is,FIG. 6A shows the state where the moving objects 20 (M1), (M2), and (M3) cannot obtain the routes to reach the respective target sites (G1), (G2), and (G3), and are in a deadlock. - If the moving objects 20 (M2) and (M3) do not move, the moving object 20 (M1) cannot reach the target site (G1). Also, if the moving object 20 (M1) does not move, the moving object 20 (M2) cannot reach the target site (G2). Further, if the moving objects 20 (M1) and (M2) do not move, the moving object 20 (M3) cannot reach the target site (G3).
- Upon detecting the deadlock, the
search unit 2 selects the lay-by areas in a predetermined order, and searches for the movingobject 20 located in the grid closest to the selected lay-by area. - Specifically, if the order for selecting the lay-by areas is set to (E1), (E2), and (E3), as shown in
FIG. 6B , thesearch unit 2 first selects the moving object 20 (M3) located in the grid closest to the lay-by area (E1). Then, thesearch unit 2 stores a route R_E1 (arrow line inFIG. 6B ) that connects the lay-by area (E1) and the moving object 20 (M3), in the storage unit. - Next, as shown in
FIG. 6C , thesearch unit 2 excludes the selected moving object 20 (M3), selects the moving object 20 (M1) located in the grid closest to the lay-by area (E2), and stores a route R_E2 (arrow line inFIG. 6C ) that connects the lay-by area (E2) and the moving object 20 (M1), in the storage unit. - Next, as shown in
FIG. 6(D) , thesearch unit 2 excludes the selected moving objects (M3) and (M1), selects the moving object 20 (M2) located in the grid closest to the lay-by area (E3), and stores a route R_E3 (arrow line inFIG. 4D ) that connects the lay-by area (E3) to the moving object 20 (M2) in the storage unit. For example, thesearch unit 2 stores the routes R_E1, R_E2, and R_E3 as represented byExpression 2 in the storage unit. -
Route R_E1={(b2,0),(a2,1),(a2,2) . . . } -
Route R_E2={(d2,0),(e2,1),(e3,2) . . . } -
Route R_E3={(c2,0),(d2,1),(d3,2),(d4,3),(e4,4)} (Expression 2) - Note that, the above storage unit may be provided in the moving
object control apparatus 10 or the movingobjects 20, or a place other than the movingobject control apparatus 10 and the moving objects 20. Also, the order for selecting the lay-by areas is not limited to the order described above. Further, thesearch unit 2 searches for routes such that the routes R_E1, R_E2, and R_E3 that connect the movingobjects 20 and the lay-by areas do not collide with each other. - Subsequently, the
re-planning unit 3 selects the movingobjects 20 in a predetermined order, and re-plans the routes from the movingobjects 20 to the target sites such that the routes found using thesearch unit 2 do not collide with each other. There-planning unit 3 will be described in detail below usingFIG. 7 .FIG. 7 shows diagrams illustrating the re-planned routes. - Specifically, if the order in which to select the moving
objects 20 is set to (M1), (M2), and (M3), there-planning unit 3 first re-plans the route from the moving object 20 (M1) to the target site (G1) in the state at the time (0) shown inFIG. 6A . - For example, at the time (1), as shown in
FIG. 7A , the moving object 20 (M1) is moved from the grid d2 to the lay-by area (E2) according toExpression 2. In this case, according toExpression 2, the moving object 20 (M2) is moved to the grid d2 in order to be moved to the lay-by area (E3). The moving object 20 (M3) is moved to the lay-by area (E1) according toExpression 2. - At the time (2), the moving object 20 (M1) is moved from the lay-by area (E2) to the grid d2. In this case, the moving object 20 (M2) is moved from the grid d2 to the grid d3, and the moving object 20 (M3) is kept in the lay-by area (E1).
- The moving object 20 (M1) is moved to the grids c2, b2, and b1 at the respective times (3), (4), and (5). In other words, the moving object 20 (M1) reaches the target site (G1) at the time (5). In this case, the moving object 20 (M2) is moved to the grids d4, c4, and b4 at the respective times (3), (4), and (5). The moving object 20 (M3) is kept in the lay-by area (E1) during the times (3) to (4).
- In this manner, as shown in
FIG. 7A , there-planning unit 3 moves the moving object 20 (M1) to the lay-by area (E5), and thereafter re-plans the route from the lay-by area (E5) to the target site (G1), and updates the route R_M1 with the re-planned route. There-planning unit 3 stores the route R_M1 as represented byExpression 3 in the storage unit. -
Route R_M1={(d2,0),(e2,1),(b2,2),(c2,3),(b1,4),(a1,5)} (Expression 3) - Subsequently, the
re-planning unit 3 selects the moving object 20 (M2), and re-plans the route from the moving object 20 (M2) to the target site (G2) according toExpression 2 from the state of the time (0) inFIG. 6A . - For example, as shown in
FIG. 6D , the moving object 20 (M2) is moved from the grid c2 to the lay-by area (E3) according toExpression 2. At the time (1), in order to move the moving object 20 (M1) to the lay-by area (E2), the moving object 20 (M2) can be moved from the grid c2 to the grid d2. - The moving object 20 (M2) is moved to the grids d3, d4, and e4 at the respective times (2), (3), and (4). In other words, the moving object 20 (M2) is moved to the lay-by area (E3) to wait. Next, the moving object 20 (M2) is moved to the grids d4, c4, b4, and a4 in this order at the respective times (5), (6), (7), and (8) and is caused to reach the target site (G2).
- Note that the moving object 20 (M2) need not necessarily be moved to the lay-by area (E3) to wait. In other words, if the route of the moving object 20 (M2) does not collide with the routes of the moving objects 20 (M1) and (M3), the moving object 20 (M2) may also be directly moved to the target site (G2) without being moved to the lay-by area (E3).
- In this manner, as shown in
FIG. 7B , there-planning unit 3 re-plans the route from the moving object 20 (M2) to the target site (G2), and updates the route R_M2 with the re-planned route. There-planning unit 3 stores the route R_M2 as represented byExpression 4 in the storage unit. -
Route R_M2={(c2,0),(d2,1),(d3,2),(d4,3),(c4,4),(b4,5),(a4,6)} (Expression 4) - Subsequently, the
re-planning unit 3 selects the moving object 20 (M3), and re-plans the route from the moving object 20 (M3) to the target site (G3) according toExpression 2 from the state of the time (0) inFIG. 6A . - At the time (1), as shown in
FIG. 7C , the moving object 20 (M3) is moved from the grid b2 to the lay-by area (E1) according toExpression 2. Next, the moving object 20 (M3) is kept in the lay-by area (E1) during the times (2) to (4). - At the time (5), since the moving object 20 (M1) has reached the target site (G1), the moving object 20 (M3) is moved to the grid b2. Thereafter, from the time (6) to the time (11), the moving object 20 (M3) is moved to the grids c2, d2, d3, d4, c4, and c5, and is caused to reach the target site (G3).
- In this manner, as shown in
FIG. 7C , there-planning unit 3 re-plans the route from the moving object 20 (M3) to the target site (G3), and updates the route R_M3 with the re-planned route. There-planning unit 3 stores the route R_M3 as represented byExpression 5 in the storage unit. -
Route R_M3={(b2,0),(a2,1),(a2,2),(a2,3),(a2,4),(b2,5),(c2,6),(d2,7),(d3,8),(d4,9),(c4,10),(c5,11)} (Expression 5) - Deadlock avoidance through the method (B) will be described below.
- For example, an algorithm described below is conceivably used as the method (B).
FIGS. 8 and 9 show diagrams illustrating the routes in the case where the moving objects cannot move according to the route plan.FIG. 8A shows the state where, since an obstacle (black square) is placed in the grid b3, the routes of the moving objects 20 (M1), (M2), and (M3) are blocked. - In the grid maps in
FIG. 8 , the moving objects 20 (M1), (M2), and (M3), the lay-by areas (E1), (E2), and (E3), the target sites (G1), (G2), and (G3), the movement prohibition areas (hatched areas), and the routes (arrow lines) are shown in the grids. -
FIG. 8A shows the state where, since the obstacle (black square) is placed in the grid b3, the routes of the moving objects 20 (M1), (M2), and (M3) shown inFIG. 8(A) are blocked. - That is,
FIG. 8A shows the state where the routes of the moving objects 20 (M1), (M2), and (M3) to reach the respective target sites (G1), (G2), and (G3) cannot be obtained, and the moving objects 20 (M1), (M2), and (M3) are in the deadlock. - If the moving objects 20 (M2) and (M3) do not move, the moving object 20 (M1) cannot reach the target site (G1). If the moving object 20 (M1) does not move, the moving object 20 (M2) cannot reach the target site (G2). If the moving objects 20 (M1) and (M2) do not move, the moving object 20 (M3) cannot reach the target site (G3).
- Upon detecting the deadlock, the
search unit 2 selects an unselected lay-by area that has not been selected by another movingobject 20 and is located at the shortest distance from the movingobject 20. Subsequently, thesearch unit 2 generates the route from the movingobject 20 to the selected lay-by area, and searches for the route using the selected lay-by area and the movingobject 20 that is located on the route and is closest to the selected lay-by area. - Specifically, the
search unit 2 first selects the movingobject 20 to serve as a base point. In the example inFIG. 8B , the moving object 20 (M3) is set to the base point. Subsequently, thesearch unit 2 selects the lay-by area (E1) located at the shortest distance from the moving object 20 (M3). Thereafter, thesearch unit 2 generates a route R_M3E1 that connects the moving object 20 (M3) and the selected lay-by area (E1) as represented by Expression 6. -
Route M3E1={(b2,0),(c2,1),(d2,2),(d1,3)} (Expression 6) - Subsequently, after selecting the moving objects 20 (M1) and (M2) that are present on the route R_M3E1, the
search unit 2 further selects the lay-by area (E1) that is closest to the moving object 20 (M1). Then, as shown inFIG. 8C , thesearch unit 2 generates a route R_M1E1 that connects the moving object 20 (M1) and the lay-by area (E1) and stores the generated route in the storage unit. Thesearch unit 2 stores the route R_M1E1 as represented by Expression 7 in the storage unit. -
Route M1E1={(d2,0),(d1,1)} (Expression 7) - Subsequently, the
search unit 2 excludes the lay-by area (E1), and, as shown inFIG. 9A , selects the lay-by area (E2) located at the shortest distance from the moving object 20 (M3). Thereafter, thesearch unit 2 generates a route R_M3E2 that connects the moving object 20 (M3) and the selected lay-by area (E2) as represented by Expression 8. -
Route M3E2={(b2,0),(c2,1),(d2,2),(e1,3)} (Expression 8) - The
search unit 2 excludes the moving object 20 (M1), selects the moving object 20 (M2) that is present on the route R_M3E2, and thereafter, further selects the lay-by area (E2) that is closest to the moving object 20 (M2). Then, as shown inFIG. 9B , thesearch unit 2 generates a route R_M2E2 that connects the moving object 20 (M2) and the lay-by area (E2), and stores the route R_M2E2 in the storage unit. Thesearch unit 2 stores the route R_M2E2 as represented by Expression 9 in the storage unit. -
Route M2E2={(c2,0),(d2,1),(e2,1)} (Expression 9) - Subsequently, the
search unit 2 excludes the lay-by areas (E1) and (E2) and, as shown inFIG. 9C , selects the lay-by area (E3) located at the shortest distance from the moving object 20 (M3). Thereafter, thesearch unit 2 generates a route R_M3E3 that connects the moving object 20 (M3) and the selected lay-by area (E3) as represented byExpression 10. -
Route M3E3={(b2,0),(c2,1),(d2,2),(d3,3),(d4,4),(e4,5)} (Expression 10) - Next, when all the moving objects 20 (M1), (M2), and (M3) have been moved to the lay-by areas to wait, the
search unit 2 removes the authority of the moving object 20 (M3) as the base point. Note that, if there is another movingobject 20 other than the moving objects 20 (M1), (M2), and (M3), thesearch unit 2 searches for the route to the lay-by area using the other movingobject 20 as the base point. - Subsequently, the
re-planning unit 3 selects the movingobjects 20 in a predetermined order, and re-plans the routes from the movingobjects 20 to the target sites such that the routes found for using thesearch unit 2 do not collide with each other. - Deadlock avoidance through the method (C) will be described below.
- It is conceivable that minimum cost flow processing is used as the method (C), for example. Upon detecting a deadlock, the
search unit 2 searches for a route, for each movingobject 20, from the movingobject 20 to the selected lay-by area using the minimum cost flow processing. - Specifically, in the minimum cost flow processing, a graph T, a demand-and-supply b, a capacity u, and a cost c are input, and a flow for which the total cost that satisfies the demand-and-supply is minimized is output. A graph is generated from a grid map as shown in
FIGS. 10 , 11, 12, and 13, for example.FIGS. 10, 11, 12, and 13 are diagrams illustrating how a graph is generated from a grid map. - The case where a graph is generated from the grid map shown in
FIG. 10A will be described below. First, the relationship between the grids inFIG. 10A can be represented by the graph shown inFIG. 10B . The nodes corresponding to the grids inFIG. 10B represent the positions of the grids, and the arrow lines represent the adjacent relationship of the grids. - Next, as shown in
FIG. 10C , the nodes (a1), (c1), (a2), (b2), and (c2) are arranged for each time t=0, 1, and 2, and the same nodes and the adjacent nodes at the subsequent times are connected by edges (arrow lines). Next, the intersecting edges (dotted arrow lines) shown inFIG. 11A are converted into the graph shown inFIG. 11B using time expanded graph processing. - Here, the time t=0, 1, and 2 is information indicating time period required for the moving
object 20 to move to the next grid. - Subsequently, the graph T is generated by adding the nodes next to the lay-by areas to the graph. In the example in
FIG. 12 , the nodes b2 and c2 are set to the lay-by areas, and the node (g′|) adjacent to the nodes (b2) and (c2) are added. Thereafter, the nodes (b2) and (c2) at the time t=0, 1, and 2 and the node (g′) are connected to each other by edges (dashed-dotted arrow lines). - Next, the demand-and-supply b for which the demand of the node (g′) is set such that the sum of the demand and supply is 0 is obtained, with the node corresponding to the position of the moving
object 20 at the time t=0 as the node ofsupply 1, and the nodes other than the node (g′) as the nodes of withsupply 0. Also, the capacity u for which the capacity of each edge is 1, and the cost c for which the costs of the edges that are input to nodes (a1), (c1), (a2), (b2), and (c2) at the time t=0 are 1 and the remaining costs are 0 are obtained. - Next, the graph T, the demand-and-supply b, the capacity u, and the cost c are input to the minimum cost flow processing, and the routes are extracted from a flow f that is output.
- Specifically, at the time t=0 in
FIG. 13 , if the movingobject 20 is located at the node (a1), the route R={(a1,0)} is stored as the route information in the storage unit. Next, at the time t=1, if the movingobject 20 moves to the node (a2), the route R={(a1,0), (a2,1)} is stored as the route information in the storage unit. Next, at the time t=2, if the movingobject 20 moves to the node (b2), the route R={(a1,0), (a2,1), (b2,2)} is stored as the route information in the storage unit. Next, when the next node is the node (g′), the processing ends. - In this manner, by performing the minimum cost flow processing, the route shown in
FIG. 13 (bold arrow lines) is generated. In other words, due to the minimum cost flow processing being used, the route for which the total of the distances is shortest can be obtained when the movingobject 20 moves to the lay-by area. - Subsequently, the
re-planning unit 3 selects the movingobjects 20 in a predetermined order, and re-plans the routes from the movingobjects 20 to the target sites such that the routes found for using thesearch unit 2 do not collide with each other. - [Apparatus Operations]
- Next, the operations of the route planning apparatus according to the example embodiment of the invention will be described using
FIG. 14 .FIG. 14 is a diagram showing an example of the operations of the route planning apparatus. In the description below,FIG. 2 toFIG. 13 are referenced as appropriate. Also, in the example embodiment, the route planning method is implemented by operating the route planning apparatus. The description of the route planning method in the example embodiment will thus be given by describing the operations of the route planning apparatus as follows. - As shown in
FIG. 14 , first, theroute planning unit objects 20 to the respective target sites corresponding to the moving objects 20 (step A1). - Specifically, in the systems (1) and (2), in step A1, the
route planning unit 4 generates the route information for moving the movingobjects 20 to the respective target sites using the positional information, the map information, the target site information, and the lay-by area information. - Alternatively, in the system (3), in step A1, the
route planning unit 4′ generates the route information for moving the movingobject 20 provided with theroute planning unit 4′ to the target site using the positional information, the map information, the target site information, and the lay-by area information. - Next, the
detection unit 5 performs deadlock detection using the map information and the positional information (step A2). Specifically, in the systems (1), (2), and (3), in step A2, if the plurality of movingobjects 20 have been stationary in a predetermined area for a predetermined time period, thedetection unit 5 determines that the movingobjects 20 are in a deadlock. - Subsequently, upon detecting that one or more moving
objects 20 are in a deadlock in the route plan of the movingobjects 20, thesearch unit 2 searches for routes (first routes) that connect the movingobjects 20 and the lay-by areas using any one of the above-described methods (A), (B), and (C) (step A3). - Specifically, in step A3, the
search unit 2 uses the method (A) to select the movingobject 20 located at the shortest distance from a lay-by area, and searches for the route (first route) using the selected movingobject 20 and the lay-by area. For the details of the method (A), refer to the description of “Deadlock Avoidance through the method (A)” described above. - Alternatively, in step A3, the
search unit 2 uses the method (B) to search for an unselected lay-by area that has not been selected by another movingobject 20 and is located at the shortest distance from the movingobject 20, generate a route from the movingobject 20 to the selected lay-by area, and search for a route (first route) using the selected lay-by area and the movingobject 20 that is located on the route and is closest to the selected lay-by area. For the details of the method (B), refer to the description of “Deadlock Avoidance through method (B)” described above. - Alternatively, in step A3, the
search unit 2 uses the method (C) to search for a route (first route), for each movingobject 20, using the minimum cost flow processing. For the details of the method (C), refer to the description of “Deadlock Avoidance through the method (C)” described above. - Subsequently, the
re-planning unit 3 re-plans the routes (second routes) from the movingobjects 20 to the target sites such that the routes (first routes) of the respective movingobjects 20 found for in step A3 do not collide with each other (step A4). Specifically, upon detecting that first routes have been planned for all the movingobjects 20, there-planning unit 3 re-plans, for each movingobject 20, the route from the movingobject 20 to the target site and updates the previous route with the re-planned route. - As mentioned above, according to the example embodiment, if a deadlock is detected, the route can be re-planned such that each moving object moves along the first route to the lay-by area and moves from the lay-by area to the target site, and thus even if there is a deadlock, the moving objects can avoid the deadlock and move to the respective target sites.
- [Program]
- A program according to the example embodiment of the invention need only be a program that causes a computer to execute steps A1 to A4 shown in
FIG. 14 . The route planning apparatus and the route planning method according to the example embodiment can be realized by this program being installed in the computer and executed. - Specifically, in the system (1), a processor of the computer on the moving
object control apparatus 10 side performs processing while functioning as thesearch unit 2, there-planning unit 3, theroute planning unit 4, and thedetection unit 5. Further, in the system (2), a processor of the computer on the movingobject 20 side performs processing while functioning as thesearch unit 2, there-planning unit 3, theroute planning unit 4, and thedetection unit 5. Further, in the system (3), a processor of the computer on the movingobject control apparatus 10 side performs processing while functioning thesearch unit 2, there-planning unit 3, and thedetection unit 5, and the processor of the computer on the movingobject 20 side performs processing while functioning as theroute planning unit 4′. - Also, the program of the example embodiment may also be executed by a computer system constituted by a plurality of computers. In this case, for example, each computer may function as any of the
search unit 2, there-planning unit 3, theroute planning unit 4, and thedetection unit 5. - [Physical Configuration]
- Here, a computer that realizes the route planning apparatus by executing a program of the example embodiment will be described using
FIG. 15 .FIG. 15 is a block diagram showing an example of a computer that realizes the route planning apparatus according to the example embodiment of the invention. - As shown in
FIG. 15 , acomputer 110 includes a CPU (Central Processing Unit) 111, amain memory 112, astorage device 113, aninput interface 114, adisplay controller 115, a data reader/writer 116, and acommunication interface 117. These constituent elements are connected to each other in a manner that enables data communication, via abus 121. Note that thecomputer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array), in addition to theCPU 111 or instead of theCPU 111. - The
CPU 111 implements various computational operations, by extracting programs (code) in the example embodiment that are stored in thestorage device 113 to themain memory 112, and executing these programs in a predetermined order. Themain memory 112, typically, is a volatile storage device such as a DRAM (Dynamic Random Access Memory). Also, programs in the example embodiment are provided in a state of being stored in a computer-readable recording medium 120. Note that programs in the example embodiment may be distributed over the Internet connected via thecommunication interface 117. - Also, a semiconductor storage device such as a flash memory is given as a specific example of the
storage device 113, other than a hard disk drive. Theinput interface 114 mediates data transmission between theCPU 111 andinput devices 118 such as a keyboard and a mouse. Thedisplay controller 115 is connected to adisplay device 119 and controls display on thedisplay device 119. - The data reader/
writer 116 mediates data transmission between theCPU 111 and therecording medium 120, and executes readout of programs from therecording medium 120 and writing of processing results of thecomputer 110 to therecording medium 120. Thecommunication interface 117 mediates data transmission between theCPU 111 and other computers. - Also, a general-purpose semiconductor storage device such as a CF (Compact Flash (registered trademark)) card or an SD (Secure Digital) card, a magnetic recording medium such as a flexible disk, and an optical recording medium such as a CD-ROM (Compact Disk Read Only Memory) are given as specific examples of the
recording medium 120. - Note that the
route planning apparatus 1 in the example embodiment is also realizable by using hardware that corresponds to the various parts, rather than by a computer on which programs are installed. Furthermore, theroute planning apparatus 1 may be realized in part by programs, and the remaining portion may be realized by hardware. - [Supplementary Notes]
- The following supplementary notes are further disclosed in relation to the above example embodiment. The example embodiments described above can be partially or wholly realized by
supplementary notes 1 to 12 described below, although the invention is not limited to the following description. - (Supplementary Note 1)
- A route planning apparatus including:
- a search unit configured to, search for a first route that connects each moving object and a lay-by area, when a deadlock is detected in a route plan of one or more moving objects; and
- a re-planning unit configured to re-plan a second route from each moving object to a target site such that the first routes which have been respectively found for the moving objects do not collide with each other.
- (Supplementary note 2)
- The route planning apparatus according to
supplementary note 1, - in which the search unit selects the moving object located at the shortest distance from the lay-by area, and searches for the first route using the selected moving object and the lay-by area.
- (Supplementary note 3)
- The route planning apparatus according to
supplementary note 1, - in which the search unit selects an unselected lay-by area that is located at the shortest distance from the moving object and has not been selected by another moving object, generates a route from the moving object to the selected lay-by area, and searches for the first routes using the selected lay-by area and the moving object that is located on the route and is closest to the selected lay-by area.
- (Supplementary note 4)
- The route planning apparatus according to
supplementary note 1, - in which the search unit searches for the first routes for the respective moving objects using minimum cost flow processing.
- (Supplementary note 5)
- A route planning method including:
- (a) a step of searching for, a first route that connects each moving object and a lay-by area, when a deadlock is detected in a route plan of one or more moving objects; and
- (b) a step of re-planning a second route from each moving object to a target site such that the first routes which have been respectively found for the moving objects do not collide with each other.
- (Supplementary note 6)
- The route planning method according to
supplementary note 5, - in which in the (a) step, the moving object located at the shortest distance from the lay-by area is selected, and the first route is searched for using the selected moving object and the lay-by area.
- (Supplementary note 7)
- The route planning method according to
supplementary note 5, - in which, in the (a) step, an unselected lay-by area that is located at the shortest distance from the moving object and has not been selected by another moving object is selected, a route from the moving object to the selected lay-by area is generated, and the first route is searched for using the selected lay-by area and the moving object that is located on the route and is closest to the selected lay-by area.
- (Supplementary note 8)
- The route planning method according to
supplementary note 5, - in which, in the (a) step, the first routes for the respective moving objects are searched for using minimum cost flow processing.
- (Supplementary note 9)
- A computer-readable recording medium that includes a program recorded thereon, the program including instructions that cause a computer to carry out:
- (a) a step of searching for, a first route that connects each moving object and a lay-by area, when a deadlock is detected in a route plan of one or more moving objects; and
- (b) a step of re-planning a second route from each moving object to a target site such that the first routes which have been respectively found for the moving objects do not collide with each other.
- (Supplementary note 10)
- The computer-readable recording medium according to supplementary note 9,
- in which in the (a) step, the moving object located at the shortest distance from the lay-by area is selected, and the first route is searched for using the selected moving object and the lay-by area.
- (Supplementary note 11)
- The computer-readable recording medium according to supplementary note 9,
- in which in the (a) step, an unselected lay-by area that is located at the shortest distance from the moving object and has not been selected by another moving object is selected, a route from the moving object to the selected lay-by area is generated, and the first route is searched for using the selected lay-by area and the moving object that is located on the route and is closest to the selected lay-by area.
- (Supplementary note 12)
- The computer-readable recording medium according to supplementary note 9,
- in which in the (a) step, the first routes for the respective moving objects are searched for using minimum cost flow processing.
- Although the invention of the present application has been described above with reference to an example embodiment, the invention is not limited to the foregoing example embodiment. Various modifications apparent to those skilled in the art can be made to the configurations and details of the invention of the present application within the scope of the invention.
- As described above, according to the invention, even if there is a deadlock when moving moving objects to target sites according to a route plan, the deadlock can be avoided and the moving object can be moved to the target site. The invention is useful in a field where moving objects are required to be moved to target sites according to a route plan.
-
-
- 1 Route planning apparatus
- 2 Search unit
- 3 Re-planning unit
- 4 Route planning unit
- 5 Detection unit
- 10 Moving object control apparatus
- 11 Communication unit
- 12 Instruction unit
- 20 Moving object
- 21 Communication unit
- 22 Sensor unit
- 23 Position estimation unit
- 24 Movement control unit
- 25 Movement unit
- 110 Computer
- 111 CPU
- 112 Main memory
- 113 Storage device
- 114 Input interface
- 115 Display controller
- 116 Data reader/writer
- 117 Communication interface
- 118 Input device
- 119 Display device
- 120 Storage medium
- 121 Bus
Claims (14)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/043260 WO2020105189A1 (en) | 2018-11-22 | 2018-11-22 | Route planning device, route planning method, and computer-readable recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220019227A1 true US20220019227A1 (en) | 2022-01-20 |
US11782446B2 US11782446B2 (en) | 2023-10-10 |
Family
ID=70773980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/295,100 Active 2039-05-05 US11782446B2 (en) | 2018-11-22 | 2018-11-22 | Route planning apparatus, route planning method, and computer-readable recording medium |
Country Status (3)
Country | Link |
---|---|
US (1) | US11782446B2 (en) |
JP (1) | JP7160110B2 (en) |
WO (1) | WO2020105189A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230409034A1 (en) * | 2020-11-27 | 2023-12-21 | Murata Machinery, Ltd. | Mobile body system, picking system, and route determination method |
JPWO2022215314A1 (en) * | 2021-04-05 | 2022-10-13 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006001412A1 (en) * | 2004-06-25 | 2006-01-05 | Pioneer Corporation | Traffic condition report device, system thereof, method thereof, program for executing the method, and recording medium containing the program |
US20120165982A1 (en) * | 2010-12-27 | 2012-06-28 | Samsung Electronics Co., Ltd. | Apparatus for planning path of robot and method thereof |
US20160169686A1 (en) * | 2014-12-11 | 2016-06-16 | International Business Machines Corporation | Access route optimization for harvestable resources |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0213938B1 (en) * | 1985-08-30 | 1992-08-05 | Texas Instruments Incorporated | Failsafe brake for a multi-wheel vehicle with motor controlled steering |
DE69415067T2 (en) | 1993-04-02 | 1999-07-08 | Shinko Electric Co Ltd | Method and control device for a transport management system with driverless vehicles |
JP3364021B2 (en) | 1993-12-10 | 2003-01-08 | 神鋼電機株式会社 | Operation management control apparatus and method |
AU2001284520A1 (en) * | 2000-09-11 | 2002-03-26 | Kunikatsu Takase | Mobile body movement control system |
JP2006268769A (en) | 2005-03-25 | 2006-10-05 | Daifuku Co Ltd | Article carrying facility |
JP2008134744A (en) | 2006-11-27 | 2008-06-12 | Matsushita Electric Works Ltd | Autonomous moving device group control system |
JP2010176607A (en) * | 2009-02-02 | 2010-08-12 | Toyohashi Univ Of Technology | Mobile body system and method of recovering from deadlock thereof |
EP2697701B1 (en) * | 2011-04-11 | 2018-10-24 | Crown Equipment Corporation | Method and apparatus for efficient scheduling for multiple automated non-holonomic vehicles using a coordinated path planner |
-
2018
- 2018-11-22 JP JP2020557398A patent/JP7160110B2/en active Active
- 2018-11-22 WO PCT/JP2018/043260 patent/WO2020105189A1/en active Application Filing
- 2018-11-22 US US17/295,100 patent/US11782446B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006001412A1 (en) * | 2004-06-25 | 2006-01-05 | Pioneer Corporation | Traffic condition report device, system thereof, method thereof, program for executing the method, and recording medium containing the program |
US20120165982A1 (en) * | 2010-12-27 | 2012-06-28 | Samsung Electronics Co., Ltd. | Apparatus for planning path of robot and method thereof |
US20160169686A1 (en) * | 2014-12-11 | 2016-06-16 | International Business Machines Corporation | Access route optimization for harvestable resources |
Also Published As
Publication number | Publication date |
---|---|
JP7160110B2 (en) | 2022-10-25 |
JPWO2020105189A1 (en) | 2021-09-27 |
WO2020105189A1 (en) | 2020-05-28 |
US11782446B2 (en) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214248B (en) | Method and device for identifying laser point cloud data of unmanned vehicle | |
CN110260867B (en) | Method, equipment and device for determining and correcting neutral position in robot navigation | |
CN107436148B (en) | Robot navigation method and device based on multiple maps | |
CN109901138B (en) | Laser radar calibration method, device, equipment and storage medium | |
US10151598B2 (en) | Method and device for operating a vehicle and driver assistance system | |
JP6246609B2 (en) | Self-position estimation apparatus and self-position estimation method | |
US11846511B2 (en) | Sampling method and system for path planning of mobile robot in man-machine environment | |
CN110119140A (en) | System and method for acceleration curve projection | |
CN110858075B (en) | Mobile robot cross-region method, device and scheduling system | |
KR20150086065A (en) | System and method for path planning for autonomous navigation of driverless ground vehicle | |
CN109974699B (en) | Robot and map autonomous exploration method and device thereof | |
JP2011064523A (en) | Positioning combination determination system | |
IL255050A (en) | Control over an autonomic vehicle | |
EP4170581A1 (en) | Method, device and system for cooperatively constructing point cloud map | |
US11782446B2 (en) | Route planning apparatus, route planning method, and computer-readable recording medium | |
EP3828587A1 (en) | Method for determining the position of a vehicle | |
US11874123B2 (en) | Route planning apparatus, route planning method, and computer-readable recording medium | |
WO2021246169A1 (en) | Information processing device, information processing system, method, and program | |
US20210358166A1 (en) | Methods, apparatuses, systems, and storage media for loading visual localization maps | |
CN111750888B (en) | Information interaction method and device, electronic equipment and computer readable storage medium | |
US11402215B2 (en) | Indoor positioning method for a moving apparatus using first and second two-dimensional maps of z-axis areas | |
KR102097722B1 (en) | Apparatus and method for posture estimation of robot using big cell grid map and recording medium storing program for executing the same and computer program stored in recording medium for executing the same | |
US20230273621A1 (en) | Information processing apparatus, information processing method, and program | |
CN112197763B (en) | Map construction method, device, equipment and storage medium | |
JP7144491B2 (en) | FORKLIFT, POSITION ESTIMATION METHOD, AND PROGRAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NEC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MACHIDA, MANAO;REEL/FRAME:056284/0520 Effective date: 20210226 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: AWAITING TC RESP., ISSUE FEE NOT PAID |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |