WO2024070877A1 - 経路設定方法、プログラム及び移動体 - Google Patents

経路設定方法、プログラム及び移動体 Download PDF

Info

Publication number
WO2024070877A1
WO2024070877A1 PCT/JP2023/034224 JP2023034224W WO2024070877A1 WO 2024070877 A1 WO2024070877 A1 WO 2024070877A1 JP 2023034224 W JP2023034224 W JP 2023034224W WO 2024070877 A1 WO2024070877 A1 WO 2024070877A1
Authority
WO
WIPO (PCT)
Prior art keywords
waypoint
path
route
setting
moving body
Prior art date
Application number
PCT/JP2023/034224
Other languages
English (en)
French (fr)
Inventor
広昂 岡崎
健司 ▲高▼尾
Original Assignee
三菱重工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱重工業株式会社 filed Critical 三菱重工業株式会社
Publication of WO2024070877A1 publication Critical patent/WO2024070877A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/40Control within particular dimensions
    • G05D1/43Control of position or course in two dimensions

Definitions

  • This disclosure relates to a route setting method, a program, and a mobile object.
  • Patent Document 1 describes setting a path from a start point to an end point so as to avoid prohibited areas.
  • the moving object may move along a turning path, and it is necessary to set such a turning path appropriately.
  • the present disclosure aims to solve the above-mentioned problems and provide a route setting method, program, and moving body that can appropriately set a turning route.
  • the route setting method includes a step of acquiring information on waypoints through which a moving body should pass, and a step of setting a route for the moving body based on the waypoints.
  • steps connecting the waypoints include a first path and a second path intersecting the first path, and the waypoint on the first path that is closest to the second path is set as the first waypoint, and the waypoint on the second path that is closest to the first path is set as the second waypoint, if a first route passing through a position within a predetermined distance from the first waypoint and a position within a predetermined distance from the second waypoint cannot be set, a third waypoint that is in the same position as the first waypoint or further from the second path than the first waypoint, and a fourth waypoint that is in the same position as the second waypoint or further from the first path than the second waypoint are set such that the distance from the third waypoint to the fourth waypoint is longer than the distance from the first waypoint to the second waypoint.
  • the program disclosed herein is a program that causes a computer to execute a step of acquiring information on waypoints through which a moving body should pass, and a step of setting a route for the moving body based on the waypoints, and in the step of setting the route for the moving body, when paths connecting the waypoints include a first path, and a second path and a third path that intersect with the first path, and when the waypoint on the first path that is closest to the second path is defined as the first waypoint, and the waypoint on the second path that is closest to the first path is defined as the second waypoint, a position within a predetermined distance from the first waypoint and the second waypoint are determined.
  • a third waypoint that is in the same position as the first waypoint or farther from the second path than the first waypoint, and a fourth waypoint that is in the same position as the second waypoint or farther from the first path than the second waypoint are set such that the distance from the third waypoint to the fourth waypoint is longer than the distance from the first waypoint to the second waypoint, and a route that passes through a position within a predetermined distance from the third waypoint and a position within a predetermined distance from the fourth waypoint is set as the route of the moving body.
  • the moving body according to the present disclosure is a moving body that moves along a route set based on information on waypoints to be passed through, and the route includes a first path and a second path that intersects with the first path, and the waypoint of the first path that is closest to the second path is set as the first waypoint, and the waypoint of the second path that is closest to the first path is set as the second waypoint.
  • a first route cannot be set that passes through a position within a predetermined distance from the first waypoint and a position within a predetermined distance from the second waypoint
  • the route is set to pass through a position within a predetermined distance from a third waypoint and a position within a predetermined distance from a fourth waypoint
  • the third waypoint is located at the same position as the first waypoint or at a position farther from the second path than the first waypoint
  • the fourth waypoint is located at the same position as the second waypoint or at a position farther from the first path than the second waypoint
  • the distance from the third waypoint to the fourth waypoint is longer than the distance from the first waypoint to the second waypoint.
  • the turning path can be set appropriately.
  • FIG. 1 is a schematic diagram of a mobility control system according to the present embodiment.
  • FIG. 2 is a schematic diagram of the configuration of a moving body.
  • FIG. 3 is a schematic block diagram of the management device.
  • FIG. 4 is a schematic block diagram of an information processing device.
  • FIG. 5 is a schematic block diagram of a control device for a moving object.
  • FIG. 6 is a schematic diagram showing an example of a waypoint through which a moving object should pass.
  • FIG. 7 is a schematic diagram showing an example of setting a turning route.
  • FIG. 8 is a schematic diagram showing an example of setting a turning route.
  • FIG. 9 is a schematic diagram showing another example of setting a turning route.
  • FIG. 10 is a schematic diagram illustrating an example of a method for setting a waypoint.
  • FIG. 10 is a schematic diagram illustrating an example of a method for setting a waypoint.
  • FIG. 11A is a flowchart illustrating the process flow of route setting according to this embodiment.
  • FIG. 11B is a schematic diagram showing another example of setting a turning path.
  • FIG. 12 is a schematic diagram for explaining the setting of the prohibited area.
  • FIG. 13 is a schematic diagram for explaining the setting of the prohibited area.
  • FIG. 1 is a schematic diagram of a movement control system according to the present embodiment.
  • the movement control system 1 includes a moving body 10, a management device 12, and an information processing device 14.
  • the movement control system 1 is a system that controls the movement of a moving body 10 belonging to a facility W.
  • the facility W is, for example, a facility that is managed by logistics, such as a warehouse, but may be any facility that operates the moving body 10.
  • the moving body 10 picks up a target object placed within an area AR of the facility W and transports it.
  • the area AR is, for example, the floor surface of the facility W, and is an area in which the target object is installed and the moving body 10 moves.
  • the target object transported by the moving body 10 is a transport target object in which luggage is loaded on a pallet.
  • the target object is not limited to a pallet with luggage loaded on it and may be of any form, for example, it may be only luggage without a pallet.
  • the moving body 10 is not limited to a device that transports a target object, and may be a device that moves within the facility W for any purpose.
  • the X direction is referred to as the X direction
  • a direction along the area AR that intersects with the X direction is referred to as the Y direction.
  • the Y direction is a direction perpendicular to the X direction.
  • the X and Y directions may be said to be directions along a horizontal plane.
  • the direction perpendicular to the X and Y directions, more specifically, the direction going vertically upward, is referred to as the Z direction.
  • position refers to a position (coordinate) in a coordinate system on a two-dimensional surface on the area AR (the coordinate system of the area AR).
  • the "posture” of the moving body 10, etc. refers to the orientation of the moving body 10, etc. in the coordinate system of the area AR, and refers to the yaw angle (rotation angle) of the moving body 10 when viewed from the Z direction, with the X direction being 0°.
  • FIG. 2 is a schematic diagram of the configuration of the moving body.
  • the moving body 10 is a device capable of moving automatically.
  • the moving body 10 is a non-holonomic system that cannot move sideways.
  • the moving body 10 is a device capable of transporting a target object. More specifically, in this embodiment, the moving body 10 is a forklift, more specifically, a so-called AGV (Automated Guided Vehicle) or AGF (Automated Guided Forklift).
  • AGV Automate Guided Vehicle
  • AGF Automatic Guided Forklift
  • the moving body 10 is not limited to being a forklift that transports a target object, and may be any device capable of moving automatically.
  • the moving body 10 includes a vehicle body 20, wheels 20A, straddle legs 21, a mast 22, a fork 24, a sensor 26A, and a control device 28.
  • the straddle legs 21 are provided at one end of the vehicle body 20 in the fore-and-aft direction, and are a pair of shaft-shaped members protruding from the vehicle body 20.
  • the wheels 20A are provided at the tip of each straddle leg 21 and on the vehicle body 20. That is, a total of three wheels 20A are provided, but the positions and number of the wheels 20A may be arbitrary.
  • the mast 22 is movably attached to the straddle legs 21 and moves in the fore-and-aft direction of the vehicle body 20.
  • the mast 22 extends along the up-and-down direction (here, direction Z) perpendicular to the fore-and-aft direction.
  • the fork 24 is attached to the mast 22 movably in direction Z.
  • the fork 24 may also be movable in the lateral direction of the vehicle body 20 (a direction intersecting the up-and-down and fore-and-aft directions) relative to the mast 22.
  • the fork 24 has a pair of claws 24A, 24B.
  • the claws 24A, 24B extend from the mast 22 toward the front of the vehicle body 20.
  • the claws 24A and 24B are arranged apart from each other in the lateral direction of the mast 22.
  • the front direction the direction toward the side of the moving body 10 where the fork 24 is provided
  • the rear direction the direction toward the side where the fork 24 is not provided
  • Sensor 26A detects at least one of the position and posture of an object present around vehicle body 20. Sensor 26A can also be said to detect at least one of the position of an object relative to moving body 10 and the posture of the object relative to moving body 10. In this embodiment, sensor 26A is provided at the forward tip of each straddle leg 21 and at the rear side of vehicle body 20. However, the position at which sensor 26A is provided is not limited to this, and sensor 26A may be provided at any position, and the number of sensors provided may also be arbitrary.
  • Sensor 26A is, for example, a sensor that irradiates laser light. Sensor 26A irradiates laser light while scanning in one direction (here, the horizontal direction) and detects the position and orientation of an object from the reflected light of the irradiated laser light. In other words, sensor 26A can also be said to be a so-called two-dimensional (2D) LiDAR (Light Detection and Ranging). However, sensor 26A is not limited to the above and may be a sensor that detects an object by any method, for example, it may be a so-called three-dimensional (3D) LiDAR that scans in multiple directions, a so-called one-dimensional (1D) LiDAR that does not scan, or it may be a camera.
  • 3D three-dimensional
  • the control device 28 controls the movement of the moving body 10.
  • the control device 28 will be described later.
  • FIG. 3 is a schematic block diagram of the management device.
  • the management device 12 is a system that manages the logistics in the facility W.
  • the management device 12 is a WCS (warehouse control system) or a WMS (warehouse management system), but is not limited to a WCS or a WMS and may be any system, for example, a back-end system such as other production management systems.
  • the location where the management device 12 is installed is arbitrary, and may be installed in the facility W or may be installed at a location away from the facility W to manage the facility W from the remote location.
  • the management device 12 is a computer, and includes a communication unit 30, a storage unit 32, and a control unit 34 as shown in FIG. 3.
  • the communication unit 30 is a module used by the control unit 34 to communicate with an external device such as the information processing device 14, and may include, for example, an antenna.
  • the communication method used by the communication unit 30 is wireless communication, but any communication method may be used.
  • the storage unit 32 is a memory that stores various information such as the calculation contents and programs of the control unit 34, and includes, for example, at least one of a RAM (Random Access Memory), a main storage device such as a ROM (Read Only Memory), and an external storage device such as a HDD (Hard Disk Drive).
  • the control unit 34 is a calculation device and includes a calculation circuit such as a CPU (Central Processing Unit).
  • the control unit 34 includes a destination information setting unit 40.
  • the control unit 34 realizes the destination information setting unit 40 and executes the processing by reading and executing a program (software) from the storage unit 32.
  • the control unit 34 may execute the processing by one CPU, or may be provided with multiple CPUs and execute the processing by the multiple CPUs.
  • the destination information setting unit 40 may also be realized by a hardware circuit.
  • the program for the control unit 34 saved in the storage unit 32 may also be stored in a recording medium that can be read by the management device 12.
  • the destination information setting unit 40 sets destination information that indicates the destination of the moving body 10. Setting of destination information will be described later.
  • the management device 12 may also perform processes other than setting destination information.
  • the management device 12 may also set information for controlling mechanisms (e.g., elevators, doors, etc.) other than the moving body 10 provided in the facility W.
  • FIG. 4 is a schematic block diagram of an information processing device.
  • the information processing device 14 is provided in the facility W and is a device that processes information related to the movement of the mobile body 10.
  • the information processing device 14 is, for example, an FCS (Fleet Control System), but is not limited thereto, and may be any device that processes information related to the movement of the mobile body 10.
  • the information processing device 14 is a computer, and includes a communication unit 50, a storage unit 52, and a control unit 54 as shown in FIG. 4.
  • the communication unit 50 is a module used by the control unit 54 to communicate with external devices such as the management device 12 and the mobile body 10, and may include, for example, an antenna.
  • the communication method by the communication unit 50 is wireless communication, but the communication method may be any communication method.
  • the storage unit 52 is a memory that stores various information such as the calculation contents and programs of the control unit 54, and includes, for example, at least one of a RAM, a main storage device such as a ROM, and an external storage device such as a HDD.
  • the control unit 54 is a calculation device and includes a calculation circuit such as a CPU.
  • the control unit 54 includes a waypoint setting unit 60 and a route setting unit 62.
  • the control unit 54 realizes the waypoint setting unit 60 and the route setting unit 62 by reading and executing a program (software) from the storage unit 52, and executes these processes.
  • the control unit 54 may execute these processes using one CPU, or may be provided with multiple CPUs and execute the processes using these multiple CPUs. At least a part of the waypoint setting unit 60 and the route setting unit 62 may be realized by a hardware circuit.
  • the program for the control unit 54 saved in the storage unit 52 may be stored in a recording medium readable by the information processing device 14.
  • the waypoint setting unit 60 sets waypoints WP through which the moving body 10 should pass.
  • a waypoint WP is a preset point for each position (coordinate) on the area AR.
  • the waypoints WP are set according to the layout of the facility W.
  • the waypoint setting unit 60 sets the waypoints WP through which the moving body 10 should pass from among the preset waypoints WP.
  • the route setting unit 62 sets the route R along which the moving body 10 should move based on the set waypoints WP. The method of setting the waypoints WP and route R will be described later.
  • the management device 12 and the information processing device 14 are separate devices, but they may be integrated devices. That is, the management device 12 may have at least some of the functions of the information processing device 14, and the information processing device 14 may have at least some of the functions of the management device 12.
  • FIG. 5 is a schematic block diagram of the control device of the moving body.
  • the control device 28 is a device that controls the moving body 10.
  • the control device 28 is a computer, and includes a communication unit 70, a storage unit 72, and a control unit 74, as shown in FIG. 5.
  • the communication unit 70 is a module used by the control unit 74 to communicate with an external device such as the information processing device 14, and may include, for example, an antenna.
  • the communication method by the communication unit 70 is wireless communication, but the communication method may be arbitrary.
  • the storage unit 72 is a memory that stores various information such as the calculation contents and programs of the control unit 74, and includes, for example, at least one of a RAM, a main storage device such as a ROM, and an external storage device such as an HDD.
  • the control unit 74 is a calculation device and includes a calculation circuit such as a CPU.
  • the control unit 74 includes a route acquisition unit 80, a self-location acquisition unit 82, and a movement control unit 84.
  • the control unit 74 realizes the route acquisition unit 80, the self-location acquisition unit 82, and the movement control unit 84 by reading and executing a program (software) from the storage unit 72, and executes these processes.
  • the control unit 74 may execute these processes using one CPU, or may be provided with multiple CPUs and execute the processes using these multiple CPUs.
  • at least a part of the route acquisition unit 80, the self-location acquisition unit 82, and the movement control unit 84 may be realized by a hardware circuit.
  • the program for the control unit 74 stored in the storage unit 72 may be stored in a recording medium that can be read by the control device 28.
  • the route acquisition unit 80 acquires information on the route R.
  • the self-position acquisition unit 82 acquires position information of the mobile body 10.
  • the movement control unit 84 controls the movement of the mobile body 10 by controlling the driving unit, steering, and other movement mechanisms of the mobile body 10. The specific processing content of these will be described later.
  • the destination information setting unit 40 of the management device 12 sets destination information indicating the destination of the moving body 10.
  • the destination information setting unit 40 may specify the position (coordinates) of the destination itself as the destination information.
  • an identifier is assigned to each waypoint WP, and the destination information setting unit 40 may specify the identifier of the waypoint WP corresponding to the destination as the destination information.
  • the destination information setting unit 40 may set the destination information by any method. For example, the destination information setting unit 40 may acquire order information indicating the target object to be transported and the transport origin and destination, and set the destination information based on the order information.
  • the destination information setting unit 40 transmits the set destination information to the information processing device 14 via the communication unit 30.
  • the waypoint setting unit 60 of the information processing device 14 acquires information on the waypoints WP through which the moving body 10 should pass.
  • the waypoint setting unit 60 may acquire information on the waypoints WP by any method.
  • the waypoint setting unit 60 may acquire information on the waypoints WP from another device such as the management device 12, but in this embodiment, the waypoint setting unit 60 sets the waypoints WP through which the moving body 10 should pass based on the destination information.
  • the waypoint setting unit 60 sets the waypoints WP of the origin (start point), the waypoints WP of the destination (arrival point), and the waypoints WP connecting the waypoints WP of the origin and the waypoints WP of the destination as the waypoints WP through which the moving body 10 should pass.
  • the waypoints WP of the origin may be set arbitrarily, and for example, the waypoints WP closest to the current position of the moving body 10 may be set as the waypoints WP of the origin.
  • the destination waypoint WP may be set arbitrarily. For example, a waypoint WP at a position corresponding to the destination of the moving body 10 indicated in the destination information may be set as the destination waypoint WP.
  • FIG. 6 is a schematic diagram showing an example of waypoints through which a moving body should pass.
  • the waypoint setting unit 60 sets the waypoints WP such that the paths connecting the waypoints WP set by the waypoint setting unit 60 include a first path P1, a second path P2 that intersects with the first path P1, and a connection path P3 that intersects with the first path P1 and the second path P2 and connects the first path and the second path P2.
  • the path here is a line connecting the waypoints WP set by the waypoint setting unit 60.
  • the connection path P3 is a path connected to the end of the first path P1 on the destination side of the moving body 10, and intersects with the first path P1.
  • connection path P3 is a path connected to the end of the second path P2 on the source side of the moving body 10, and also intersects with the second path P2.
  • the second path P2 is a path connected to the end of the connection path P3 on the destination side of the moving body 10, and intersects with the first path P1 and the connection path P3.
  • paths intersect this means that the paths are not continuously connected, but are connected through a point where they are bent at an extreme value. That is, for example, the first path P1 and the second path P2 in this example are parallel routes, but are discontinuously connected through the connection path P3, so they can be said to intersect.
  • first path and the connection path P3 are connected through a point where they are bent at an extreme value (waypoint WP1A), so they can be said to intersect.
  • first path P1, the second path P2, and the connection path P3 are linear, but are not limited to this and may be curved.
  • FIG. 6 shows an example of the first path P1, the second path P2, and the connection path P3.
  • the direction from the waypoint WPA to the waypoint WPB is the direction of movement of the moving body 10
  • the waypoints WP through which the moving body 10 should pass are set to include the first path P1 connecting the waypoint WPA and the waypoint WP1, the second path P2 connecting the waypoint WP2 and the waypoint WPB, and the connection path P3 connecting the first path P1 and the second path P2.
  • the waypoint WP1 (first waypoint) is the waypoint WP that is closest to the second path P2 among the waypoints WP included in the first path P1.
  • the waypoint WP1A is the waypoint WP adjacent to the destination side (second path P2 side) of the waypoint WP1, and is the connection point (the point where it is bent with an extreme value) between the first path P1 and the connection path P3.
  • the waypoint WP2 (second waypoint) is the waypoint WP closest to the first path P1 among the waypoints WP included in the second path P2.
  • the waypoint WP2A is the waypoint WP adjacent to the origin side (second path P2 side) of the waypoint WP2, and is the connection point (point where the extremum is bent) between the second path P2 and the connection path P3.
  • the waypoints WP1A and WP2A are not called waypoints WP on the connection path P3, but are called the waypoints at the connection point (corner portion) between the first path P1 and the connection path P3, and the waypoints at the connection point (corner portion) between the second path P2 and the connection path P3, respectively. That is, in this example, the connection path P3 can be said to include each waypoint from the waypoint adjacent to the destination side of the waypoint WP1A to the waypoint adjacent to the origin side of the waypoint WP2A.
  • the route setting unit 62 of the information processing device 14 sets a route R along which the moving body 10 moves based on the waypoint WP set by the waypoint setting unit 60.
  • the route setting unit 62 sets a route that passes through a position within a predetermined distance range from the waypoint WP set by the waypoint setting unit 60 as the route R.
  • the route setting unit 62 calculates a route that satisfies a constraint condition based on the motion characteristics of the moving body 10 and passes through a position within a predetermined distance range from the waypoint WP set by the waypoint setting unit 60 by optimization calculation, and sets the route R.
  • the constraint condition in the optimization calculation includes the minimum turning radius of the moving body 10.
  • the constraint condition may include at least one (preferably all) of passing through a position within a predetermined distance range from the set waypoint WP, the upper limit speed of the moving body 10, and the moving body 10 not entering a prohibited area where entry is prohibited.
  • the predetermined distance here may be set appropriately.
  • a method for setting the route R using optimization calculations will be described.
  • a method for setting the route R using the collocation method (trapezoidal rule) is used as an example, but the method for setting the route R is not limited to the following example and may be any method.
  • the operation variable of the moving body 10 at calculation point i is u (i)
  • the state variable of the moving body 10 at calculation point i is x (i)
  • the change amount of the state variable is f
  • the operation variable, state variable, and change amount of the state variable of the moving body 10 are expressed, as an example, by the following equations (1) to (3).
  • v (i) is the speed of the moving body 10
  • ⁇ (i) is the steering angle of the moving body 10.
  • ⁇ (i) is the azimuth angle (attitude) of the moving body 10
  • px (i) and py (i) are the X- and Y-coordinates of the moving body 10
  • ⁇ t is the time between calculation points.
  • the path setting unit 62 performs, for example, an optimization calculation shown in the following formula (4) to calculate a path R. More specifically, the path setting unit 62 performs an optimization calculation of formula (4) while satisfying the constraints of the following formulas (5) and (6) to calculate a path R.
  • N u is the number of control variables
  • N x is the number of state variables
  • N is the number of calculation points
  • J is an evaluation function value.
  • H in formula (6) indicates a constraint condition.
  • FIG. 7 and 8 are schematic diagrams showing an example of setting a turning route.
  • the route setting unit 62 determines whether a route Ra including a route R2a (first route) can be set.
  • the route R2a is a turning route that passes through a position within a predetermined distance range from the waypoint WP1 (first waypoint) and a position within a predetermined distance range from the waypoint WP2 (second waypoint). Specifically, as shown in FIG.
  • the route Ra includes a route R1a corresponding to the first path P1, a route R2a corresponding to the connecting path P3, and a route R3a corresponding to the second path P2.
  • the route R1a is a route that passes through each position within a predetermined distance range from each waypoint WP from the waypoint WPA included in the first path P1 to the waypoint WP1.
  • the route R1a passes over each waypoint WP from waypoint WPA to waypoint WP1, but is not limited thereto, and may pass through a position a predetermined distance away from each waypoint WP, and the same applies to other routes.
  • the route R2a is a route that passes through a position within a predetermined distance range of the waypoint WP1 and a position within a predetermined distance range of the waypoint WP2. That is, in this embodiment, when setting the route R2a, a constraint condition is not set that passes through each position within a predetermined distance range of each waypoint WP (waypoint WP1A to waypoint WP2A) included in the connection path P3, but a constraint condition is set that passes through each position within a predetermined distance range of the waypoint WP1 and the waypoint WP2.
  • the route R3a is a route that passes through each position within a predetermined distance range of each waypoint WP from waypoint WP2 to waypoint WPB included in the second path P2.
  • the route setting unit 62 sets the route Ra as the route R along which the moving body 10 will move.
  • the route setting unit 62 resets the target waypoint WP that passes through a position within the predetermined distance range, and sets a route Rb including route R2b, which is a turning route, based on the reset waypoint WP. The method of setting route Rb will be described below.
  • route Ra cannot be set may be arbitrary, but for example, it may be determined that route Ra cannot be set when an optimized route R2a cannot be calculated that passes through each position within a predetermined distance range from waypoint WP1 and waypoint WP2 (second waypoint) and satisfies other constraints.
  • the route setting unit 62 sets a waypoint WP4 (fourth waypoint) located at a position (position on the destination side) farther from the first path P1 than the waypoint WP2, as shown in FIG. 8. Then, the route setting unit 62 sets a route Rb including a route R2b based on the waypoint WP4.
  • the route R2b is a turning route that passes through a position within a predetermined distance range from the waypoint WP1 and a position within a predetermined distance range from the waypoint WP4. Specifically, as shown in FIG.
  • the route Rb is a route that includes a route R1b corresponding to the first path P1, a route R2b corresponding to the connection path P3, and a route R3b corresponding to the second path P2.
  • the route R1b is a route that passes through each position within a predetermined distance range from the waypoint WP from the waypoint WPA to the waypoint WP1.
  • the route R2b is a route that passes through a position within a predetermined distance range from the waypoint WP1 and a position within a predetermined distance range from the waypoint WP4, as described above.
  • route R2b when setting route R2b, a constraint condition is set so that the route passes through each position within a predetermined distance range from waypoint WP1 and waypoint WP4.
  • Route R3b is a route that passes through each position within a predetermined distance range from each waypoint WP from waypoint WP4 to waypoint WPB.
  • the route setting unit 62 sets route Rb, which includes the set route R2b, as route R along which the moving body 10 will travel.
  • route R2a which is a turning route passing through waypoints WP1 and WP2
  • route R2b which has the constraint of passing through waypoints WP1 and WP4. This makes it possible to lengthen the distance from the start point to the end point of the turning route, making it easier to set a turning route that satisfies the constraint, and making it possible to appropriately set the turning route.
  • route R2b is set with the constraint of passing through waypoints WP1 and WP4, but this is not limited to this.
  • Route R2b may be any route in which the distance from the starting point waypoint WP to the ending point waypoint WP is longer than the distance from the starting point waypoint WP1 of route R2a to the ending point waypoint WP2. Other examples of route R2b will be explained below.
  • FIG. 9 is a schematic diagram showing another example of setting a turning route.
  • the route setting unit 62 may set a waypoint WP3 (third waypoint) located at a position (position on the movement origin side) farther from the second path P2 than the waypoint WP1, as shown in FIG. 9.
  • the route setting unit 62 may then set a route Rb including a route R2b based on the waypoint WP3.
  • the route R2b is a turning route that passes through a position within a predetermined distance range from the waypoint WP3 and a position within a predetermined distance range from the waypoint WP2. Specifically, as shown in FIG.
  • the route Rb is a route that includes a route R1b corresponding to the first path P1, a route R2b corresponding to the connection path P3, and a route R3b corresponding to the second path P2.
  • the route R1b is a route that passes through each position within a predetermined distance range from each waypoint WP from the waypoint WPA to the waypoint WP3.
  • route R2b is a route that passes through a position within a predetermined distance range of waypoint WP3 and a position within a predetermined distance range of waypoint WP2. That is, in this example, when setting route R2b, a constraint condition is set so that route R2b passes through each position within a predetermined distance range of waypoint WP3 and waypoint WP2.
  • Route R3b is a route that passes through each position within a predetermined distance range of each waypoint WP from waypoint WP2 to waypoint WPB. As in the example of FIG. 9, by attempting to set route R2b with a constraint condition of passing through waypoints WP3 and WP2, it is possible to lengthen the distance from the start point to the end point of the turning route and set the turning route appropriately.
  • the route setting unit 62 may set route R2b to pass through positions within a predetermined distance range of waypoint WP3, which is located farther from the second path P2 than waypoint WP1, and waypoint WP4, which is located farther from the first path P1 than waypoint WP2.
  • the route setting unit 62 sets the same position as waypoint WP1 or a position farther from the second path P2 than waypoint WP1 as the third waypoint (here, waypoint WP1 or waypoint WP3), and sets the same position as waypoint WP2 or a position farther from the first path P1 than waypoint WP2 as the fourth waypoint (here, waypoint WP2 or waypoint WP4).
  • the route setting unit 62 sets route Rb, which includes route R2b that passes through a position within a predetermined distance from the third waypoint and a position within a predetermined distance from the fourth waypoint, as the route R of the moving body.
  • the third waypoint and the fourth waypoint are set at positions such that the distance from the third waypoint to the fourth waypoint is longer than the distance from waypoint WP1 to waypoint WP2.
  • the route setting unit 62 may re-set at least one of the third waypoint and the fourth waypoint to be further away from the second path P2 and re-attempt to set the route R2b.
  • the route setting unit 62 may re-set at least one of the third waypoint and the fourth waypoint and set the route R2b with the constraint of passing through the re-set third waypoint and the fourth waypoint. For example, in the example of FIG.
  • the route setting unit 62 re-sets the waypoint WP4 to a position farther from the first path P1 than the original waypoint WP4, and re-sets the route that passes through the waypoint WP1 and the re-set waypoint WP4 as the route R2b. Also, for example, in the example of FIG. 9, if route R2b passing through waypoints WP3 and WP2 cannot be set, the route setting unit 62 resets waypoint WP3 to a position farther from the second path P2 than the original waypoint WP3, and resets the route passing through the reset waypoint WP3 and waypoint WP2 as route R2b.
  • the route setting unit 62 may repeat the process of resetting at least one of the third waypoint and the fourth waypoint until route R2b can be set. If route R2b cannot be set even after repeating the process of resetting at least one of the third waypoint and the fourth waypoint a predetermined number of times, the waypoint setting unit 60 may reset the waypoint WP through which the moving body 10 should pass. That is, in this case, the waypoint setting unit 60 resets each waypoint WP connecting the source waypoint WP and the destination waypoint WP to pass through another path, and sets them as waypoints WP through which the moving body 10 should pass. In this case, the route setting unit 62 sets route R based on the reset waypoints WP.
  • the waypoints WP3 and WP4 used to set the route R2b may be set at any positions farther from the second path P2 than the waypoints WP1 and WP4.
  • the route setting unit 62 may set a position on the first path P1 that is a predetermined distance away from the waypoint WP1 on the side away from the second path P2 as the waypoint WP3 (third waypoint). If the route R2b cannot be set using the set waypoint WP3, a position on the first path P1 that is a predetermined distance away from the set waypoint WP3 on the side away from the second path P2 may be set again as the waypoint WP3.
  • the waypoint WP3 may be updated so that it is spaced apart from the second path P2 by equal distances until the route R2b can be set.
  • the route setting unit 62 may set a position on the second path P2 that is a predetermined distance away from the waypoint WP2 on the side away from the first path P1 as the waypoint WP4 (fourth waypoint).
  • a position on the second path P2 that is a predetermined distance away from the set waypoint WP4 on the side away from the first path P1 may be set as the waypoint WP4.
  • the waypoint WP4 may be updated so that it moves an equal distance away from the first path P1 until route R2b can be set.
  • the route setting unit 62 may set waypoints WP3 and WP4 using a binary search.
  • Figure 10 is a schematic diagram illustrating an example of a method for setting waypoints.
  • the waypoint setting unit 60 sets the waypoint WP to which the moving body 10 should move so as to include the fourth path P4.
  • the fourth path P4 is connected to the end of the first path P1 on the movement source side and intersects with the first path P1.
  • the waypoint WP closest to the fourth path P4 is set as the waypoint WP5 (fifth waypoint).
  • the route setting unit 62 sets the waypoint WP3 by binary search using the waypoint WP1 and the waypoint WP5.
  • the route setting unit 62 first attempts to set the route R2b by setting the central position (first central position) between the waypoint WP1 and the waypoint WP5 on the first path P1 as the waypoint WP3. If route R2b can be set with the first central position as waypoint WP3, the central position (second central position) between the first central position and waypoint WP1 on the first path P1 is set as the new waypoint WP3, and route R2b is set. On the other hand, if route R2b cannot be set with the first central position as waypoint WP3, route R2b is set with the central position (third central position) between the first central position and waypoint WP5 on the first path P1 as waypoint WP3.
  • route R2b can be set, the waypoint WP3 is reset to the side of waypoint WP1, and if route R2b cannot be set, the final waypoint WP3 is set by repeating the binary search process to reset the waypoint WP3 to the side of waypoint WP5.
  • the waypoint setting unit 60 sets the waypoint WP to which the moving body 10 should move so as to include the fifth path P5.
  • the fifth path P5 is a path that is connected to the end of the second path P2 on the destination side and intersects with the second path P2.
  • the waypoint WP closest to the fifth path P5 is set as the waypoint WP6 (sixth waypoint).
  • the route setting unit 62 sets the waypoint WP4 by binary search using the waypoints WP2 and WP6.
  • the route setting unit 62 first attempts to set the route R2b by setting the central position (first central position) between the waypoints WP2 and WP6 on the second path P2 as the waypoint WP4. If route R2b can be set with the first central position as waypoint WP4, the central position (second central position) between the first central position and waypoint WP2 on the second path P2 is set as the new waypoint WP4, and route R2b is set. On the other hand, if route R2b cannot be set with the first central position as waypoint WP4, route R2b is set with the central position (third central position) between the first central position and waypoint WP6 on the second path P2 as waypoint WP4.
  • waypoint WP4 is reset to the side of waypoint WP2
  • route R2b cannot be set
  • the final waypoint WP4 is set by repeating the binary search process to reset waypoint WP4 to the side of waypoint WP6.
  • the route R of the moving body 10 is set as described above.
  • the control device 28 of the moving body 10 acquires information on the route R via the route acquisition unit 80.
  • the control device 28 of the moving body 10 moves the moving body 10 according to the acquired route R by the movement control unit 84.
  • the control device 28 moves the moving body 10 so as to pass through the route R by sequentially grasping the position information of the moving body 10 (for example, the position and attitude of the moving body 10) by the self-position acquisition unit 82.
  • the method of acquiring the position information of the moving body 10 is arbitrary, but for example, in this embodiment, a detection body (not shown) is provided in the facility W, and the self-position acquisition unit 82 acquires the information on the position and attitude of the moving body 10 based on the detection of the detection body.
  • the moving body 10 irradiates a laser light toward the detection body and receives the reflected light of the laser light by the detection body to detect its own position and attitude in the facility W.
  • the method of acquiring the information on the position and attitude of the moving body 10 is not limited to using the detection body, and for example, SLAM (Simultaneous Localization And Mapping) may be used.
  • FIG. 11A is a flowchart for explaining the process flow of setting the route according to this embodiment.
  • the information processing device 14 sets the waypoint WP through which the moving body 10 should pass by using the waypoint setting unit 60 (step S10), and attempts to set the route R2a that passes through a position within a predetermined distance range from the waypoint WP1 and the waypoint WP2 using the route setting unit 62 (step S12). If the route R2a can be set (step S12; Yes), the route Ra including the route R2a is set as the route R along which the moving body 10 moves (step S14).
  • the route setting unit 62 sets the waypoint WP4 (step S16) and attempts to set the route R2b that passes through a position within a predetermined distance range from the waypoint WP1 and the waypoint WP4 (step S18). If the route R2b cannot be set (step S18; No), the process returns to step S16, the waypoint WP4 is set again, and the subsequent processes are repeated. If the route R2b can be set (step S18; Yes), the route Rb including the route R2b is set as the route R along which the moving body 10 moves (step S10).
  • the route R2b passing through positions within a predetermined distance range from the waypoint WP1 and the waypoint WP4 is set, but as described above, the route R2b passing through the third waypoint and the fourth waypoint may be set.
  • FIG. 11B is a schematic diagram showing another example of setting a turning route.
  • the first path P1 and the second path P2 are connected to cross each other via the waypoint WP1A.
  • the route setting unit 62 judges whether a route R2a can be set, which is a turning route that passes through a position within a predetermined distance range of the waypoint WP1 and a position within a predetermined distance range of the waypoint WP2.
  • the route setting unit 62 sets the same position as the waypoint WP1 or a position farther from the second path P2 than the waypoint WP1 as the third waypoint (here, waypoint WP1 or waypoint WP3), and sets the same position as the waypoint WP2 or a position farther from the first path P1 than the waypoint WP2 as the fourth waypoint (here, waypoint WP2 or waypoint WP4).
  • the route setting unit 62 can be said to set route Rb, which includes route R2b that passes through a position within a predetermined distance from the third waypoint and a position within a predetermined distance from the fourth waypoint, as route R for the moving body.
  • route R when setting route R based on waypoints WP including the first path P1 and the second path P2, if route R2a cannot be set that passes through a position within a predetermined distance range from waypoints WP1 and WP2, the third and fourth waypoints, which are longer in distance, are set. Then, route R2b that passes through a position within a predetermined distance range from the third and fourth waypoints is set, and route Rb including route R2b is set as route R for the moving body 10. Therefore, according to this embodiment, it is possible to lengthen the distance from the start point to the end point of the turning route, making it easier to set a turning route that satisfies the constraints, and it becomes possible to appropriately set route R including the turning route.
  • the information processing device 14 sets the waypoints WP and route R through which the moving body 10 should pass by using the waypoint setting unit 60 and route setting unit 62.
  • the entity that sets the waypoints WP and route R is not limited to the information processing device 14 and may be any entity.
  • the moving body 10 may include the waypoint setting unit 60 and set the waypoints WP through which the moving body 10 should pass.
  • the moving body 10 may include the route setting unit 62 and set the route R based on the set waypoints WP.
  • the second embodiment differs from the first embodiment in that a prohibited area is set based on a route RB set for another moving body, and a route R for the moving body 10 is set so as not to pass through the prohibited area.
  • a description of the configuration common to the first embodiment will be omitted.
  • the moving body 10 for which the route R is set is the moving body 10A
  • the moving body 10 other than the moving body 10A is the moving body 10B.
  • a path PB in the example of FIG. 12, a path including a path P1B adjacent to the first path P1, a path P2B adjacent to the second path P2, and a path P3B adjacent to the connecting path P3 connecting the waypoints WP that the moving body 10B should pass through is set adjacent to a path P (in the example of FIG.
  • a path including a first path P1, a second path P2, and a connecting path P3) connecting the waypoints WP that the moving body 10A should pass through is set, and an example is described in which the time period during which the moving body 10B passes through the route RB corresponding to the path PB overlaps with the time period during which the moving body 10A passes through the route R corresponding to the path P. That is, we will explain an example in which moving body 10A and moving body 10B move in adjacent lanes (opposing lanes in this example) at the same time of day.
  • the route setting unit 62 sets the prohibited area based on the route RB that the moving body 10B actually passes, rather than the path PB of the moving body 10B.
  • the route setting unit 62 obtains information on the route RB of the moving body 10B that has been set before the route R of the moving body 10A. Then, the route setting unit 62 sets the area AR1 within a predetermined distance range from the route RB as a prohibited area that prohibits the entry of the moving body 10A. This allows a prohibited area to be set that reflects the actual movement path of moving body 10B, making it possible to more appropriately set route R for moving body 10A.
  • route RB for moving body 10B since the turning path (path corresponding to the boundary position between path P2B and path P1B) included in route RB for moving body 10B passes inside path PB, area AR1 (prohibited area) within a predetermined distance range from route RB is narrower than area AR1 within a predetermined distance range from route RB. Therefore, it is possible to prevent the prohibited area from being made too large by reflecting the actual movement path of moving body 10B, making it possible to more appropriately set route R for moving body 10A.
  • the route setting method includes the steps of acquiring information on waypoints WP through which the moving body 10 should pass, and setting a route R for the moving body 10 based on the waypoints WP.
  • the route R when the path P connecting the waypoints WP includes a first path P1 and a second path P2 intersecting the first path P1, and the waypoint WP of the first path P1 that is closest to the second path P2 is defined as the first waypoint (waypoint WP1), and the waypoint WP of the second path P2 that is closest to the first path P1 is defined as the second waypoint (waypoint WP2), if it is not possible to set a first route (route R2a) that passes through a position within a predetermined distance from the first waypoint and a position within a predetermined distance from the second waypoint, a third waypoint (waypoint WP1 or waypoint WP3) that is located at the same position as the first waypoint or farther from the second path P2 than the first waypoint, and a fourth waypoint (waypoint WP2 or waypoint WP4) that is located at the same position as the second waypoint or farther from the second path P2 than the second waypoint, are set such that the distance
  • a route R2b that passes through a position within a predetermined distance from the third waypoint and a position within a predetermined distance from the fourth waypoint is set as the route of the moving body 10.
  • the route setting method according to the second aspect of the present disclosure is the route setting method according to the first aspect, and the step of setting route R sets route R so as to satisfy constraint conditions based on the motion characteristics of the moving body 10, and if a first route (route R2b) that satisfies the constraint conditions cannot be set, it is determined that the first route cannot be set. According to the present disclosure, if the first route cannot be set, it is possible to appropriately set route R including a turning route by lengthening the distance from the start point to the end point of the turning route.
  • the route setting method according to the third aspect of the present disclosure is the route setting method according to the first or second aspect, and in the step of setting the route R, when the third waypoint (waypoint WP3) is set at a position farther from the second path P2 than the first waypoint (waypoint WP1), a position on the first path P1 that is a predetermined distance away from the first waypoint on the side away from the second path P2 is set as the third waypoint. Also, when the fourth waypoint (waypoint WP4) is set at a position farther from the first path P1 than the second waypoint (waypoint WP2), a position on the second path P2 that is a predetermined distance away from the second waypoint on the side away from the first path P1 is set as the fourth waypoint.
  • the third waypoint and the fourth waypoint in this way, it is possible to appropriately lengthen the distance from the start point to the end point of the turning route and appropriately set the route R including the turning route.
  • a route setting method is the route setting method according to the first or second aspect, and in the step of setting a route R, when the third waypoint (waypoint WP3) is set at a position farther from the second path P2 than the first waypoint (waypoint WP1), the third waypoint is set by a binary search using the first waypoint and a fifth waypoint (waypoint WP5) on the first path P1 that is closest to the fourth path that intersects with the second path P2 on the opposite side of the first path P1.
  • the fourth waypoint is set at a position farther from the first path P1 than the second waypoint (waypoint WP2)
  • the fourth waypoint is set by a binary search using the second waypoint and a sixth waypoint (waypoint WP6) on the second path P2 that is closest to the fifth path P5 that intersects with the first path P1 on the opposite side of the second path P2.
  • the route setting method according to the fifth aspect of the present disclosure is a route setting method according to any one of the first to fourth aspects, and when the path P further includes a connection path P3 that intersects with the first path P1 and the second path P2 and connects the first path P1 and the second path P2, in the step of setting the route R, the route R of the moving body 10 is set without setting a constraint condition that passes through each position within a predetermined distance range for each waypoint WP included in the connection path P3. This makes it possible to appropriately set a turning route when multiple corners are included.
  • a route setting method is a route setting method according to any one of the first to fifth aspects, and further includes a step of acquiring information on another route (route RB), which is a route set for another moving body (moving body 10B) different from the moving body 10A for which route R is set, and in the step of setting route R, an area AR1 within a predetermined distance range from the another route is set as a prohibited area, and route R is set so that the moving body 10 does not pass through the prohibited area.
  • route RB another route set for another moving body (moving body 10B) different from the moving body 10A for which route R is set
  • route R is set so that the moving body 10 does not pass through the prohibited area.
  • a prohibited area that reflects the actual movement route of the moving body 10B can be set, making it possible to more appropriately set route R for the moving body 10A.
  • the route setting method according to the seventh aspect of the present disclosure is the route setting method according to the sixth aspect, and in the step of setting the route R, the prohibited area is set so that it is narrower than an area AR0 within a predetermined distance range from a path PB adjacent to the first path P1 and the second path P2, which is set for another moving body (moving body 10B). According to the present disclosure, it is possible to prevent the prohibited area from being made too large by reflecting the actual movement path of the moving body 10B, and it is possible to more appropriately set the route R for the moving body 10A.
  • the program relating to the eighth aspect of the present disclosure causes a computer to execute the steps of acquiring information on waypoints WP through which the moving body 10 should pass, and setting a route R for the moving body 10 based on the waypoints WP.
  • the route R when the path P connecting the waypoints WP includes a first path P1 and a second path P2 intersecting the first path P1, and the waypoint WP of the first path P1 that is closest to the second path P2 is defined as the first waypoint (waypoint WP1), and the waypoint WP of the second path P2 that is closest to the first path P1 is defined as the second waypoint (waypoint WP2), if it is not possible to set a first route (route R2a) that passes through a position within a predetermined distance from the first waypoint and a position within a predetermined distance from the second waypoint, a third waypoint (waypoint WP1 or waypoint WP3) that is located at the same position as the first waypoint or farther from the
  • route R2b that passes through a position within a predetermined distance from the third waypoint and a position within a predetermined distance from the fourth waypoint is set as the route of the moving body 10. This program makes it possible to appropriately set route R that includes the turning route.
  • a mobile body 10 moves along a route R that is set based on information about a waypoint WP to be passed through.
  • a path P connecting the waypoints WP includes a first path P1 and a second path P2 that intersects with the first path P1
  • the waypoint WP of the first path P1 that is closest to the second path P2 is set as a first waypoint (waypoint WP1)
  • the waypoint WP of the second path P2 that is closest to the first path P1 is set as a second waypoint (waypoint WP2)
  • a first route (route R2a) that passes through a position within a predetermined distance from the first waypoint and a position within a predetermined distance from the second waypoint cannot be set
  • the route R is set to pass through a position within a predetermined distance from the third waypoint and a position within a predetermined distance from the fourth waypoint.
  • the third waypoint is located at the same position as the first waypoint or at a position farther away from the second path P2 than the first waypoint
  • the fourth waypoint is located at the same position as the second waypoint or at a position farther away from the second path P2 than the second waypoint
  • the distance from the third waypoint to the fourth waypoint is longer than the distance from the first waypoint to the second waypoint.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Warehouses Or Storage Devices (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

旋回する経路を適切に設定する。経路設定方法は、移動体の経路を設定するステップを含む。経路を設定するステップにおいては、第1ウェイポイントから所定距離以内の位置と第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、第1ウェイポイントと同じ位置、又は第1ウェイポイントよりも第2パスから離れた位置にある第3ウェイポイントと、第2ウェイポイントと同じ位置、又は第2ウェイポイントよりも第1パスから離れた位置にある第4ウェイポイントとを、第3ウェイポイントから第4ウェイポイントまでの距離が第1ウェイポイントから第2ウェイポイントまでの距離よりも長くなるように設定して、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路を、移動体の経路として設定する。

Description

経路設定方法、プログラム及び移動体
 本開示は、経路設定方法、プログラム及び移動体に関する。
 移動体の移動経路を設定する技術が知られている。例えば特許文献1には、禁止領域を避けるように、始点から終点までの経路を設定する旨が記載されている。
特開2008-129695号公報
 ここで、移動体は、旋回する経路を移動する場合があり、このように旋回する経路を適切に設定することが求められている。
 本開示は、上述した課題を解決するものであり、旋回する経路を適切に設定可能な経路設定方法、プログラム及び移動体を提供することを目的とする。
 本開示に係る経路設定方法は、移動体が通るべきウェイポイントの情報を取得するステップと、前記ウェイポイントに基づいて、前記移動体の経路を設定するステップとを含み、前記経路を設定するステップにおいては、前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にある第3ウェイポイントと、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にある第4ウェイポイントとを、前記第3ウェイポイントから前記第4ウェイポイントまでの距離が前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長くなるように設定して、前記第3ウェイポイントから所定距離以内の位置と前記第4ウェイポイントから所定距離以内の位置とを通る経路を、前記移動体の経路として設定する。
 本開示に係るプログラムは、移動体が通るべきウェイポイントの情報を取得するステップと、前記ウェイポイントに基づいて、前記移動体の経路を設定するステップとをコンピュータに実行させるプログラムであって、前記移動体の経路を設定するステップにおいては、前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パス第3パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にある第3ウェイポイントと、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にある第4ウェイポイントとを、前記第3ウェイポイントから前記第4ウェイポイントまでの距離が前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長くなるように設定して、前記第3ウェイポイントから所定距離以内の位置と前記第4ウェイポイントから所定距離以内の位置とを通る経路を、前記移動体の経路として設定する。
 本開示に係る移動体は、通るべきウェイポイントの情報に基づいて設定された経路を移動する移動体であって、前記経路は、前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通るように設定され、前記第3ウェイポイントは、前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にあり、前記第4ウェイポイントは、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にあり、前記第3ウェイポイントから前記第4ウェイポイントまでの距離は、前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長い。
 本開示によれば、旋回する経路を適切に設定できる。
図1は、本実施形態に係る移動制御システムの模式図である。 図2は、移動体の構成の模式図である。 図3は、管理装置の模式的なブロック図である。 図4は、情報処理装置の模式的なブロック図である。 図5は、移動体の制御装置の模式的なブロック図である。 図6は、移動体が通過すべきウェイポイントの一例を示す模式図である。 図7は、旋回する経路の設定の一例を示す模式図である。 図8は、旋回する経路の設定の一例を示す模式図である。 図9は、旋回する経路の設定の他の例を示す模式図である。 図10は、ウェイポイントの設定方法の一例を説明する模式図である。 図11Aは、本実施形態に係る経路の設定の処理フローを説明するフローチャートである。 図11Bは、旋回する経路の設定の他の例を示す模式図である。 図12は、禁止領域の設定を説明するための模式図である。 図13は、禁止領域の設定を説明するための模式図である。
 以下に添付図面を参照して、本開示の好適な実施形態を詳細に説明する。なお、この実施形態により本開示が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。
 (第1実施形態)
 (移動制御システム)
 図1は、本実施形態に係る移動制御システムの模式図である。図1に示すように、本実施形態に係る移動制御システム1は、移動体10と管理装置12と情報処理装置14とを含む。移動制御システム1は、設備Wに所属する移動体10の移動を制御するシステムである。設備Wは、例えば倉庫など、物流管理される設備であるが、移動体10を運用する任意の設備であってよい。移動制御システム1においては、移動体10は、設備Wの領域AR内に配置された目標物をピックアップして搬送させる。領域ARは、例えば設備Wの床面であり、目標物が設置されたり移動体10が移動したりする領域である。移動体10が搬送する目標物は、本実施形態では、パレット上に荷物が積載された搬送対象物である。ただし、目標物は、パレット上に荷物が積載されたものに限られず任意の形態であってよく、例えばパレットを有さず荷物のみであってもよい。また、移動体10は、目標物を搬送するものにも限られず、設備W内を任意の目的で移動する装置であってよい。
 以降において、領域ARに沿った一方向をX方向とし、領域ARに沿った方向であって方向Xに交差する方向を、Y方向とする。本実施形態では、Y方向は、X方向に直交する方向である。X方向、Y方向は、水平面に沿った方向といってもよい。また、X方向、Y方向に直交する方向を、より詳しくは鉛直方向の上方に向かう方向を、Z方向とする。また、本実施形態においては、「位置」とは、特に断りのない限り、領域AR上の二次元面における座標系(領域ARの座標系)における位置(座標)を指す。また、移動体10などの「姿勢」とは、特に断りのない限り、領域ARの座標系における移動体10などの向きであり、Z方向から見た場合に、X方向を0°とした際の移動体10のヨー角(回転角度)を指す。
 (移動体)
 図2は、移動体の構成の模式図である。移動体10は、自動で移動可能な装置である。本実施形態では、移動体10は、真横に移動できない非ホノロミックなシステムである。本実施形態では、移動体10は、目標物を搬送可能な装置である。さらに言えば、本実施形態では、移動体10は、フォークリフトであり、より詳しくはいわゆるAGV(Automated Guided Vehicle)やAGF(Automated Guided Forklift)である。ただし、移動体10は、目標物を搬送するフォークリフトであることに限られず、自動で移動可能な任意な装置であってよい。
 図2に示すように、移動体10は、車体20と、車輪20Aと、ストラドルレッグ21と、マスト22と、フォーク24と、センサ26Aと、制御装置28とを備えている。ストラドルレッグ21は、車体20の前後方向における一方の端部に設けられて、車体20から突出する一対の軸状の部材である。車輪20Aは、それぞれのストラドルレッグ21の先端と、車体20とに設けられている。すなわち、車輪20Aは、合計3個設けられているが、車輪20Aの設けられる位置や個数は任意であってよい。マスト22は、ストラドルレッグ21に移動可能に取り付けられ、車体20の前後方向に移動する。マスト22は、前後方向に直交する上下方向(ここでは方向Z)に沿って延在する。フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。フォーク24は、一対のツメ24A、24Bを有している。ツメ24A、24Bは、マスト22から車体20の前方向に向けて延在している。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、前方向とし、フォーク24が設けられていない側の方向を、後方向とする。
 センサ26Aは、車体20の周辺に存在する対象物の位置及び姿勢の少なくとも1つを検出する。センサ26Aは、移動体10に対する対象物の位置と、移動体10に対する対象物の姿勢との少なくとも一方を検出するともいえる。本実施形態では、センサ26Aは、それぞれのストラドルレッグ21の前方向における先端と、車体20の後方向側とに設けられている。ただし、センサ26Aの設けられる位置はこれに限られず、任意の位置に設けられてもよいし、設けられる数も任意であってよい。
 センサ26Aは、例えばレーザ光を照射するセンサである。センサ26Aは、一方向(ここでは横方向)に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び向きを検出する。すなわち、センサ26Aは、いわゆる2次元(2D)-LiDAR(Light Detection And Ranging)であるともいえる。ただし、センサ26Aは、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、複数の方向に走査されるいわゆる3次元(3D)-LiDARであってもよいし、走査されない、いわゆる1次元(1D)-LiDARであってもよいし、カメラであってもよい。
 制御装置28は、移動体10の移動を制御する。制御装置28については後述する。
 (管理装置)
 図3は、管理装置の模式的なブロック図である。管理装置12は、設備Wにおける物流を管理するシステムである。管理装置12は、本実施形態ではWCS(Warehouse Control System)やWMS(Warehouse Management System)であるが、WCS及びWMSに限られず任意のシステムであってよく、例えば、その他の生産管理系システムのようなバックエンドシステムでも構わない。管理装置12が設けられる位置は任意であり、設備W内に設けられてもよいし、設備Wから離れた位置に設けられて、離れた位置から設備Wを管理するものであってもよい。管理装置12は、コンピュータであり、図3に示すように、通信部30と記憶部32と制御部34とを含む。
 通信部30は、制御部34に用いられて、情報処理装置14などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部30による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部32は、制御部34の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。
 制御部34は、演算装置であり、例えばCPU(Central Processing Unit)などの演算回路を含む。制御部34は、移動先情報設定部40を含む。制御部34は、記憶部32からプログラム(ソフトウェア)を読み出して実行することで、移動先情報設定部40を実現して、その処理を実行する。なお、制御部34は、1つのCPUによって処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、移動先情報設定部40を、ハードウェア回路で実現してもよい。また、記憶部32が保存する制御部34用のプログラムは、管理装置12が読み取り可能な記録媒体に記憶されていてもよい。
 移動先情報設定部40は、移動体10の移動先を示す移動先情報を設定する。移動先情報の設定については後述する。
 なお、管理装置12は、移動先情報を設定する以外の処理も実行してよい。例えば、管理装置12は、設備Wに設けられる移動体10以外の機構(例えばエレベータや扉など)を制御する情報も設定してよい。
 (情報処理装置)
 図4は、情報処理装置の模式的なブロック図である。情報処理装置14は、設備Wに設けられ、移動体10の移動に関する情報などを処理する装置である。情報処理装置14は、例えばFCS(Fleet Control System)であるが、それに限られず、移動体10の移動に関する情報を処理する任意の装置であってよい。情報処理装置14は、コンピュータであり、図4に示すように、通信部50と記憶部52と制御部54とを含む。通信部50は、制御部54に用いられて、管理装置12や移動体10などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部50による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部52は、制御部54の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
 制御部54は、演算装置であり、例えばCPUなどの演算回路を含む。制御部54は、ウェイポイント設定部60と、経路設定部62とを含む。制御部54は、記憶部52からプログラム(ソフトウェア)を読み出して実行することで、ウェイポイント設定部60と経路設定部62とを実現して、それらの処理を実行する。なお、制御部54は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、ウェイポイント設定部60と経路設定部62との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部52が保存する制御部54用のプログラムは、情報処理装置14が読み取り可能な記録媒体に記憶されていてもよい。
 ウェイポイント設定部60は、移動体10が通るべきウェイポイントWPを設定する。ウェイポイントWPとは、領域AR上の位置(座標)毎に予め設定された設定された点である。ウェイポイントWPは、設備Wのレイアウトに応じて設定される。ウェイポイント設定部60は、予め設定されたウェイポイントWPのうちから、移動体10が通るべきウェイポイントWPを設定する。また、経路設定部62は、設定されたウェイポイントWPに基づいて、移動体10が移動する経路Rを設定する。ウェイポイントWP及び経路Rの設定方法は後述する。
 なお、本実施形態では、管理装置12と情報処理装置14とが別の装置であったが、一体の装置であってもよい。すなわち、管理装置12が情報処理装置14の少なくとも一部の機能を兼ね備えてよいし、情報処理装置14が管理装置12の少なくとも一部の機能を兼ね備えてよい。
 (移動体の制御装置)
 次に、移動体10の制御装置28について説明する。図5は、移動体の制御装置の模式的なブロック図である。制御装置28は、移動体10を制御する装置である。制御装置28は、コンピュータであり、図5に示すように、通信部70と記憶部72と制御部74とを含む。通信部70は、制御部74に用いられて、情報処理装置14などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部70による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部72は、制御部74の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つを含む。
 制御部74は、演算装置であり、例えばCPUなどの演算回路を含む。制御部74は、経路取得部80と、自己位置取得部82と、移動制御部84とを含む。制御部74は、記憶部72からプログラム(ソフトウェア)を読み出して実行することで、経路取得部80と自己位置取得部82と移動制御部84とを実現して、それらの処理を実行する。なお、制御部74は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、経路取得部80と自己位置取得部82と移動制御部84との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部72が保存する制御部74用のプログラムは、制御装置28が読み取り可能な記録媒体に記憶されていてもよい。
 経路取得部80は、経路Rの情報を取得する。自己位置取得部82は、移動体10の位置情報を取得する。移動制御部84は、移動体10の駆動部やステアリングなどの移動機構を制御して、移動体10の移動を制御する。これらの具体的な処理内容については後述する。
 (移動制御システムの処理)
 移動制御システム1の処理内容について、以下で説明する。
 (移動先情報の設定)
 管理装置12の移動先情報設定部40は、移動体10の移動先を示す移動先情報を設定する。移動先情報設定部40は、移動先情報として、移動先の位置(座標)そのものを指定してもよい。また、それぞれのウェイポイントWPに識別子が付与されており、移動先情報設定部40は、移動先情報として、移動先に対応するウェイポイントWPの識別子を指定してもよい。移動先情報設定部40は、任意の方法で移動先情報を設定してよい。例えば、移動先情報設定部40は、搬送すべき目標物と搬送元及び搬送先を示すオーダー情報を取得して、それに基づいて移動先情報を設定してよい。移動先情報設定部40は、設定した移動先情報を、通信部30を介して、情報処理装置14に送信する。
 (ウェイポイントの設定)
 情報処理装置14のウェイポイント設定部60は、移動体10が通過すべきウェイポイントWPの情報を取得する。ウェイポイント設定部60は、任意の方法でウェイポイントWPの情報を取得してよい。例えば、ウェイポイント設定部60は、管理装置12など他の装置からウェイポイントWPの情報を取得してよいが、本実施形態では、自身でウェイポイントWPを設定する。本実施形態では、ウェイポイント設定部60は、移動先情報に基づいて、移動体10が通過すべきウェイポイントWPを設定する。ウェイポイント設定部60は、移動元(出発地点)のウェイポイントWPと、移動先(到着地点)のウェイポイントWPと、移動元のウェイポイントWPと移動先のウェイポイントWPとを繋ぐウェイポイントWPとを、移動体10が通過すべきウェイポイントWPとして設定する。移動元のウェイポイントWPは任意に設定されてよく、例えば移動体10の現在位置に最も近いウェイポイントWPを、移動元のウェイポイントWPとして設定してよい。移動先のウェイポイントWPは任意に設定されてよく、例えば移動先情報に示される移動体10の移動先に対応する位置のウェイポイントWPを、移動先のウェイポイントWPとして設定してよい。
 図6は、移動体が通過すべきウェイポイントの一例を示す模式図である。以降においては、ウェイポイント設定部60によって設定されたウェイポイントWP同士を接続するパスが、第1パスP1と、第1パスP1に交差する第2パスP2と、第1パスP1及び第2パスP2に交差して、第1パス及び第2パスP2を接続する接続パスP3とを含むように、ウェイポイント設定部60がウェイポイントWPが設定する場合を例にして説明する。ここでのパスとは、ウェイポイント設定部60によって設定されたウェイポイントWP同士を接続した線である。接続パスP3は、第1パスP1の、移動体10の移動先側の端部に接続されるパスであり、第1パスP1に対して交差している。また、接続パスP3は、第2パスP2の、移動体10の移動元側の端部に接続されるパスであり、第2パスP2に対しても交差している。第2パスP2は、接続パスP3の、移動体10の移動先側の端部に接続されるパスであり、第1パスP1及び接続パスP3に対して交差している。なお、本実施形態でのパス同士が交差しているとは、それらのパス同士が連続的に接続しておらず、それらのパス同士が、極値をもって曲がっている箇所を介して接続されていることを指す。すなわち例えば、本例での第1パスP1と第2パスP2とは、平行な経路であるが、接続パスP3を介して非連続に接続されているので、交差しているといえる。また、第1パスと接続パスP3とは、極値をもって曲がっている箇所(ウェイポイントWP1A)を介して接続されているので、交差しているといえる。第1パスP1、第2パスP2及び接続パスP3は、本実施形態では直線状であるが、それに限られず曲線状であってもよい。
 図6は、第1パスP1、第2パスP2及び接続パスP3の一例を示している。図6では、ウェイポイントWPAからウェイポイントWPBに向かう方向が移動体10の移動方向であり、ウェイポイントWPAとウェイポイントWP1とを接続する第1パスP1と、ウェイポイントWP2とウェイポイントWPBとを接続する第2パスP2と、第1パスP1と第2パスP2とを接続する接続パスP3とを含むように、移動体10が通過すべきウェイポイントWPが設定される場合の例を示している。なお、ウェイポイントWP1(第1ウェイポイント)は、第1パスP1に含まれるウェイポイントWPのうちの最も第2パスP2に近いウェイポイントWPである。ウェイポイントWP1Aは、ウェイポイントWP1に対して移動先側(第2パスP2側)に隣接するウェイポイントWPであり、第1パスP1と接続パスP3との接続箇所(極値をもって曲がっている箇所)である。また、ウェイポイントWP2(第2ウェイポイント)は、第2パスP2に含まれるウェイポイントWPのうちの最も第1パスP1に近いウェイポイントWPである。ウェイポイントWP2Aは、ウェイポイントWP2に対して移動元側(第2パスP2側)に隣接するウェイポイントWPであり、第2パスP2と接続パスP3との接続箇所(極値をもって曲がっている箇所)である。なお、本実施形態の例では、ウェイポイントWP1A及びウェイポイントWP2Aは、接続パスP3上のウェイポイントWPとは呼ばず、それぞれ、第1パスP1と接続パスP3との接続箇所(コーナー部分)のウェイポイント、第2パスP2と接続パスP3との接続箇所(コーナー部分)のウェイポイントと呼ぶ。すなわち本例では、接続パスP3は、ウェイポイントWP1Aの移動先側に隣接するウェイポイントから、ウェイポイントWP2Aの移動元側に隣接するウェイポイントまでの各ウェイポイントを含むといえる。
 (経路の設定)
 情報処理装置14の経路設定部62は、ウェイポイント設定部60によって設定されたウェイポイントWPに基づき、移動体10が移動する経路Rを設定する。本実施形態では、経路設定部62は、ウェイポイント設定部60によって設定されたウェイポイントWPに対して所定距離範囲内の位置を通るような経路を、経路Rとして設定する。さらに言えば、経路設定部62は、移動体10の運動特性に基づいた制約条件を満たしつつ、かつ、ウェイポイント設定部60によって設定されたウェイポイントWPに対して所定距離範囲内の位置を通るような経路を、最適化計算により算出して、経路Rとする。最適化計算における制約条件は、移動体10の最小旋回半径を含む。さらに言えば、制約条件として、設定されたウェイポイントWPに対して所定距離範囲内の位置を通ることと、移動体10の上限速度と、進入が禁止されている禁止領域に移動体10が進入しないこととの少なくとも1つ(好ましくは全て)が含まれていてもよい。なお、ここでの所定距離は適宜設定されてよい。
 以下、最適化計算による経路Rの設定方法の例について説明する。以下の説明では、Collocation法(台形則)による経路Rの設定方法を例にしているが、経路Rの設定方法は、以下の例に限られず任意であってよい。
 ここで、計算点iにおける移動体10の操作変数をu(i)とし、計算点iにおける移動体10の状態変数をx(i)とし、状態変数の変化量をfとすると、移動体10の操作変数、状態変数、及び状態変数の変化量は、一例として、次の式(1)~(3)で表される。式(1)におけるv(i)は、移動体10の速度であり、φ(i)は、移動体10の操舵角である。式(2)におけるθ(i)は、移動体10の方位角(姿勢)であり、px(i)、py(i)は、移動体10のX座標及びY座標であり、Δtは、計算点の間の時間である。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 経路設定部62は、例えば、次の式(4)に示す最適化計算を実行して、経路Rを算出する。より詳しくは、経路設定部62は、次の式(5)、(6)の制約を満たしつつ、式(4)の最適化計算を行って、経路Rを算出する。式(4)におけるNは、制御変数の数であり、Nは、状態変数の数であり、Nは、計算点の数であり、Jは評価関数値である。また、式(6)のHが制約条件を指す。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 (旋回経路)
 ここで、第1パスP1、接続パスP3、第2パスP2を含むウェイポイントWPに基づいた経路Rを設定する場合には、第1パスP1から接続パスP3に切り替わる位置や、接続パスP3から第2パスP2に切り替わる位置に対応するコーナー部分(非連続な接続箇所)においては、旋回する経路(旋回経路)を設定する必要がある。しかしながら、このような旋回経路を設定する場合には、移動体10の最小旋回半径などの制約条件を満たしつつ、コーナー部分のウェイポイントWPに対して所定距離範囲内の位置を通る経路が設定できない場合がある。すなわち例えば、コーナー部分のウェイポイントWPに対して所定距離範囲内の位置を通るためには、最小旋回半径より小さい旋回半径でしか旋回経路を設定できない場合がある。そのため、本実施形態においては、このような場合に、所定距離範囲内の位置を通る対象となるウェイポイントWPを設定しなおして経路Rを算出することで、旋回経路を適切に設定することを可能とする。以下、具体的に説明する。
 図7及び図8は、旋回する経路の設定の一例を示す模式図である。第1パスP1、第2パスP2、接続パスP3を含むウェイポイントWPに基づいた経路Rを設定する場合、経路設定部62は、経路R2a(第1経路)を含む経路Raが設定できるかを判断する。経路R2aは、ウェイポイントWP1(第1ウェイポイント)に対して所定距離範囲内となる位置とウェイポイントWP2(第2ウェイポイント)に対して所定距離範囲内となる位置とを通る旋回経路である。具体的には、図7に示すように、経路Raは、第1パスP1に対応する経路R1aと、接続パスP3に対応する経路R2aと、第2パスP2に対応する経路R3aとを含む。経路R1aは、第1パスP1に含まれるウェイポイントWPAからウェイポイントWP1までの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。なお図7の例では、経路R1aは、ウェイポイントWPAからウェイポイントWP1までの各ウェイポイントWPの上を通っているが、それに限られず、各ウェイポイントWPから所定距離離れた位置を通る経路であってもよく、他の経路も同様である。また、経路R2aは、上述のように、ウェイポイントWP1に対して所定距離範囲内となる位置とウェイポイントWP2に対して所定距離範囲内となる位置とを通る経路である。すなわち本実施形態では、経路R2aを設定する際には、接続パスP3に含まれる各ウェイポイントWP(ウェイポイントWP1A~ウェイポイントWP2A)に対して所定距離範囲内の各位置を通るような制約条件が設定されることなく、ウェイポイントWP1とウェイポイントWP2とに対して所定距離範囲内となる各位置を通るような制約条件が設定される。また、経路R3aは、第2パスP2に含まれるウェイポイントWP2からウェイポイントWPBまでの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。
 ウェイポイントWP1、WP2から所定距離範囲内の位置を通る経路R2aを含む経路Raが設定できる場合には、経路設定部62は、その経路Raを、移動体10が移動する経路Rとして設定する。一方、経路R2aを含む経路Raが設定できない場合には、経路設定部62は、所定距離範囲内の位置を通る対象となるウェイポイントWPを設定しなおして、設定しなおされたウェイポイントWPに基づいて、旋回経路である経路R2bを含む経路Rbを設定する。以下、経路Rbの設定方法について説明する。なお、経路Raが設定できない旨の判断基準は任意であってよいが、例えば、ウェイポイントWP1とウェイポイントWP2(第2ウェイポイント)とに対して所定距離範囲内となる各位置を通り、かつ、他の制約条件を満たしつつ最適化された経路R2aが算出できない場合に、経路Raが設定できないと判断してよい。
 経路Raが設定できない場合、経路設定部62は、図8に示すように、ウェイポイントWP2よりも第1パスP1から離れた位置(移動先側の位置)にあるウェイポイントWP4(第4ウェイポイント)を設定する。そして、経路設定部62は、ウェイポイントWP4に基づいて、経路R2bを含む経路Rbを設定する。経路R2bは、ウェイポイントWP1に対して所定距離範囲内となる位置とウェイポイントWP4に対して所定距離範囲内となる位置とを通る旋回経路である。具体的には、図8に示すように、経路Rbは、第1パスP1に対応する経路R1bと、接続パスP3に対応する経路R2bと、第2パスP2に対応する経路R3bとを含む経路である。経路R1bは、ウェイポイントWPAからウェイポイントWP1までの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。また、経路R2bは、上述のように、ウェイポイントWP1に対して所定距離範囲内となる位置とウェイポイントWP4に対して所定距離範囲内となる位置とを通る経路である。すなわち本実施形態では、経路R2bを設定する際には、ウェイポイントWP1とウェイポイントWP4とに対して所定距離範囲内となる各位置を通るような制約条件が設定される。また、経路R3bは、ウェイポイントWP4からウェイポイントWPBまでの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。
 経路設定部62は、設定した経路R2bを含む経路Rbを、移動体10が移動する経路Rとして設定する。このように、本実施形態においては、ウェイポイントWP1、WP2を通る旋回経路である経路R2aが設定できない場合に、ウェイポイントWP1、WP4を通ることを制約条件とした経路R2bの設定を試みる。これにより、旋回経路の始点から終点までの距離を長くして、制約条件を満たした旋回経路を設定し易くすることが可能となり、旋回経路を適切に設定することが可能となる。
 なお、図8の説明では、ウェイポイントWP1、WP4を通ることを制約条件として、経路R2bを設定していたが、それに限られない。経路R2bは、始点となるウェイポイントWPから終点となるウェイポイントWPまでの距離が、経路R2aの始点となるウェイポイントWP1から終点となるウェイポイントWP2までの距離より長くなるような経路であればよい。以下、経路R2bの他の例について説明する。
 図9は、旋回する経路の設定の他の例を示す模式図である。経路Raが設定できない場合、経路設定部62は、図9に示すように、ウェイポイントWP1よりも第2パスP2から離れた位置(移動元側の位置)にあるウェイポイントWP3(第3ウェイポイント)を設定してもよい。そして、経路設定部62は、ウェイポイントWP3に基づいて、経路R2bを含む経路Rbを設定してもよい。この場合、経路R2bは、ウェイポイントWP3に対して所定距離範囲内となる位置とウェイポイントWP2に対して所定距離範囲内となる位置とを通る旋回経路となる。具体的には、図9に示すように、経路Rbは、第1パスP1に対応する経路R1bと、接続パスP3に対応する経路R2bと、第2パスP2に対応する経路R3bとを含む経路となる。経路R1bは、ウェイポイントWPAからウェイポイントWP3までの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。また、経路R2bは、上述のように、ウェイポイントWP3に対して所定距離範囲内となる位置とウェイポイントWP2に対して所定距離範囲内となる位置とを通る経路である。すなわちこの例では、経路R2bを設定する際には、ウェイポイントWP3とウェイポイントWP2とに対して所定距離範囲内となる各位置を通るような制約条件が設定される。また、経路R3bは、ウェイポイントWP2からウェイポイントWPBまでの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。図9の例のように、ウェイポイントWP3、WP2を通ることを制約条件とした経路R2bの設定を試みることによっても、旋回経路の始点から終点までの距離を長くして、旋回経路を適切に設定することが可能となる。
 また例えば、経路Raが設定できない場合、経路設定部62は、ウェイポイントWP1よりも第2パスP2から離れた位置にあるウェイポイントWP3と、ウェイポイントWP2よりも第1パスP1から離れた位置にあるウェイポイントWP4と対して所定距離範囲内となる各位置を通るように、経路R2bを設定してもよい。
 すなわち、以上を整理すれば、経路Raが設定できない場合には、経路設定部62は、ウェイポイントWP1と同じ位置、又はウェイポイントWP1よりも第2パスP2から離れた位置を、第3ウェイポイント(ここではウェイポイントWP1又はウェイポイントWP3)とし、ウェイポイントWP2と同じ位置、又はウェイポイントWP2よりも第1パスP1から離れた位置を、第4ウェイポイント(ここではウェイポイントWP2又はウェイポイントWP4)として設定する。そして、経路設定部62は、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bを含む経路Rbを、移動体の経路Rとして設定するといえる。ただしこの場合、第3ウェイポイントと第4ウェイポイントとは、第3ウェイポイントから第4ウェイポイントまでの距離が、ウェイポイントWP1からウェイポイントWP2までの距離よりも長くなるような位置に、設定される。
 なお、経路設定部62は、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bが設定できない場合には、第3ウェイポイントと第4ウェイポイントとの少なくとも一方を、第2パスP2からさらに離れるように設定し直して、経路R2bの設定を再度試みてよい。すなわち、第3ウェイポイントと第4ウェイポイントとを通ることを制約条件とした経路R2bが設定できない場合には、第3ウェイポイントと第4ウェイポイントとの少なくとも一方を設定し直して、設定し直した第3ウェイポイントと第4ウェイポイントとを通ることを制約条件とした経路R2bを設定してよい。例えば図8の例で、ウェイポイントWP1、WP4を通る経路R2bが設定できない場合には、経路設定部62は、ウェイポイントWP4を、元のウェイポイントWP4よりも第1パスP1から遠い位置に設定し直して、ウェイポイントWP1と、設定し直したウェイポイントWP4を通る経路を経路R2bとして設定し直す。また例えば、図9の例で、ウェイポイントWP3、WP2を通る経路R2bが設定できない場合には、経路設定部62は、ウェイポイントWP3を、元のウェイポイントWP3よりも第2パスP2から遠い位置に設定し直して、設定し直したウェイポイントWP3とウェイポイントWP2を通る経路を経路R2bとして設定し直す。
 経路設定部62は、経路R2bが設定可能となるまで、第3ウェイポイントと第4ウェイポイントとの少なくとも一方を設定し直す処理を繰り返してよい。第3ウェイポイントと第4ウェイポイントとの少なくとも一方を設定し直す処理を所定回数繰り返しても、経路R2bが設定できない場合には、ウェイポイント設定部60は、移動体10が通るべきウェイポイントWPを設定し直してよい。すなわちこの場合、ウェイポイント設定部60は、移動元のウェイポイントWPと移動先のウェイポイントWPとを繋ぐ各ウェイポイントWPを、他のパスを通るように設定し直して、移動体10が通過すべきウェイポイントWPとする。この場合、経路設定部62は、設定し直されたウェイポイントWPに基づいて、経路Rを設定する。
 (ウェイポイントWP3、WP4の設定例)
 なお、経路R2bの設定に用いられるウェイポイントWP3やウェイポイントWP4は、ウェイポイントWP1やウェイポイントWP4よりも第2パスP2から離れた任意の位置に設定されてよい。例えば、経路設定部62は、ウェイポイントWP1から、第2パスP2から離れる側に所定距離だけ離れた第1パスP1上の位置を、ウェイポイントWP3(第3ウェイポイント)として設定してよい。また設定したウェイポイントWP3を用いた経路R2bの設定ができない場合は、設定済みのウェイポイントWP3から、第2パスP2から離れる側に所定距離だけ離れた第1パスP1上の位置を、ウェイポイントWP3として設定し直してよい。すなわち、経路R2bが設定できるまで、第2パスP2から離れる側に等距離ずつ離れるように、ウェイポイントWP3を更新してよい。また例えば、経路設定部62は、ウェイポイントWP2から、第1パスP1から離れる側に所定距離だけ離れた第2パスP2上の位置を、ウェイポイントWP4(第4ウェイポイント)として設定してよい。また設定したウェイポイントWP4を用いた経路R2bの設定ができない場合は、設定済みのウェイポイントWP4から、第1パスP1から離れる側に所定距離だけ離れた第2パスP2上の位置を、ウェイポイントWP4として設定し直してよい。すなわち、経路R2bが設定できるまで、第1パスP1から離れる側に等距離ずつ離れるように、ウェイポイントWP4を更新してよい。
 また例えば、経路設定部62は、二分探索を用いて、ウェイポイントWP3やウェイポイントWP4を設定してよい。図10は、ウェイポイントの設定方法の一例を説明する模式図である。
 図10に基づいて、二分探索によりウェイポイントWP3を設定する方法の例を説明する。図10に示すように、本例においては、ウェイポイント設定部60は、第4パスP4も含むように、移動体10が移動すべきウェイポイントWPを設定している。第4パスP4は、第1パスP1の移動元側の端部に接続されて、第1パスP1と交差するパスである。また、第1パスP1に含まれるウェイポイントWPのうちで、最も第4パスP4に近いウェイポイントWPを、ウェイポイントWP5(第5ウェイポイント)とする。この場合、経路設定部62は、ウェイポイントWP1とウェイポイントWP5とを用いた二分探索により、ウェイポイントWP3を設定する。すなわち、経路設定部62は、最初に、第1パスP1上におけるウェイポイントWP1とウェイポイントWP5との中央位置(第1位中央位置)をウェイポイントWP3として、経路R2bの設定を試みる。第1中央位置をウェイポイントWP3として経路R2bが設定できる場合には、第1パスP1上における第1中央位置とウェイポイントWP1との中央位置(第2中央位置)を新たなウェイポイントWP3として、経路R2bの設定を試みる。一方、第1中央位置をウェイポイントWP3として経路R2bが設定できない場合には、第1パスP1上における第1中央位置とウェイポイントWP5との中央位置(第3中央位置)をウェイポイントWP3として、経路R2bの設定を試みる。すなわち、経路R2bが設定できる場合には、ウェイポイントWP1側にウェイポイントWP3を設定し直し、経路R2bを設定できない場合には、ウェイポイントWP5側にウェイポイントWP3を設定し直す二分探索処理を繰り返すことで、最終的なウェイポイントWP3を設定する。
 図10に基づいて、二分探索によりウェイポイントWP4を設定する方法の例を説明する。図10に示すように、本例においては、ウェイポイント設定部60は、第5パスP5も含むように、移動体10が移動すべきウェイポイントWPを設定している。第5パスP5は、第2パスP2の移動先側の端部に接続されて、第2パスP2と交差するパスである。また、第2パスP2に含まれるウェイポイントWPのうちで、最も第5パスP5に近いウェイポイントWPを、ウェイポイントWP6(第6ウェイポイント)とする。この場合、経路設定部62は、ウェイポイントWP2とウェイポイントWP6とを用いた二分探索により、ウェイポイントWP4を設定する。すなわち、経路設定部62は、最初に、第2パスP2上におけるウェイポイントWP2とウェイポイントWP6との中央位置(第1中央位置)をウェイポイントWP4として、経路R2bの設定を試みる。第1中央位置をウェイポイントWP4として経路R2bが設定できる場合には、第2パスP2上における第1中央位置とウェイポイントWP2との中央位置(第2中央位置)を新たなウェイポイントWP4として、経路R2bの設定を試みる。一方、第1中央位置をウェイポイントWP4として経路R2bが設定できない場合には、第2パスP2上における第1中央位置とウェイポイントWP6との中央位置(第3中央位置)をウェイポイントWP4として、経路R2bの設定を試みる。すなわち、経路R2bが設定できる場合には、ウェイポイントWP2側にウェイポイントWP4を設定し直し、経路R2bを設定できない場合には、ウェイポイントWP6側にウェイポイントWP4を設定し直す二分探索処理を繰り返すことで、最終的なウェイポイントWP4を設定する。
 (経路の取得)
 移動体10の経路Rは、以上のように設定される。移動体10の制御装置28は、経路取得部80により、経路Rの情報を取得する。
 (移動体の移動)
 移動体10の制御装置28は、移動制御部84により、取得した経路Rに従って移動体10を移動させる。この場合、制御装置28は、自己位置取得部82により、移動体10の位置情報(例えば移動体10の位置及び姿勢)を逐次把握することで、経路Rを通るように、移動体10を移動させる。移動体10の位置情報の取得方法は任意であるが、例えば本実施形態では、設備Wに図示しない検出体が設けられており、自己位置取得部82は、検出体の検出に基づき移動体10の位置及び姿勢の情報を取得する。具体的には、移動体10は、検出体に向けてレーザ光を照射し、検出体によるレーザ光の反射光を受光して、設備Wにおける自身の位置及び姿勢を検出する。移動体10の位置及び姿勢の情報の取得方法は、検出体を用いることに限られず、例えば、SLAM(Simultaneous Localization And Mapping)を用いてもよい。
 (制御フロー)
 以上説明した経路Rの設定の処理フローについて説明する。図11Aは、本実施形態に係る経路の設定の処理フローを説明するフローチャートである。図11Aに示すように、情報処理装置14は、ウェイポイント設定部60により、移動体10が通過すべきウェイポイントWPを設定し(ステップS10)、経路設定部62により、ウェイポイントWP1とウェイポイントWP2とから所定距離範囲内の位置を通る経路R2aの設定を試みる(ステップS12)。経路R2aが設定できる場合には(ステップS12;Yes)、経路R2aを含む経路Raを、移動体10が移動する経路Rとして設定する(ステップS14)。一方、経路R2aが設定できない場合には(ステップS12;No)、経路設定部62は、ウェイポイントWP4を設定して(ステップS16)、ウェイポイントWP1とウェイポイントWP4とから所定距離範囲内の位置を通る経路R2bの設定を試みる(ステップS18)。経路R2bが設定できない場合(ステップS18;No)、ステップS16に戻り、ウェイポイントWP4を設定し直して、以降の処理を繰り返す。経路R2bが設定できる場合には(ステップS18;Yes)、経路R2bを含む経路Rbを、移動体10が移動する経路Rとして設定する(ステップS10)。なお、本処理フローの説明では、ウェイポイントWP1とウェイポイントWP4から所定距離範囲内の位置を通る経路R2bを設定していたが、上述のように、第3ウェイポイントと第4ウェイポイントを通る経路R2bを設定するものであってよい。
 (他の例)
 以上の説明では、第1パスP1と第2パスP2とが接続パスP3を介して接続される場合の経路の設定方法を説明していたが、第1パスP1と第2パスP2とが、接続パスP3を介さずに直接に接続されている場合にも、同様の方法で経路Rを設定できる。以下、具体的に説明する。
 図11Bは、旋回する経路の設定の他の例を示す模式図である。図11Bに示すように、本例では、第1パスP1と第2パスP2とが、ウェイポイントWP1Aを介して、互いに交差するように接続されている。この場合でも、経路設定部62は、ウェイポイントWP1に対して所定距離範囲内となる位置とウェイポイントWP2に対して所定距離範囲内となる位置とを通る旋回経路である経路R2aが設定できるかを判断する。経路R2aが設定できない場合には、経路設定部62は、ウェイポイントWP1と同じ位置、又はウェイポイントWP1よりも第2パスP2から離れた位置を、第3ウェイポイント(ここではウェイポイントWP1又はウェイポイントWP3)とし、ウェイポイントWP2と同じ位置、又はウェイポイントWP2よりも第1パスP1から離れた位置を、第4ウェイポイント(ここではウェイポイントWP2又はウェイポイントWP4)として設定する。そして、経路設定部62は、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bを含む経路Rbを、移動体の経路Rとして設定するといえる。
 以上説明したように、本実施形態においては、第1パスP1、及び第2パスP2を含むウェイポイントWPに基づいて経路Rを設定する場合において、ウェイポイントWP1とウェイポイントWP2とから所定距離範囲内の位置を通る経路R2aが設定できない場合には、より距離が長い第3ウェイポイント及び第4ウェイポイントを設定する。そして、第3ウェイポイント及び第4ウェイポイントとから所定距離範囲内の位置を通る経路R2bを設定して、経路R2bを含む経路Rbを、移動体10用の経路Rとして設定する。従って、本実施形態によると、旋回経路の始点から終点までの距離を長くして、制約条件を満たした旋回経路を設定し易くすることが可能となり、旋回経路を含む経路Rを適切に設定することが可能となる。
 なお、本実施形態においては、情報処理装置14が、ウェイポイント設定部60及び経路設定部62により、移動体10が通るべきウェイポイントWP及び経路Rを設定する。ただし、ウェイポイントWP及び経路Rを設定する主体は情報処理装置14に限られず任意であってよい。例えば、移動体10が、ウェイポイント設定部60を含んで、移動体10が通るべきウェイポイントWPを設定してもよい。また例えば、移動体10が、経路設定部62を含んで、設定されたウェイポイントWPに基づき、経路Rを設定してもよい。
 (第2実施形態)
 次に、第2実施形態について説明する。第2実施形態においては、他の移動体について設定された経路RBに基づいて禁止領域を設定して、その禁止領域を通らないように移動体10の経路Rを設定する点で、第1実施形態とは異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
 図12及び図13は、禁止領域の設定を説明するための模式図である。第2実施形態においては、経路Rの設定対象となる移動体10を移動体10Aとし、移動体10A以外の移動体10を移動体10Bとする。また、第2実施形態においては、図12に示すように、移動体10Aが通るべきウェイポイントWPを繋いだパスP(図12の例では第1パスP1、第2パスP2、及び接続パスP3を含むパス)に対して隣接するように、移動体10Bが通るべきウェイポイントWPを繋いだパスPB(図12の例では、第1パスP1に隣接するパスP1B、第2パスP2に隣接するパスP2B、及び接続パスP3に隣接するパスP3Bを含むパス)が設定されており、かつ、移動体10BがパスPBに対応する経路RBを通る時間帯が、移動体10AがパスPに対応する経路Rを通る時間帯と重複している場合を例にして説明する。すなわち、移動体10Aと移動体10Bとが、隣接する車線(本例では対向車線)を同時間帯に移動する場合を例にして説明する。
 このように移動体10BのパスPBが設定される場合、移動体10Aの経路Rの設定の際には、パスPBから所定距離範囲内の領域AR0を、移動体10Aの進入を禁止する禁止領域として設定することもできる。しかしながら、図13に示すように、移動体10Bは、パスPBを実際に通るわけではなく、移動体10Aの経路Rと同様の方法でパスPBに含まれるウェイポイントWPに基づいて設定された、経路RBを通る。そのため、本実施形態においては、経路設定部62は、移動体10BのパスPBではなく、移動体10Bが実際に通る経路RBに基づいて、禁止領域を設定する。具体的には、本実施形態においては、経路設定部62は、移動体10Aの経路Rよりも前に設定済みの移動体10Bの経路RBの情報を取得する。そして、経路設定部62は、経路RBから所定距離範囲内の領域AR1を、移動体10Aの進入を禁止する禁止領域として設定する。これにより、実際の移動体10Bの移動経路を反映した禁止領域が設定できるため、移動体10Aの経路Rをより適切に設定することが可能となる。特に、移動体10Bの経路RBに含まれる旋回経路(パスP2BとパスP1Bとの境界位置に対応する経路)は、パスPBよりも内側を通るため、経路RBから所定距離範囲内の領域AR1(禁止領域)は、経路RBから所定距離範囲内の領域AR1よりも狭くなる。そのため、実際の移動体10Bの移動経路を反映して、禁止領域を大きくしすぎることを抑制でき、移動体10Aの経路Rをより適切に設定することが可能となる。
 (本開示の効果)
 本開示の第1態様に係る経路設定方法は、移動体10が通るべきウェイポイントWPの情報を取得するステップと、ウェイポイントWPに基づいて、移動体10の経路Rを設定するステップとを含む。経路Rを設定するステップにおいては、ウェイポイントWP同士を接続するパスPが、第1パスP1、及び第1パスP1に交差する第2パスP2を含み、第1パスP1のうちの最も第2パスP2に近いウェイポイントWPを第1ウェイポイント(ウェイポイントWP1)、第2パスP2のうちの最も第1パスP1に近いウェイポイントWPを第2ウェイポイント(ウェイポイントWP2)とした場合において、第1ウェイポイントから所定距離以内の位置と第2ウェイポイントから所定距離以内の位置とを通る第1経路(経路R2a)が設定できない場合には、第1ウェイポイントと同じ位置、又は第1ウェイポイントよりも第2パスP2から離れた位置にある第3ウェイポイント(ウェイポイントWP1又はウェイポイントWP3)と、第2ウェイポイントと同じ位置、又は第2ウェイポイントよりも第2パスP2から離れた位置にある第4ウェイポイント(ウェイポイントWP2又はウェイポイントWP4)とを、第3ウェイポイントから第4ウェイポイントまでの距離が第1ウェイポイントから第2ウェイポイントまでの距離よりも長くなるように設定する。そして、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bを、移動体10の経路として設定する。本方法によると、第1ウェイポイント及び第2ウェイポイントを通る旋回経路が設定できない場合に、旋回経路の始点から終点までの距離を長くして、制約条件を満たした旋回経路を設定し易くすることが可能となり、旋回経路を含む経路Rを適切に設定することが可能となる。
 本開示の第2態様に係る経路設定方法は、第1態様に係る経路設定方法であって、経路Rを設定するステップは、移動体10の運動特性に基づいた制約条件を満たすように、経路Rを設定するものであり、制約条件を満たした第1経路(経路R2b)が設定できない場合に、第1経路が設定できないと判断する。本開示によると、第1経路が設定できない場合に、旋回経路の始点から終点までの距離を長くすることで、旋回経路を含む経路Rを適切に設定することが可能となる。
 本開示の第3態様に係る経路設定方法は、第1態様又は第2態様に係る経路設定方法であって、経路Rを設定するステップにおいては、第3ウェイポイント(ウェイポイントWP3)を第1ウェイポイント(ウェイポイントWP1)よりも第2パスP2から離れた位置に設定する場合には、第1ウェイポイントから、第2パスP2から離れる側に所定距離だけ離れた第1パスP1上の位置を、第3ウェイポイントとして設定する。また、第4ウェイポイント(ウェイポイントWP4)を第2ウェイポイント(ウェイポイントWP2)よりも第1パスP1から離れた位置に設定する場合には、第2ウェイポイントから、第1パスP1から離れる側に所定距離だけ離れた第2パスP2上の位置を、第4ウェイポイントとして設定する。このように第3ウェイポイントや第4ウェイポイントを設定することで、旋回経路の始点から終点までの距離を適切に長くして、旋回経路を含む経路Rを適切に設定することが可能となる。
 本開示の第4態様に係る経路設定方法は、第1態様又は第2態様に係る経路設定方法であって、経路Rを設定するステップにおいては、第3ウェイポイント(ウェイポイントWP3)を第1ウェイポイント(ウェイポイントWP1)よりも第2パスP2から離れた位置に設定する場合には、第1ウェイポイントと、第1パスP1に対して第2パスP2と反対側において交差する第4パスに最も近い第1パスP1上の第5ウェイポイント(ウェイポイントWP5)とを用いた二分探索により、第3ウェイポイントを設定する。また、第4ウェイポイント(ウェイポイントWP4)を第2ウェイポイント(ウェイポイントWP2)よりも第1パスP1から離れた位置に設定する場合には、第2ウェイポイントと、第2パスP2に対して第1パスP1と反対側において交差する第5パスP5に最も近い第2パスP2上の第6ウェイポイント(ウェイポイントWP6)とを用いた二分探索により、第4ウェイポイントを設定する。このように第3ウェイポイントや第4ウェイポイントを設定することで、旋回経路の始点から終点までの距離を適切に長くして、旋回経路を含む経路Rを適切に設定することが可能となる。
 本開示の第5態様に係る経路設定方法は、第1態様から第4態様のいずれかに係る経路設定方法であって、パスPが、第1パスP1及び第2パスP2に交差して第1パスP1及び第2パスP2を接続する接続パスP3を更に有する場合には、経路Rを設定するステップにおいては、接続パスP3に含まれる各ウェイポイントWPに対して所定距離範囲内の各位置を通るような制約条件を設定することなく、移動体10の経路Rを設定する。これにより、コーナー部分を複数含む場合の旋回経路を、適切に設定することができる。
 本開示の第6態様に係る経路設定方法は、第1態様から第5態様のいずれかに係る経路設定方法であって、経路Rの設定対象となる移動体10Aとは異なる別移動体(移動体10B)について設定された経路である別経路(経路RB)の情報を取得するステップをさらに含み、経路Rを設定するステップにおいては、別経路から所定距離範囲内の領域AR1を禁止領域として設定して、移動体10が禁止領域を通らないように、経路Rを設定する。本開示によると、実際の移動体10Bの移動経路を反映した禁止領域が設定できるため、移動体10Aの経路Rをより適切に設定することが可能となる。
 本開示の第7態様に係る経路設定方法は、第6態様に係る経路設定方法であって、経路Rを設定するステップにおいては、禁止領域が、別移動体(移動体10B)に対して設定された、第1パスP1、及び第2パスP2に隣接ずるパスPBから所定距離範囲内の領域AR0よりも狭くなるように、禁止領域を設定する。本開示によると、実際の移動体10Bの移動経路を反映して、禁止領域を大きくしすぎることを抑制でき、移動体10Aの経路Rをより適切に設定することが可能となる。
 本開示の第8態様に係るプログラムは、移動体10が通るべきウェイポイントWPの情報を取得するステップと、ウェイポイントWPに基づいて、移動体10の経路Rを設定するステップとをコンピュータに実行させる。経路Rを設定するステップにおいては、ウェイポイントWP同士を接続するパスPが、第1パスP1、及び第1パスP1に交差する第2パスP2を含み、第1パスP1のうちの最も第2パスP2に近いウェイポイントWPを第1ウェイポイント(ウェイポイントWP1)、第2パスP2のうちの最も第1パスP1に近いウェイポイントWPを第2ウェイポイント(ウェイポイントWP2)とした場合において、第1ウェイポイントから所定距離以内の位置と第2ウェイポイントから所定距離以内の位置とを通る第1経路(経路R2a)が設定できない場合には、第1ウェイポイントと同じ位置、又は第1ウェイポイントよりも第2パスP2から離れた位置にある第3ウェイポイント(ウェイポイントWP1又はウェイポイントWP3)と、第2ウェイポイントと同じ位置、又は第2ウェイポイントよりも第2パスP2から離れた位置にある第4ウェイポイント(ウェイポイントWP2又はウェイポイントWP4)とを、第3ウェイポイントから第4ウェイポイントまでの距離が第1ウェイポイントから第2ウェイポイントまでの距離よりも長くなるように設定する。そして、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bを、移動体10の経路として設定する。本プログラムによると、第旋回経路を含む経路Rを適切に設定することが可能となる。
 本開示の第9態様に係る移動体10は、通るべきウェイポイントWPの情報に基づいて設定された経路Rを移動する。経路Rは、ウェイポイントWP同士を接続するパスPが、第1パスP1、及び第1パスP1に交差する第2パスP2を含み、第1パスP1のうちの最も第2パスP2に近いウェイポイントWPを第1ウェイポイント(ウェイポイントWP1)、第2パスP2のうちの最も第1パスP1に近いウェイポイントWPを第2ウェイポイント(ウェイポイントWP2)とした場合において、第1ウェイポイントから所定距離以内の位置と第2ウェイポイントから所定距離以内の位置とを通る第1経路(経路R2a)が設定できない場合には、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通るように設定される。第3ウェイポイントは、第1ウェイポイントと同じ位置、又は第1ウェイポイントよりも第2パスP2から離れた位置にあり、第4ウェイポイントは、第2ウェイポイントと同じ位置、又は第2ウェイポイントよりも第2パスP2から離れた位置にあり、第3ウェイポイントから第4ウェイポイントまでの距離は、第1ウェイポイントから第2ウェイポイントまでの距離よりも長い。本開示によると、適切に設定された旋回経路を含む経路Rを移動させることができる。
 以上、本開示の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
 10 移動体
 12 管理装置
 14 情報処理装置
 60 ウェイポイント設定部
 62 経路設定部
 R、Ra、Rb 経路
 WP、WP1、WP2、WP3、WP4 ウェイポイント

Claims (9)

  1.  移動体が通るべきウェイポイントの情報を取得するステップと、
     前記ウェイポイントに基づいて、前記移動体の経路を設定するステップとを含み、
     前記経路を設定するステップにおいては、
     前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、
     前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にある第3ウェイポイントと、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にある第4ウェイポイントとを、前記第3ウェイポイントから前記第4ウェイポイントまでの距離が前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長くなるように設定して、
     前記第3ウェイポイントから所定距離以内の位置と前記第4ウェイポイントから所定距離以内の位置とを通る経路を、前記移動体の経路として設定する、
     経路設定方法。
  2.  前記経路を設定するステップは、前記移動体の運動特性に基づいた制約条件を満たすように、前記経路を設定するものであり、前記制約条件を満たした前記第1経路が設定できない場合に、前記第1経路が設定できないと判断する、請求項1に記載の経路設定方法。
  3.  前記経路を設定するステップにおいては、
     第3ウェイポイントを前記第1ウェイポイントよりも前記第2パスから離れた位置に設定する場合には、前記第1ウェイポイントから、前記第2パスから離れる側に所定距離だけ離れた前記第1パス上の位置を、前記第3ウェイポイントとして設定し、
     第4ウェイポイントを前記第2ウェイポイントよりも前記第1パスから離れた位置に設定する場合には、前記第2ウェイポイントから、前記第2パスから離れる側に所定距離だけ離れた前記第2パス上の位置を、前記第4ウェイポイントとして設定する、請求項1又は請求項2に記載の経路設定方法。
  4.  前記経路を設定するステップにおいては、
     第3ウェイポイントを前記第1ウェイポイントよりも前記第2パスから離れた位置に設定する場合には、前記第1ウェイポイントと、前記第1パスに対して前記第2パスと反対側において交差する第4パスに最も近い前記第1パス上の第5ウェイポイントとを用いた二分探索により、前記第3ウェイポイントを設定し、
     第4ウェイポイントを前記第2ウェイポイントよりも前記第1パスから離れた位置に設定する場合には、前記第2ウェイポイントと、前記第2パスに対して前記第1パスと反対側において交差する第5パスに最も近い前記第2パス上の第6ウェイポイントとを用いた二分探索により、前記第4ウェイポイントを設定する、請求項1又は請求項2に記載の経路設定方法。
  5.  前記パスが、前記第1パス及び前記第2パスに交差して前記第1パス及び前記第2パスを接続する接続パスを更に有する場合には、
     前記経路を設定するステップにおいては、接続パスに含まれる各ウェイポイントに対して所定距離範囲内の各位置を通るような制約条件を設定することなく、前記移動体の経路を設定する、請求項1又は請求項2に記載の経路設定方法。
  6.  前記経路の設定対象となる前記移動体とは異なる別移動体について設定された経路である別経路の情報を取得するステップをさらに含み、
     前記経路を設定するステップにおいては、前記別経路から所定距離範囲内の領域を禁止領域として設定して、前記移動体が前記禁止領域を通らないように、前記経路を設定する、請求項1又は請求項2に記載の経路設定方法。
  7.  前記経路を設定するステップにおいては、前記禁止領域が、前記別移動体に対して設定された、前記第1パス、及び前記第2パスに隣接ずるパスから所定距離範囲内の領域よりも狭くなるように、前記禁止領域を設定する、請求項6に記載の経路設定方法。
  8.  移動体が通るべきウェイポイントの情報を取得するステップと、
     前記ウェイポイントに基づいて、前記移動体の経路を設定するステップとをコンピュータに実行させるプログラムであって、
     前記移動体の経路を設定するステップにおいては、
     前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、
     前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にある第3ウェイポイントと、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にある第4ウェイポイントとを、前記第3ウェイポイントから前記第4ウェイポイントまでの距離が前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長くなるように設定して、
     前記第3ウェイポイントから所定距離以内の位置と前記第4ウェイポイントから所定距離以内の位置とを通る経路を、前記移動体の経路として設定する、
     プログラム。
  9.  通るべきウェイポイントの情報に基づいて設定された経路を移動する移動体であって、
     前記経路は、
     前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、
     第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通るように設定され、
     前記第3ウェイポイントは、前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にあり、前記第4ウェイポイントは、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にあり、前記第3ウェイポイントから前記第4ウェイポイントまでの距離は、前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長い、
     移動体。
PCT/JP2023/034224 2022-09-26 2023-09-21 経路設定方法、プログラム及び移動体 WO2024070877A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022152754A JP2024047235A (ja) 2022-09-26 2022-09-26 経路設定方法、プログラム及び移動体
JP2022-152754 2022-09-26

Publications (1)

Publication Number Publication Date
WO2024070877A1 true WO2024070877A1 (ja) 2024-04-04

Family

ID=90477662

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/034224 WO2024070877A1 (ja) 2022-09-26 2023-09-21 経路設定方法、プログラム及び移動体

Country Status (2)

Country Link
JP (1) JP2024047235A (ja)
WO (1) WO2024070877A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170071122A1 (en) * 2013-11-18 2017-03-16 Agco Corporation System and method for automatically generating vehicle guidance waypoints and waylines
JP2020057271A (ja) * 2018-10-03 2020-04-09 株式会社Ihi 走行制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170071122A1 (en) * 2013-11-18 2017-03-16 Agco Corporation System and method for automatically generating vehicle guidance waypoints and waylines
JP2020057271A (ja) * 2018-10-03 2020-04-09 株式会社Ihi 走行制御装置

Also Published As

Publication number Publication date
JP2024047235A (ja) 2024-04-05

Similar Documents

Publication Publication Date Title
JP6816830B2 (ja) 位置推定システム、および当該位置推定システムを備える移動体
JP2020057307A (ja) 自己位置推定のための地図データを加工する装置および方法、ならびに移動体およびその制御システム
US20180057261A1 (en) Article Transport Facility
WO2019194079A1 (ja) 位置推定システム、当該位置推定システムを備える移動体、およびコンピュータプログラム
CA3172332A1 (en) Method for controlling an automatic guided vehicle and control system adapted to execute the method
JP2024128140A (ja) 移動体の制御方法、移動体、移動制御システム及びプログラム
JP7300413B2 (ja) 制御装置、移動体、移動制御システム、制御方法及びプログラム
WO2024070877A1 (ja) 経路設定方法、プログラム及び移動体
CN112578789A (zh) 移动体
JP7511504B2 (ja) 移動体、移動制御システム、移動体の制御方法及びプログラム
WO2024219072A1 (ja) 位置情報の設定方法、プログラム及び情報処理装置
WO2024219068A1 (ja) 制御方法、プログラム及び移動体
JP7300410B2 (ja) 制御装置、移動体、移動制御システム、制御方法及びプログラム
WO2024004272A1 (ja) 経路設定方法、プログラム及び移動体
JP7482811B2 (ja) 移動体の制御方法、移動体及びプログラム
WO2024166432A1 (ja) 移動体の制御方法、プログラム及び情報処理装置
WO2024058156A1 (ja) 経路設定方法、プログラム及び移動体
JP7482808B2 (ja) 移動体の制御方法、移動体及びプログラム
WO2024202104A1 (ja) 情報処理装置、移動体の制御方法及び移動体の制御プログラム
WO2024202133A1 (ja) 制御方法、プログラム及び移動体
WO2024202129A1 (ja) 移動体の制御方法、プログラム及び情報処理装置
WO2024202102A1 (ja) 情報処理装置、移動体の制御方法、移動体の制御プログラム及び移動制御システム
JP7187516B2 (ja) 移動体、移動制御システム、移動体の制御方法及びプログラム
JP7514819B2 (ja) 移動体の制御方法、移動体及びプログラム
JP7527322B2 (ja) 情報処理方法、情報処理装置及びプログラム

Legal Events

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

Ref document number: 23872103

Country of ref document: EP

Kind code of ref document: A1