Control method, program, and moving body

The control method for mobile bodies enhances obstacle avoidance by detecting obstacles and dynamically adjusting routes, ensuring safe and efficient navigation through dynamic route updates and retreat strategies.

JP2025011519APending Publication Date: 2025-01-24MITSUBISHI HEAVY IND LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023113689
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-11
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

Existing systems for controlling mobile bodies to avoid obstacles are inadequate, leading to potential collisions and inefficiencies in navigation.

Method used

A control method and system that enables a mobile body to detect obstacles, set avoidance routes, and update routes dynamically to ensure safe navigation, including retreat and evasion strategies when standard avoidance routes are not feasible.

Benefits of technology

Effectively avoids obstacles by dynamically adjusting routes, ensuring safe and efficient movement of mobile bodies even when initial avoidance strategies fail.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025011519000001_ABST
    Figure 2025011519000001_ABST
Patent Text Reader

Abstract

To avoid obstacles appropriately.SOLUTION: A control method is a control method for controlling a moving body that moves automatically. The control method includes the steps of: moving the moving body along a reference path; causing a sensor provided on the moving body to detect an obstacle located on a side toward a first direction, which is a traveling direction of the moving body, while the moving body is moving along the reference path; setting an avoidance path toward the first direction while avoiding the obstacle if the obstacle is present on the side toward the first direction; moving the moving body along the avoidance path; generating an updated avoidance path, which is another avoidance path that satisfies a predetermined condition, while the moving body is moving along the avoidance path; and retreating the moving body in a second direction opposite to the first direction if the updated avoidance path that satisfies the predetermined condition cannot be generated.SELECTED DRAWING: Figure 15
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a control method, a program, and a moving object. [Background technology]

[0002] There is known a mobile object that is equipped with a sensor for detecting the surroundings and moves automatically. For example, Patent Document 1 describes a method for detecting an obstacle, specifying the position and orientation of the front of the obstacle based on the detection result, and generating an avoidance path for avoiding the obstacle based on the specification result. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2022-141380 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, there is room for improvement in controlling a moving object to avoid obstacles.

[0005] The present disclosure is devised to solve the above-mentioned problems, and aims to provide a control method, a program, and a moving body that are capable of appropriately avoiding obstacles. [Means for solving the problem]

[0006] A control method according to the present disclosure is a control method for an automatically moving moving body, and includes the steps of moving the moving body according to a reference path; while the moving body is moving according to the reference path, causing a sensor provided on the moving body to detect an obstacle located in a first direction, which is the traveling direction of the moving body; when an obstacle is present in the first direction, setting an avoidance path toward the first direction while avoiding the obstacle; moving the moving body according to the avoidance path; while the moving body is moving according to the avoidance path, generating an updated avoidance path, which is another avoidance path that satisfies a predetermined condition; and, when the updated avoidance path that satisfies the predetermined condition cannot be generated, moving the moving body backward in a second direction opposite to the first direction.

[0007] A program according to the present disclosure is a program for causing a computer to execute a control method for an automatically moving moving body, the program causing a computer to execute the following steps: moving the moving body according to a reference path; while the moving body is moving according to the reference path, causing a sensor provided on the moving body to detect an obstacle located in a first direction, which is the direction of travel of the moving body; if an obstacle is present in the first direction, setting an avoidance path toward the first direction while avoiding the obstacle; moving the moving body according to the avoidance path; while the moving body is moving according to the avoidance path, generating an updated avoidance path, which is another avoidance path that satisfies a specified condition; and, if an updated avoidance path that satisfies the specified condition cannot be generated, moving the moving body backward in a second direction opposite to the first direction.

[0008] The moving body according to the present disclosure is an automatically moving moving body, and includes a movement control unit that moves the moving body according to a reference path, a detection control unit that causes a sensor provided on the moving body to detect an obstacle located in a first direction, which is the traveling direction of the moving body, while the moving body is moving according to the reference path, and an avoidance path acquisition unit that, when an obstacle is present in the first direction, acquires an avoidance path toward the first direction while avoiding the obstacle, wherein the movement control unit moves the moving body according to the avoidance path, and, when the moving body is moving according to the avoidance path, if an updated avoidance path, which is another avoidance path that satisfies a predetermined condition, cannot be generated, causes the moving body to retreat in a second direction opposite to the first direction. Effect of the Invention

[0009] According to the present disclosure, obstacles can be appropriately avoided. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a schematic diagram of a mobility control system according to the present embodiment. [Diagram 2] FIG. 2 is a schematic diagram of the configuration of a moving body. [Diagram 3] FIG. 3 is a schematic block diagram of the management device. [Figure 4] FIG. 4 is a schematic block diagram of an information processing device. [Diagram 5] FIG. 5 is a schematic block diagram of a control device for a moving object. [Figure 6] FIG. 6 is a schematic diagram illustrating an example of obstacle detection. [Figure 7] FIG. 7 is a schematic diagram illustrating an example of stopping of a moving object. [Figure 8] FIG. 8 is a schematic diagram illustrating an example of a retreat path. [Figure 9] FIG. 9 is a schematic diagram illustrating an example of an avoidance route. [Figure 10] FIG. 10 is a schematic diagram showing an example of a case where an updated avoidance route cannot be set. [Figure 11]FIG. 11 is a schematic diagram showing an example of a case where an updated avoidance route cannot be set. [Figure 12] FIG. 12 is a schematic diagram showing an example of a case where an updated avoidance route cannot be set. [Figure 13] FIG. 13 is a schematic diagram illustrating an example of an evacuation route. [Figure 14] FIG. 14 is a schematic diagram illustrating an example of updating the reference trajectory. [Figure 15] FIG. 15 is a flowchart illustrating the control flow of a moving object. [Figure 16] FIG. 16 is a schematic diagram showing an example of a method for setting sub-goals. [Figure 17] FIG. 17 is a schematic diagram showing an example of a method for setting sub-goals. [Figure 18] FIG. 18 is a schematic diagram showing an example of a method for setting sub-goals. [Figure 19] FIG. 19 is a schematic diagram showing an example of setting a reference route. [Figure 20] FIG. 20 is a schematic diagram showing an example of setting an avoidance route. [Figure 21] FIG. 21 is a schematic diagram for explaining the setting of the non-interference region. [Figure 22] FIG. 22 is a schematic diagram for explaining the setting of the non-interference region. [Figure 23] FIG. 23 is a schematic diagram illustrating another example of setting the non-interference region. [Figure 24] FIG. 24 is a schematic diagram showing an example of a method for extracting an analysis point group. [Diagram 25] FIG. 25 is a schematic diagram for explaining an avoidance route for another moving object. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Note that the present disclosure is not limited to these embodiments, and when there are multiple embodiments, the present disclosure also includes combinations of the embodiments.

[0012] (First embodiment) (Mobility Control System) FIG. 1 is a schematic diagram of a movement control system according to the present embodiment. As shown in FIG. 1, the movement control system 1 according to the present embodiment 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 the 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. In the movement control system 1, the moving body 10 picks up and transports an object placed within an area AR of the facility W. The area AR is an area in which the object is installed and the moving body 10 moves, for example, the floor surface of the facility W. In this embodiment, the object transported by the moving body 10 is a transport object in which luggage is loaded on a pallet. However, the 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. In addition, the moving body 10 is not limited to a device that transports an object, and may be a device that moves within the facility W for any purpose.

[0013] Hereinafter, one direction along the area AR is the X direction, and a direction along the area AR that intersects with the X direction is the Y direction. In this embodiment, 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 perpendicular to the vertical direction upward, is the Z direction. In this embodiment, unless otherwise specified, the "position" refers to a position (coordinate) in a coordinate system (the coordinate system of the area AR) on a two-dimensional surface on the area AR. Furthermore, unless otherwise specified, the "attitude (orientation)" 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 the X direction is 0° when viewed from the Z direction.

[0014] (Waypoint) In the area AR, a waypoint WP is set for each position (coordinate). The route along which the moving body 10 moves (a reference route R0 described below) is set so as to connect the waypoints WP. In other words, the route connecting the waypoints WP through which the moving body 10 plans to pass becomes the reference route R0 of the moving body 10. The waypoints WP are set according to the layout of the facility W. For example, the waypoints WP are set in a matrix pattern within the area AR.

[0015] (Mobile) FIG. 2 is a schematic diagram of the configuration of a moving body. The moving body 10 is a device capable of moving automatically. In this embodiment, the moving body 10 is a non-holonomic system that cannot move sideways. In this embodiment, 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). However, 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.

[0016] As shown in FIG. 2, 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 front-rear direction, and are a pair of shaft-shaped members protruding from the vehicle body 20. The wheels 20A are provided at the ends of the straddle legs 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 front-rear direction of the vehicle body 20. The mast 22 extends along the up-down direction (here, direction Z) perpendicular to the front-rear direction. The fork 24 is movably attached to the mast 22 in direction Z. The fork 24 may also be movable in the lateral direction of the vehicle body 20 (a direction intersecting the up-down and front-rear 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 disposed apart from each other in the lateral direction of the mast 22. Hereinafter, in the front-rear direction, the direction toward the side of the movable body 10 where the fork 24 is not provided is referred to as the forward direction, and the direction toward the side where the fork 24 is provided is referred to as the rearward direction.

[0017] The sensor 26A detects at least one of the position and the attitude of an object present around the vehicle body 20. It can also be said that the sensor 26A detects at least one of the position of the object relative to the moving body 10 and the attitude of the object relative to the moving body 10. In this embodiment, the sensor 26A is provided at the front end of each straddle leg 21 and on the rear side of the vehicle body 20. However, the position at which the sensor 26A is provided is not limited thereto, and the sensor 26A may be provided at any position, and the number of sensors provided may also be arbitrary.

[0018] The sensor 26A is, for example, a sensor that irradiates a laser beam. The sensor 26A irradiates a laser beam 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 beam. That is, the sensor 26A can be said to be a so-called two-dimensional (2D)-LiDAR (Light Detection And Ranging). However, the sensor 26A is not limited to the above, and may be a sensor that detects an object by any method, for example, a so-called three-dimensional (3D)-LiDAR that is scanned in multiple directions, a so-called one-dimensional (1D)-LiDAR that is not scanned, or a camera.

[0019] The control device 28 controls the movement of the moving body 10. The control device 28 will be described later.

[0020] (Management device) FIG. 3 is a schematic block diagram of the management device. The management device 12 is a system that manages logistics in the facility W. In this embodiment, 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 the management device 12 may be installed within 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.

[0021] 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. In this embodiment, the communication method by the communication unit 30 is wireless communication, but the communication method may be any. The storage unit 32 is a memory that stores various information such as the contents of calculations 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 an HDD (Hard Disk Drive).

[0022] 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 by reading and executing a program (software) from the storage unit 32. The control unit 34 may execute the process by one CPU, or may include multiple CPUs and execute the process by the multiple CPUs. The destination information setting unit 40 may be realized by a hardware circuit. The program for the control unit 34 stored in the storage unit 32 may be stored in a recording medium that can be read by the management device 12.

[0023] The destination information setting unit 40 sets destination information indicating the destination of the moving object 10. Setting of the destination information will be described later.

[0024] The management device 12 may execute processes other than setting the destination information. For example, the management device 12 may set information for controlling mechanisms (e.g., elevators, doors, etc.) other than the moving object 10 provided in the facility W.

[0025] (Information processing device) 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. In this embodiment, 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 an HDD.

[0026] The control unit 54 is a calculation device and includes a calculation circuit such as a CPU. The control unit 54 includes a reference path setting unit 60. The control unit 54 realizes the reference path setting unit 60 by reading and executing a program (software) from the storage unit 52, and executes the processes. The control unit 54 may execute these processes using one CPU, or may be provided with multiple CPUs and execute the processes using the multiple CPUs. At least a part of the reference path setting unit 60 may be realized by a hardware circuit. The program for the control unit 54 stored in the storage unit 52 may be stored in a recording medium readable by the information processing device 14.

[0027] The reference path setting unit 60 sets a reference path R0 for the moving object 10. The method of setting the reference path R0 will be described later.

[0028] In the present embodiment, 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 a part of the functions of the information processing device 14, and the information processing device 14 may have at least a part of the functions of the management device 12.

[0029] (Control device for moving objects) Next, the control device 28 of the moving body 10 will be described. 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 in this embodiment, 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.

[0030] The control unit 74 is a calculation device and includes a calculation circuit such as a CPU. The control unit 74 includes a reference path acquisition unit 80, a movement control unit 82, a detection control unit 84, a retreat path acquisition unit 86, and an avoidance path acquisition unit 88. The control unit 74 realizes the reference path acquisition unit 80, the movement control unit 82, the detection control unit 84, the retreat path acquisition unit 86, and the avoidance path acquisition unit 88 by reading and executing a program (software) from the storage unit 72, and executes the processes. The control unit 74 may execute these processes by one CPU, or may include multiple CPUs and execute the processes by the multiple CPUs. In addition, at least a part of the reference path acquisition unit 80, the movement control unit 82, the detection control unit 84, the retreat path acquisition unit 86, and the avoidance path acquisition unit 88 may be realized by a hardware circuit. In addition, the program for the control unit 74 stored in the storage unit 72 may be stored in a recording medium readable by the control device 28.

[0031] The reference path acquisition unit 80 acquires information on the reference path R0. The movement control unit 82 controls the movement mechanisms of the moving body 10, such as the drive unit and steering, to control the movement of the moving body 10. The detection control unit 84 acquires the detection result of the obstacle P by the sensor 26A. The retreat path acquisition unit 86 acquires a retreat path R1 for the moving body 10 to retreat when the obstacle P is detected. The avoidance path acquisition unit 88 acquires an avoidance path R2 for the moving body 10 to travel while avoiding the obstacle P after retreating according to the retreat path R1. Specific processing contents of these will be described later.

[0032] (Movement control system processing) The processing contents of the mobility control system 1 will be explained below.

[0033] (Destination information settings) The destination information setting unit 40 of the management device 12 sets destination information indicating the destination of the moving body 10. In this embodiment, a waypoint is set in advance for each position (coordinates) on the area AR. The destination information setting unit 40 may specify the position (coordinates) of the waypoint corresponding to the destination as the destination information. Also, an identifier may be assigned to each waypoint, and the destination information setting unit 40 may specify the identifier of the waypoint 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.

[0034] (Setting the reference route) The reference route setting unit 60 of the information processing device 14 sets the reference route R0a of the moving body 10. In this embodiment, the reference route setting unit 60 sets the reference route R0a based on the destination information. Specifically, the reference route setting unit 60 sets the route from the origin to the destination, which passes through each position within a predetermined distance range from each waypoint, as the reference route R0a. The origin position may be set arbitrarily, and for example, the waypoint closest to the current position of the moving body 10 may be set as the origin. For example, the reference route setting unit 60 sets the route from the initial position to the destination, which passes through each position within a predetermined distance range from each waypoint, as the reference route R0a, based on the destination information and the map information of the facility W.

[0035] The reference path setting unit 60 transmits information on the set reference path R0a to the moving body 10. The reference path acquisition unit 80 of the moving body 10 acquires information on the reference path R0a set by the information processing device 14. The moving body 10 moves according to this reference path R0a. However, the reference path acquisition unit 80 of the moving body 10 may set a reference path R0b that the moving body 10 can follow as a reference path that the moving body 10 will actually follow, based on the reference path R0a and information on the vehicle specifications of the moving body 10. In this case, the moving body 10 moves according to the reference path R0b. The information on the vehicle specifications is, for example, specifications that affect the path that the moving body 10 can move, such as the size of the moving body 10 and the minimum turning radius. Note that "moving according to the reference path" here does not mean moving strictly along the reference path, but means moving so as to follow the reference path as much as possible, and also includes moving to a position that is somewhat away from the reference path. The same applies to other than the reference path.

[0036] In the above description, the information processing device 14 sets the reference path R0a and the moving object 10 sets the reference path R0b, but the reference paths R0a and R0b may be set by any entity. For example, the moving object 10 may set the reference path R0a, or the information processing device 14 may set the reference path R0b.

[0037] Hereinafter, when there is no need to distinguish between the reference path R0a and the reference path R0b, in other words when either the reference path R0a or the reference path R0b can be referred to, the reference path will be appropriately described as the reference path R0.

[0038] (Movement of moving objects) The movement control unit 82 of the moving body 10 moves the moving body 10 according to the acquired reference route R0. The movement control unit 82 moves the moving body 10 so as to pass through the reference route R0 by successively grasping the position information of the moving body 10. Any method for acquiring the position information of the moving body 10 may be used, but for example, in this embodiment, a detection object (not shown) is provided in the facility W, and the movement control unit 82 acquires information on the position and attitude of the moving body 10 based on the detection of the detection object. Specifically, the moving body 10 irradiates a laser beam toward the detection object, receives the reflected light of the laser beam by the detection object, and detects its own position and attitude in the facility W. The method for acquiring information on the position and attitude of the moving body 10 is not limited to using the detection object, and may use, for example, SLAM (Simultaneous Localization And Mapping).

[0039] (Obstacles) Here, the reference path R0 is set so as to avoid structures and the like installed in the facility W, so that the moving body 10 can move along the reference path R0 without interfering with the structures. However, an obstacle P may be temporarily located within the facility W, and if the obstacle P is present near the reference path R0, the moving body 10 may collide with the obstacle P or may stop to avoid colliding with the obstacle P. Therefore, in this embodiment, the moving body 10 detects the obstacle P using the sensor 26A while moving, and if there is a possibility of interference with the obstacle P, it switches to an avoidance path R2 that avoids the obstacle P. A specific description will be given below. Note that the obstacle P here may refer to any object or may be a person.

[0040] (Obstacle detection) FIG. 6 is a schematic diagram for explaining an example of obstacle detection. The detection control unit 84 of the moving body 10 causes the sensor 26A to detect an obstacle P located in the moving direction (first direction) of the moving body 10 while the moving body 10 is moving, and determines whether or not the obstacle P exists on the moving direction side of the moving body 10 based on the detection result of the sensor 26A. In this embodiment, while the moving body 10 is moving along the reference path R0, the detection control unit 84 causes the sensor 26A to detect the moving direction side of the moving body 10 at predetermined intervals to detect whether or not the obstacle P exists. FIG. 6 shows an example in which the moving body 10 moves along the reference path R0 with the Y1 direction, which is one direction along the Y direction, as the moving direction (first direction). The detection control unit 84 causes the sensor 26A to detect whether or not the obstacle P exists on the Y1 direction side of the moving body 10 while the moving body 10 is moving in the Y1 direction along the reference path R0. 6 shows an example in which an obstacle P is detected on the Y1 direction side of the moving body 10 when the moving body 10 is located at waypoint WP1 on the reference route R0. That is, in FIG. 6, waypoint WP1 is the position of the moving body 10 when the obstacle P is detected.

[0041] The detection control unit 84 may determine that an obstacle P exists when the sensor 26A detects an obstacle P on the Y1 direction side of the moving body 10. However, the present invention is not limited to this. The detection control unit 84 may determine, from the detection result by the sensor 26A, whether the moving body 10 will interfere with the obstacle P detected by the sensor 26A if it continues to move, and may determine that an obstacle P exists when it is determined that the obstacle P will interfere. Any method for determining whether or not there is interference may be used. For example, the detection control unit 84 may identify the position of the obstacle P from the detection result by the sensor 26A, and determine that the obstacle P will interfere when the position of the obstacle P is within a predetermined distance range from the reference route R0.

[0042] (Stopping of moving objects) FIG. 7 is a schematic diagram for explaining an example of stopping of a moving body. When an obstacle P exists in the traveling direction side of the moving body 10, the moving control unit 82 of the moving body 10 stops the moving body 10. That is, when it is determined that an obstacle P exists, the moving control unit 82 starts control to stop the moving of the moving body 10, and stops the moving body 10. As a result, the moving body 10 stops at a position on the opposite side of the traveling direction (second direction side) from the obstacle P. In the example of FIG. 6, when the moving body 10 moves in the Y1 direction according to the reference route R0, an obstacle P is detected at the waypoint WP1 (it is determined that the obstacle P exists), so that when the moving body 10 is located at the waypoint WP1, the moving control unit 82 starts control to stop the moving of the moving body 10. Therefore, as shown in the example of FIG. 7, the moving body 10 stops at the waypoint WP2, which is a position on the reference route R0 on the Y1 direction side of the waypoint WP1 and on the Y2 direction side (second direction side) of the obstacle P.

[0043] (Setting the retreat route) 8 is a schematic diagram for explaining an example of a retreat route. The retreat route acquisition unit 86 of the moving body 10 acquires a retreat route R1 when an obstacle P is present in the traveling direction of the moving body 10. The retreat route R1 is a route that returns in a second direction (Y2 direction) opposite to the traveling direction (Y1 direction). More specifically, the retreat route R1 is a route that heads in the Y2 direction from the position where the moving body 10 stopped (a position on the Y2 direction side of the obstacle P).

[0044] In this embodiment, the retreat path acquisition unit 86 sets the retreat path R1 based on the reference path R0. Specifically, the retreat path acquisition unit 86 sets a predetermined position on the Y2 direction side (away from the obstacle P) of the position where the moving body 10 stops as the retreat position. The retreat path acquisition unit 86 sets a path from the position where the moving body 10 stops to the retreat position based on the reference path R0, and sets it as the retreat path R1. Note that the retreat position may be set arbitrarily, but in this embodiment, the retreat path acquisition unit 86 may set the retreat position based on the position of the moving body 10 when the obstacle P is detected. For example, the retreat path acquisition unit 86 may set a position within a predetermined distance range from the position of the moving body 10 when the obstacle P is detected as the retreat position.

[0045] The method of setting the retreat path R1 based on the reference path R0 may be arbitrary. For example, the retreat path acquisition unit 86 may set a path along the reference path R0 in the Y2 direction as the retreat path R1. That is, in this case, the retreat path R1 follows the reference path R0, but the traveling direction is opposite to that of the reference path R0. In this example, the retreat path acquisition unit 86 sets, as the retreat position, the waypoint WP that is closest to the position of the moving body 10 when the obstacle P is detected among the waypoints WP on the reference path R0. Then, the retreat path acquisition unit 86 sets, as the retreat path R1, a path along the reference path R0 from the position where the moving body 10 stops to the retreat position. In the example of FIG. 8, the retreat path acquisition unit 86 sets, as the retreat path R1, a path along the reference path R0 from the waypoint WP2, which is the position where the moving body 10 stops, to the waypoint WP1 that is closest to the position where the moving body 10 stops.

[0046] Also, although the moving body 10 moves according to the reference path R0, it may actually move away from the reference path R0 due to a detection error of the moving body 10's position. Therefore, for example, the retreat path acquisition unit 86 may set a path along the actual moving trajectory of the moving body 10 toward the Y2 direction as the retreat path R1. The moving trajectory refers to the path (trajectory) that the moving body 10 that moved according to the reference path R0 actually moved along. That is, in this case, the retreat path R1 is along the moving trajectory, but the traveling direction is opposite to the moving trajectory. When moving along the moving trajectory, the retreat path acquisition unit 86 acquires each position in the time series of the moving body 10 that is moving according to the reference path R0, and sets a path that connects each position and heads toward the Y2 direction as the retreat path R1. More specifically, the retreat path acquisition unit 86 sets the position of the moving body 10 when the obstacle P is detected as the retreat position, and sets the path along the moving trajectory from the position where the moving body 10 stopped to the retreat position as the retreat path R1. In addition, since the movement trajectory is the trajectory of the moving object 10 when moving according to the reference route R0, it can be said that in this example as well, the retraction route acquisition unit 86 sets the retraction route R1 based on the reference route R0.

[0047] The timing for setting the retreat path R1 may be arbitrary, and the retreat path R1 may be set after the moving body 10 stops. Alternatively, for example, the retreat path R1 may be set after the obstacle P is detected and before the moving body 10 stops. In this case, the position where the moving body 10 will stop may be estimated based on the speed of the moving body 10, and the retreat path R1 may be set from the estimated position.

[0048] In the above description, the reverse route acquisition unit 86 of the moving body 10 sets the reverse route R1, but the entity that sets the reverse route R1 may be arbitrary. For example, the information processing device 14 may set the reverse route R1 based on the reference route R0 in a manner similar to that described above, and the reverse route acquisition unit 86 of the moving body 10 may acquire the reverse route R1 from the information processing device 14.

[0049] (movement along retreat path) The movement control unit 82 of the moving body 10 moves the moving body 10 according to the retreat route R1. That is, the movement control unit 82 moves the moving body 10 in the Y2 direction according to the retreat route R1 from the position where the moving body 10 stopped (waypoint WP2 in the example of FIG. 8) to a retreat position (waypoint WP1 in the example of FIG. 8).

[0050] In this manner, in this embodiment, when an obstacle P is present, the moving body 10 is stopped and retreated, but stopping and retreating (movement along the retreat path R1) are not essential processes. That is, for example, when an obstacle P is present, the moving body 10 may continue moving by switching to an avoidance path R2 described below without stopping and retreating. Also, for example, when an obstacle P is present, the moving body 10 may continue moving by switching to an avoidance path R2 after stopping, without retreating (movement along the retreat path R1).

[0051] (Setting an avoidance route) FIG. 9 is a schematic diagram for explaining an example of an avoidance route. When an obstacle P exists in the traveling direction of the moving body 10, the avoidance route acquisition unit 88 of the moving body 10 acquires an avoidance route R2. The avoidance route R2 is a route that heads in the Y1 direction while avoiding the obstacle P. In this embodiment, the avoidance route acquisition unit 88 sets a route that does not interfere with the obstacle P and heads in the Y1 direction from the obstacle P based on the position of the obstacle P, and sets it as the avoidance route R2. The method for setting the avoidance route R2 may be arbitrary, but for example, the avoidance route R2 may be set by performing an optimization calculation with the constraint condition of not interfering with the obstacle P. More specifically, it is preferable that the avoidance route acquisition unit 88 sets, as the avoidance route R2, a route that heads in the Y1 direction while avoiding the obstacle P and merges with the reference route R0 on the Y1 direction side from the obstacle P.

[0052] In this embodiment, the moving body 10 retreats to a retreat position according to the retreat path R1, and then moves according to the avoidance path R2. Therefore, the avoidance path acquisition unit 88 sets the retreat position as the starting point of the avoidance path R2, and sets a path from the retreat position to the Y1 direction while avoiding the obstacle P as the avoidance path R2. In the example of FIG. 9, the avoidance path R2 bulges in the X direction while heading in the Y1 direction from the retreat position to the position where the obstacle P is present, and on the Y1 direction side of the obstacle P, it returns to the opposite side of the X direction while heading in the Y1 direction and merges with the reference path R0. However, when the moving body 10 is not retreated according to the retreat path R1, the avoidance path acquisition unit 88 may set an arbitrary position as the starting point of the avoidance path R2. For example, when the moving body 10 is stopped but not retreated according to the retreat path R1, the position where the moving body 10 is stopped may be set as the starting point of the avoidance path R2. Furthermore, for example, if the moving body 10 is not stopped and retreated, a position between the position of the moving body 10 when the obstacle P is detected and the position of the obstacle P may be set as the starting point of the avoidance route R2.

[0053] The timing for setting the avoidance path R2 may be arbitrary, and may be set after the obstacle P is detected. For example, the avoidance path R2 may be set after the moving object 10 arrives at the retreat position.

[0054] In the above description, the avoidance route acquisition unit 88 of the moving body 10 sets the avoidance route R2, but the entity that sets the avoidance route R2 may be arbitrary. For example, the information processing device 14 may set the avoidance route R2 based on the position of the obstacle P in a manner similar to that described above, and the avoidance route acquisition unit 88 of the moving body 10 may acquire the avoidance route R2 from the information processing device 14.

[0055] (Movement along an avoidance route) After moving the moving body 10 to the retreat position according to the retreat path R1, the movement control unit 82 moves the moving body 10 according to the avoidance path R2. This allows the moving body 10 to continue moving in the Y1 direction while appropriately avoiding the obstacle P. When the moving body 10 is stopped but not retreated according to the retreat path R1, the movement control unit 82 moves the moving body 10 from the stopped position according to the avoidance path R2. Also, for example, when the moving body 10 is not stopped and retreated, the movement control unit 82 switches the path of the moving body 10 moving according to the reference path R0 to the avoidance path R2, and moves the moving body 10 according to the avoidance path R2. When the avoidance of the obstacle P is completed by moving according to the avoidance path R2, the movement control unit 82 may return the moving body 10 to the reference path R0 and continue moving according to the reference path R0.

[0056] (Update avoidance route) The avoidance path acquisition unit 88 sets an updated avoidance path based on the detection result by the sensor 26A while the moving body 10 is moving according to the avoidance path R2. That is, the updated avoidance path refers to an avoidance path R2 that is different from the avoidance path R2 currently being used, and can be said to be an avoidance path R2 that is set based on the latest detection result of the sensor 26A.

[0057] More specifically, while the moving body 10 is moving along the avoidance route R2, the detection control unit 84 causes the sensor 26A to continue detecting the obstacle P. Then, the avoidance route acquisition unit 88 judges whether or not it is necessary to set an updated avoidance route based on the detection result of the sensor 26A during the movement along the avoidance route R2 (the latest detection result of the sensor 26A). For example, the avoidance route acquisition unit 88 may judge that it is necessary to set an updated avoidance route if continuing the movement along the currently used avoidance route R2 would result in interference with the obstacle P located at a position calculated from the latest detection result of the sensor 26A, and may judge that it is not necessary to set an updated avoidance route if there is no interference with the obstacle P.

[0058] When it is necessary to set an updated avoidance path, the avoidance path acquisition unit 88 sets, as the updated avoidance path, a path heading in the Y1 direction while avoiding the obstacle P located at a position calculated from the latest detection result of the sensor 26A. The method of setting the updated avoidance path may be the same as the method of setting the avoidance path R2. When the updated avoidance path is set, the movement control unit 82 switches (updates) the currently used avoidance path R2 to the newly set updated avoidance path, and moves the moving body 10 according to the newly set updated avoidance path as the avoidance path R2. Setting of the updated avoidance path and switching to the updated avoidance path may be performed multiple times. That is, for example, the avoidance path acquisition unit 88 may further set an updated avoidance path based on the detection result by the sensor 26A while the moving body 10 is moving according to the switched avoidance path R2, and switch the avoidance path R2 to the updated avoidance path. Note that, when it is determined that it is unnecessary to set an updated avoidance path, the movement according to the already set avoidance path R2 is continued.

[0059] As the moving body 10 advances in the Y1 direction, the sensor 26A approaches the already detected obstacle P and other obstacles P located in the Y1 direction, and is therefore able to detect these obstacles P with higher accuracy. Therefore, it may be found that the obstacle P located at the position calculated from the latest detection result of the sensor 26A cannot be avoided using the avoidance route R2 that has been used up until now. In such a case, the obstacle P can be avoided more appropriately by setting an updated avoidance route using the latest detection result of the sensor 26A and switching to the updated avoidance route.

[0060] The entity that sets the updated avoidance route may also be arbitrary. For example, the information processing device 14 may set the updated avoidance route based on the position of the obstacle P in a manner similar to that described above, and the avoidance route acquisition unit 88 of the moving body 10 may acquire the updated avoidance route from the information processing device 14.

[0061] (Setting an update avoidance route that satisfies certain conditions) 10 to 12 are schematic diagrams showing examples of cases where an updated avoidance route cannot be set. In this embodiment, the avoidance route acquisition unit 88 judges whether an updated avoidance route that satisfies a predetermined condition can be set. An updated avoidance route that satisfies a predetermined condition refers to a route that can avoid the obstacle P detected by the sensor 26A.

[0062] When an updated avoidance route that satisfies the predetermined condition can be set, as described above, the avoidance route acquisition unit 88 sets the updated avoidance route, and the movement control unit 82 switches (updates) the currently used avoidance route R2 to the newly set updated avoidance route, and moves the moving body 10 according to the avoidance route R2, using the newly set updated avoidance route as the avoidance route R2. On the other hand, when an updated avoidance route that satisfies the predetermined condition cannot be set, the avoidance route acquisition unit 88 sets an evacuation route R3 (described later) toward the Y2 direction, and the movement control unit 82 causes the moving body 10 to retreat in the Y2 direction according to the evacuation route R3. In other words, when an updated avoidance route that satisfies the predetermined condition cannot be set, the movement control unit 82 cancels the movement according to the avoidance route R2 and causes the moving body 10 to retreat in the Y2 direction. The process of causing the moving body 10 to retreat in the Y2 direction will be described later in detail.

[0063] In addition, the updated avoidance route that satisfies the predetermined condition means, more specifically, a route that heads in the Y1 direction while avoiding the obstacle P located at the position calculated from the latest detection result of the sensor 26A. In other words, if a route that heads in the Y1 direction while avoiding the obstacle P located at the position calculated from the latest detection result of the sensor 26A can be set, it can be said that the updated avoidance route that satisfies the predetermined condition can be set, and if such a route cannot be set, it can be said that the updated avoidance route that satisfies the predetermined condition cannot be set. For example, FIG. 10 shows a case where an obstacle P that was not detected initially (obstacle PA in FIG. 10) is detected while moving along the avoidance route R2. In this case, depending on the position of the obstacle PA, if the vehicle proceeds further in the Y1 direction, it may interfere with either the obstacle P or PA, and it may not be possible to set a route that avoids both the obstacles P and PA. In such a case, it can be said that an updated avoidance route that satisfies the predetermined condition (heads in the Y1 direction while avoiding the obstacle) cannot be set. 11, while moving along the avoidance route R2, the position and orientation of an already detected obstacle P may be detected with higher accuracy, and if the vehicle proceeds further in the Y1 direction, it may interfere with the already detected obstacle P, making it impossible to set a route to avoid the obstacle P. In such a case, an updated avoidance route that satisfies the predetermined condition (moving in the Y1 direction while avoiding the obstacle) cannot be set.

[0064] More preferably, the updated avoidance path that satisfies the predetermined condition may refer to a path that heads in the Y1 direction while avoiding the obstacle P located at the position calculated from the latest detection result of the sensor 26A and merges with the reference path R0 on the Y1 side of the obstacle P. That is, in this case, if it is possible to set a path that avoids the obstacle P located at the position calculated from the latest detection result of the sensor 26A and merges with the reference path R0 on the Y1 side of the obstacle P, it is possible to set an updated avoidance path that satisfies the predetermined condition, and if such a path cannot be set (for example, if only a path that can avoid the obstacle P but cannot merge with the reference path R0 can be set), it can be said that it is impossible to set an updated avoidance path that satisfies the predetermined condition. For example, in FIG. 12, the reference path R0 is a trajectory that turns in the opposite direction to the X direction just on the Y1 side of the obstacle P. In this case, if the vehicle proceeds further in the Y1 direction, the obstacle P can be avoided, but there are cases in which it interferes with the wall W on the Y1 side and cannot merge with the reference path R0 that turns in the opposite direction to the X direction. In such a case, it can be said that an updated avoidance route that satisfies a predetermined condition (avoiding the obstacle P and merging with the reference route R0) cannot be set.

[0065] Also, for example, during a time period when the moving body 10 is moving according to the reference path R0, the surrounding area including the reference path R0 along which the moving body 10 is moving may be set as a prohibited area. The prohibited area is an area into which only the moving body 10 may enter and into which other moving bodies are prohibited. In this case, if it is possible to set a route heading in the Y1 direction while avoiding the obstacle P located at a position calculated from the latest detection result of the sensor 26A without going outside the prohibited area, it may be possible to set an updated avoidance route that satisfies a predetermined condition, and if it is not possible to set such a route (for example, only a route that can avoid the obstacle P but goes outside the prohibited area can be set), it may be possible to set an updated avoidance route that satisfies the predetermined condition.

[0066] (Setting evacuation routes) 13 is a schematic diagram for explaining an example of an escape route. As described above, when an updated avoidance route that satisfies a predetermined condition cannot be set, the escape route acquisition unit 88 sets an escape route R3. The escape route R3 is a route that returns to the second direction (Y2 direction). More specifically, the retreat route R1 is a route that heads in the Y2 direction from the current position of the moving body 10 that is moving according to the escape route R2 (for example, the position of the moving body 10 when the determination result that an updated avoidance route cannot be set is acquired).

[0067] In this embodiment, the avoidance path acquisition unit 88 sets a predetermined position on the Y2 direction side of the current position of the moving body 10 as the evacuation position. The avoidance path acquisition unit 88 sets a path from the current position of the moving body 10 toward the evacuation position, and sets it as the evacuation path R3. Note that the evacuation position may be set arbitrarily, but in this embodiment, the starting point of the initially set avoidance path R2 may be set as the evacuation position. In the example of FIG. 13, the path from the current position of the moving body 10 to the waypoint WP1, which is the starting point of the avoidance path R2, is set as the evacuation path R3.

[0068] The method of setting the evacuation route R3 may be arbitrary. For example, the avoidance route acquisition unit 88 may set the evacuation route R3 based on the detection result of the sensor 26A. In this case, the avoidance route acquisition unit 88 may set a route toward the evacuation position while avoiding the obstacle P detected by the sensor 26A as the evacuation route R3. For example, the avoidance route acquisition unit 88 sets a route toward the evacuation position while avoiding the obstacle P as the evacuation route R3 based on the latest detection result of the sensor 26A. Note that the method of setting the evacuation route R3 in this case may be the same as the method of setting the above-mentioned avoidance route R2. The moving body 10 may continue detection by the sensor 26A even while moving according to the evacuation route R3, and update the evacuation route R3 based on the detection result of the sensor 26A while moving according to the evacuation route R3.

[0069] Also, for example, the avoidance path acquisition unit 88 may set the evacuation path R3 based on the avoidance path R2. In this case, for example, the avoidance path acquisition unit 88 may set a path along the avoidance path R2 in the opposite direction as the evacuation path R3. More specifically, the avoidance path acquisition unit 88 may set a path that merges with the initially set avoidance path R2 and heads toward the evacuation position as the evacuation path R3.

[0070] The moving body 10 moves while being detected by the sensor 26A. When the detection result of the sensor 26A indicates that an obstacle exists within a safety area set on the front side (the side where the fork 24 is not provided) and the rear side (the side where the fork 24 is provided) of the moving body 10, the movement control unit 82 stops the movement of the moving body 10. This safety area may be set arbitrarily, but may be set to a different size depending on the direction of the moving body 10 with respect to the traveling direction. For example, the safety area on the traveling direction side of the moving body 10 is set wider than the safety area on the opposite side to the traveling direction of the moving body 10. That is, in this case, the safety area in the forward direction when the moving body 10 moves forward (moves forward toward the traveling direction) is set wider than the safety area in the rear direction when the moving body 10 moves forward. Similarly, the safety area in the rear direction when the moving body 10 moves backward (moves backward toward the traveling direction) is set wider than the safety area in the forward direction when the moving body 10 moves backward. In the case where the sizes of the safety areas are different as described above and the escape route R3 is set based on the avoidance route R2, there is a risk that the obstacle P will be located within the safety area when escaping according to the escape route R3, and the obstacle P will not be able to return to the escape position. That is, for example, when the moving body 10 moves (moves forward) along the escape route R2 with the forward direction as the travel direction, the rearward safety area becomes narrower, so that even if the obstacle P is located on the opposite side to the travel direction (rearward side), the moving body 10 can continue moving if the obstacle P is outside the narrow rearward safety area. However, when the moving body 10 retreats along the escape route R3 along the avoidance route R2 with the rearward direction as the travel direction, the obstacle P will be located on the travel direction side (rearward side) where the safety area is wider. Therefore, there is a risk that the obstacle P will enter the wide safety area on the travel direction side, and the moving body 10 moving along the escape route R3 will stop. In preparation for such a case, it is preferable that the avoidance path acquisition unit 88 sets the avoidance path R2 so that the obstacle P is not located within the larger safety area in both the forward and backward directions. This makes it possible to prevent the moving body 10 from stopping when moving along the evacuation path R3.

[0071] (Movement according to evacuation route) The movement control unit 82 of the moving object 10 moves the moving object 10 according to the evacuation route R3. That is, the movement control unit 82 switches from the avoidance route R2 to the evacuation route R3, and retreats to a evacuation position (waypoint WP1 in the example of FIG. 13) according to the evacuation route R3.

[0072] (Update of reference route) FIG. 14 is a schematic diagram for explaining an example of updating the reference route. When the moving body 10 moves to the evacuation position according to the evacuation route R3, the reference route R0 is updated so as to pass through a position where the obstacle P does not exist. That is, in this case, the moving body 10 transmits the position information of the obstacle P to the information processing device 14. The reference route setting unit 60 of the information processing device 14 sets a new reference route R0 that passes through a position where the obstacle P does not exist based on the position information of the obstacle P. For example, the reference route setting unit 60 sets a route that does not pass through a waypoint WP within a predetermined distance range from the position of the obstacle P and that leads from the current position (evacuation position) of the moving body 10 to the destination of the moving body 10 as the new reference route R0. The reference route setting unit 60 transmits the newly set reference route R0 to the moving body 10. The movement control unit 82 of the moving body 10 moves the moving body 10 according to the newly set reference route R0. 14, the original reference route R0 is a route toward the end point (destination) waypoint WP4, passing through waypoints within a predetermined distance range from the obstacle P. Therefore, in the example of FIG. 14, a detour route from the waypoint WP0 toward the waypoint WP4 without passing through waypoints within a predetermined distance range from the obstacle P is set as a new reference route R0a. By setting a new reference route R0 in this manner, even if it is not possible to set an avoidance route R2 (updated avoidance route) that avoids the obstacle P or returns to the original reference route R0, it is possible to appropriately head toward the original destination.

[0073] However, when the moving object 10 moves to the evacuation position, the reference path R0 is not necessarily updated. For example, even if an updated avoidance path that avoids the obstacle P and returns to the reference path R0 cannot be set from a position where the moving object 10 has advanced to a certain extent according to the avoidance path R2, an avoidance path R2 that avoids the obstacle P and returns to the reference path R0 may be set from a retreat position that is further back. Therefore, when the moving object 10 moves to the evacuation position according to the evacuation path R3, the avoidance path acquisition unit 88 may determine whether it is possible to set an avoidance path R2 that moves from the evacuation position in the Y1 direction while avoiding the obstacle P, based on the position of the obstacle P based on the detection result of the sensor 26A up to now. If such an avoidance path R2 is settable, the avoidance path acquisition unit 88 may set the avoidance path R2, and the movement control unit 82 may move the moving object 10 according to the avoidance path R2. If such an avoidance path R2 cannot be set, the reference path R0 may be updated as described above.

[0074] (Processing flow) The control flow of the moving body described above will be described. FIG. 15 is a flowchart for explaining the control flow of the moving body. As shown in FIG. 15, while the moving body 10 moves along the reference path R0, the detection control unit 84 causes the sensor 26A to detect an obstacle P (step S10). The detection control unit 84 acquires the detection result of the sensor 26A and determines whether an obstacle P exists in the moving direction of the moving body 10 (step S12). If the obstacle P does not exist (step S12; No), the process returns to step S10 and the moving body 10 continues to move along the reference path R0. On the other hand, if the obstacle P exists (step S12; Yes), the moving body 10 sets an avoidance path R2 by the avoidance path acquisition unit 88 (step S14), and moves according to the avoidance path R2 by the movement control unit 82 (step S16). Note that, if the obstacle P exists, the moving body 10 may be stopped and moved backward along the backward path R1, and then switched to the avoidance path R2.

[0075] Even while the moving body 10 is moving along the avoidance route R2, the detection control unit 84 causes the sensor 26A to detect an obstacle P, and determines whether or not it is necessary to set an updated avoidance route based on the detection result of the sensor 26A (step S18). If it is not necessary to set an updated avoidance route (step S18; No), the moving body 10 continues moving along the avoidance route R2. On the other hand, if it is necessary to set an updated avoidance route, If so (step S18; Ys), the moving body 10 attempts to set an updated avoidance route that satisfies a predetermined condition based on the detection result of the sensor 26A using the avoidance route acquisition unit 88, and if the updated avoidance route can be set (step S20; Yes), the moving body 10 switches the avoidance route R2 to the updated avoidance route (step S22) and moves according to the updated avoidance route. On the other hand, if the updated avoidance route cannot be set (step S20; No), the moving body 10 sets an evacuation route R3 using the avoidance route acquisition unit 88, and retreats according to the evacuation route R3 using the movement control unit 82 (step S24).

[0076] (effect) As described above, in this embodiment, when the obstacle P is detected, the avoidance path R2 is switched to and movement is continued. However, due to the detection accuracy of the sensor 26A, etc., even if the obstacle P is moved along the avoidance path R2, there are cases in which the obstacle P cannot be appropriately avoided. In contrast, in this embodiment, after switching to the avoidance path R2, it is determined whether an updated avoidance path can be set, and if an updated avoidance path cannot be set, the moving body 10 is caused to move backward. As a result, when the obstacle P cannot be avoided along the avoidance path R2, the moving body 10 can be returned, and therefore the obstacle P can be appropriately avoided. Furthermore, after the moving body 10 is caused to move backward, the reference path R0 is updated, or the avoidance path R2 is updated, so that the moving body 10 can continue moving while avoiding the obstacle P.

[0077] Second embodiment Next, a second embodiment will be described. The second embodiment differs from the first embodiment in that an avoidance path R2 is set based on a subgoal. In the second embodiment, a description of the configuration common to the first embodiment will be omitted.

[0078] (Setting sub-goals) In the second embodiment, when it is determined that an obstacle P exists, the avoidance path acquisition unit 88 sets a subgoal S based on the detection result by the sensor 26A. The subgoal S is a position (coordinates) that is assumed not to interfere with the obstacle P. The avoidance path acquisition unit 88 sets a plurality of subgoals S at different positions. The avoidance path acquisition unit 88 may set the subgoal S by any method based on the detection result by the sensor 26A, but for example, the avoidance path acquisition unit 88 sets a position different from the position of the obstacle P detected by the sensor 26A as the subgoal S. An example of setting the subgoal S will be described below.

[0079] 16 to 18 are schematic diagrams showing examples of a method for setting subgoals. For example, as shown in FIG. 16, the avoidance path acquisition unit 88 may set, as subgoals S, positions that are a distance ΔL away from each position on the reference path R0 in a crossing direction (X direction in the example of FIG. 16) that crosses the traveling direction of the reference path R0 (Y1 direction in the example of FIG. 16). However, in this case, for positions on the reference path R0 that are within a predetermined distance range from the position of the obstacle P detected by the sensor 26A, the positions that are a distance ΔL away from the position of the obstacle P detected by the sensor 26A are not set as subgoals S, but are set as subgoals S. That is, in the example of FIG. 6, the avoidance path acquisition unit 88 sets, as subgoals S, positions that are a distance ΔL away from each position on the reference path R0 that is outside the predetermined distance range from the position of the obstacle P in the crossing direction and a position that is a distance ΔL away from the position of the obstacle P in the crossing direction. The distance ΔL may be set arbitrarily, and is preferably a constant length for each position, but is not limited thereto and may be a different length for each position.

[0080] Also, for example, as shown in FIG. 17, the avoidance path acquisition unit 88 may set, as a subgoal S, a set of positions (preferably midpoint positions) between obstacles detected by the sensor 26A in a crossing direction (X direction in the example of FIG. 17) crossing the travel direction (Y1 direction in the example of FIG. 6) of the reference path R0. In the example of FIG. 17, an obstacle P is detected on the travel direction side of the reference path R0, and walls W are detected as obstacles on both sides in the crossing direction. In this case, the avoidance path acquisition unit 88 sets, as a subgoal S, each position between the walls W on both sides on the crossing direction side (respective midpoint positions in this example) in a section toward the travel direction side of the reference path R0 where there is no obstacle P and there are walls W on both sides. Also, the avoidance path acquisition unit 88 sets, as a subgoal S, each position (respective midpoint positions in this example) between the walls W and the obstacle P in the crossing direction in a section toward the travel direction side of the reference path R0 where there is an obstacle P.

[0081] Also, for example, as shown in FIG. 18, when the avoidance path acquisition unit 88 determines that the obstacle P moves, it may set an obstacle area ARP1 that may exist due to the movement of the obstacle P. In this case, the avoidance path acquisition unit 88 may set each position that is outside the obstacle area ARP1 and aligned in the traveling direction of the reference path R0 as a subgoal S. Note that the method of determining that the obstacle P moves may be arbitrary, and for example, the avoidance path acquisition unit 88 may specify the shape of the obstacle P from the detection result of the sensor 26A, and determine that the obstacle P moves if the shape satisfies a predetermined condition. Also, the avoidance path acquisition unit 88 may treat all of the detected obstacles P as moving without determining whether they move. The avoidance path acquisition unit 88 may set the obstacle area ARP1 by an arbitrary method based on the position of the obstacle P detected by the sensor 26A. For example, the avoidance path acquisition unit 88 may set, as the obstacle area ARP1, an area whose outer periphery is each position that is a predetermined distance away from the position of the obstacle P detected by the sensor 26A.

[0082] (Setting reference route) FIG. 19 is a schematic diagram showing an example of setting a reference path. The avoidance path acquisition unit 88 sets a reference path R2a based on the subgoal S set by the avoidance path acquisition unit 88. The reference path R2a refers to a path used to set the avoidance path R2. The avoidance path acquisition unit 88 sets a path that passes through a position within a predetermined distance range from the subgoal S as the reference path R2a. Since a plurality of subgoals S are set in this embodiment, it can be said that the avoidance path acquisition unit 88 sets a path that passes through each position within a predetermined distance range from each subgoal S as the reference path R2a. In the example of FIG. 19, the reference path R2a passes above each subgoal S, but is not limited thereto, and may be a path that passes through a position away from each subgoal S by a predetermined distance.

[0083] The avoidance path acquisition unit 88 may set the reference path R2a by any method based on the subgoal S, but in this embodiment, the reference path R2a is set by using a method that results in a lower calculation load than the calculation load in setting the avoidance path R2 described below. More specifically, the avoidance path acquisition unit 88 sets the reference path R2a based on the subgoal S and the motion characteristics of the moving body 10. The motion characteristics here can also be considered as constraint conditions based on the motion characteristics of the moving body 10. In other words, the avoidance path acquisition unit 88 sets, as the reference path R2a, a path that passes through a position within a predetermined distance range from the subgoal S while satisfying the constraint conditions based on the motion characteristics of the moving body 10. Note that the motion characteristics of the moving body 10 refer to, for example, the minimum turning radius and the upper limit speed of the moving body 10.

[0084] In this embodiment, it is preferable that the avoidance path acquisition unit 88 sets the reference path R2a without using position information of the obstacle P identified from the detection result of the sensor 26A. In other words, it is preferable that the avoidance path acquisition unit 88 sets the reference path R2a without using, as a constraint condition, non-interference with the obstacle P identified from the detection result of the sensor 26A. By not applying, as a constraint condition, non-interference with the obstacle P, it is possible to reduce the calculation load and calculate the reference path R2a in a short calculation time.

[0085] For example, the avoidance path acquisition unit 88 may set the reference path R2a using the Pure-Pursuit method, the dynamic window approach, or the like.

[0086] (Setting an avoidance route) 20 is a schematic diagram showing an example of setting of an avoidance path. The avoidance path acquisition unit 88 sets an avoidance path R2 capable of avoiding the obstacle P based on the reference path R2a and the detection result of the sensor 26A acquired by the detection control unit 84. That is, the avoidance path acquisition unit 88 sets an avoidance path R2 that does not interfere with the obstacle P detected by the sensor 26A based on the information of the reference path R2a and the position information of the obstacle P detected by the sensor 26A. Here, the avoidance path R2 can be calculated only from the position information of the obstacle P, but in this embodiment, by also using the information of the reference path R2a, the avoidance path R2 can be calculated by referring to the reference path R2a, so that an appropriate avoidance path R2 can be set while shortening the calculation time.

[0087] In this embodiment, the avoidance path acquisition unit 88 sets the avoidance path R2 by performing an optimization calculation using the reference path R2a as an initial solution and a constraint condition of not interfering with the obstacle P. More specifically, it is preferable that the avoidance path acquisition unit 88 sets the avoidance path R2 by performing an optimization calculation using the reference path R2a as an initial solution and satisfying the constraint condition of not interfering with the obstacle P and the constraint condition based on the motion characteristics of the moving body 10. That is, the avoidance path acquisition unit 88 sets the avoidance path R2 by performing an optimization calculation using the reference path R2a as an initial solution and a constraint condition of not interfering with the obstacle P, which is specified from the detection result by the sensor 26A, and a constraint condition of satisfying the motion characteristics of the moving body 10. This makes it possible to appropriately set the avoidance path R2 that does not interfere with the obstacle P while satisfying the motion characteristics of the moving body 10, while shortening the calculation time. Note that the initial solution here is a base solution in the optimization calculation. In other words, by searching for an optimal solution from the reference route R2a, which is the initial solution, it is possible to quickly converge to the optimal solution, and an appropriate avoidance route R2 can be set while shortening the calculation time.

[0088] For example, the avoidance path acquisition unit 88 may set the avoidance path R2 using a primal-dual interior point method, a sequential quadratic programming method, or the like.

[0089] (Modification 1 of the second embodiment) Next, a first modified example of the second embodiment will be described. This example differs from the second embodiment in that an area AR1 surrounded by a point cloud M, which is a detection result of the sensor 26A, is set as a non-interference area, and a sub-goal S and an avoidance route R2 are set. In this example, a description of the configuration common to the second embodiment will be omitted.

[0090] 21 and 22 are schematic diagrams for explaining the setting of the non-interference region. In this example, the detection control unit 84 causes the sensor 26A to irradiate a laser beam. The detection control unit 84 acquires a point cloud M based on the detection result of the reflected light received by the sensor 26A. That is, the point cloud M can be said to be a measurement point indicating the position where the laser beam hits (the position where the laser beam is reflected). In this embodiment, the sensor 26A irradiates the laser beam while scanning in the lateral direction (the horizontal direction perpendicular to the Z direction), and therefore receives reflected light from different positions around the moving body 10. Therefore, the detection control unit 84 acquires a plurality of point clouds M indicating obstacles around the moving body 10 by one scanning of the laser beam. That is, as shown in FIG. 21, a line connecting the position of the sensor 26A to the point cloud M is defined as a line L1, a virtual line passing through the sensor 26A and having a fixed orientation with respect to the moving body 10 is defined as a line L2, and the amount of deviation of the angle of the line L1 with respect to the line L2 is defined as an azimuth angle θ between the sensor 26A and the point cloud M. In this case, it can be said that the detection control unit 84 acquires a plurality of point clouds M having different values ​​of the azimuth angle θ. In the example of FIG. 21, two obstacles P exist on the traveling direction side of the reference path R0 with respect to the moving body 10, and walls W exist on both sides of the traveling direction of the reference path R0. Therefore, in the example of FIG. 21, the detection control unit 84 acquires a point cloud M indicating the positions of the walls W on both sides and a point cloud M indicating the positions of the obstacles P.

[0091] As shown in Fig. 22, the detection control unit 84 calculates a line L3 that connects each of the point groups M in order of the magnitude of the azimuth angle θ from the position of the sensor 26A. That is, the line L3 includes a line that connects the point group M1 where the azimuth angle θ is the smallest (in the example of Fig. 22, the azimuth angle θ is the most negative) from the position of the sensor 26A, lines that connect each of the point groups M in order of the smallest azimuth angle θ, and a line that connects the point group M2 where the azimuth angle θ is the largest (in the example of Fig. 22, the azimuth angle θ is the most positive) to the position of the sensor 26A. The detection control unit 84 sets the inside of the area AR1 surrounded by the line L3 calculated in this way as a non-interference area.

[0092] In this example, at least one of the subgoal S and the avoidance path R2 is set based on the non-interference region set in this way. For example, when the subgoal S is set based on the non-interference region, the avoidance path acquisition unit 88 sets the subgoal S to be located within the non-interference region. In this case, the avoidance path acquisition unit 88 may set each position that is within the non-interference region and aligned in the traveling direction of the moving body 10 as the subgoal S. Also, for example, when the avoidance path R2 is set based on the non-interference region, the avoidance path acquisition unit 88 sets the avoidance path R2 such that the moving body 10 is located within the non-interference region (not outside the non-interference region). That is, the avoidance path R2 may be set by treating the moving body 10 being located within the non-interference region as a constraint condition that the moving body 10 does not interfere with the obstacle P, using the reference path R2a as an initial solution, and performing optimization calculations that satisfy the constraint condition that the moving body 10 is located within the non-interference region and the constraint condition based on the motion characteristics of the moving body 10.

[0093] By setting a non-interference region in this way and setting the sub-goal S and the avoidance route R2, for example, calculations such as ray tracing are not required, and the calculation time for the sub-goal S and the avoidance route R2 can be shortened. Also, for example, even if there are multiple obstacles P, a non-interference region that does not interfere with the obstacles P can be set, so that a route that can avoid the multiple obstacles P can be appropriately set.

[0094] FIG. 23 is a schematic diagram for explaining another example of the setting of the non-interference area. In this embodiment, in order to make the sensor 26A perform detection at every predetermined period, the detection control unit 84 acquires a set of point clouds M acquired by one scan for each detection of the sensor 26A (for each position of the moving body 10). In this case, the detection control unit 84 sets an area AR1 surrounded by a line L3 by the above-mentioned method based on one set of point clouds M for each of the multiple sets of point clouds M acquired for each detection. For example, in the example of FIG. 23, an area AR1a set from a point cloud M acquired by detection at a certain timing and an area AR1b set from a point cloud M acquired by detection at another timing are shown. The detection control unit 84 may set a non-interference area based on each set area AR1. The method of setting the non-interference area based on each area AR1 may be arbitrary. For example, the detection control unit 84 divides the entire area (area AR) into a plurality of unit areas, and for each unit area, counts the number of times the unit area is located within the area AR1. Then, the detection control unit 84 may set a group of unit areas that are located within the area AR1 a number of times equal to or greater than a predetermined threshold as a non-interference area.

[0095] In this way, by setting a non-interference area based on the area AR1 for each detection by the sensor 26A, it becomes possible to set a non-interference area from the accumulated detection results, and a non-interference area that is expected not to interfere with the obstacle P can be set with greater accuracy.

[0096] (Modification 2 of the second embodiment) Next, a second modification of the second embodiment will be described. This example differs from the second embodiment in that a part of the point cloud M, which is the detection result of the sensor 26A, is thinned out, and the remaining point cloud M is used as an analysis point cloud for setting the subgoal S and the avoidance route R2. In this example, the description of the parts of the configuration common to the second embodiment will be omitted. This example is also applicable to the first modification of the second embodiment.

[0097] FIG. 24 is a schematic diagram showing an example of a method for extracting an analysis point cloud. In this example, the detection control unit 84 extracts an analysis point cloud from the acquired point cloud M based on the distance from the moving body 10 to the point cloud M. It is preferable that the detection control unit 84 extracts the point cloud M close to the moving body 10 (reference route R0) as the analysis point cloud. Specifically, as shown in FIG. 24, the detection control unit 84 divides an area AR in which the moving body 10 is expected to move into a plurality of division areas ARD to set the division areas ARD. The division areas ARD may be set arbitrarily, but for example, as shown in FIG. 24, the detection control unit 84 may set a plurality of division areas ARD by dividing an area on the traveling direction side of the reference route R0 from the position of the moving body 10 into a predetermined distance in the traveling direction of the reference route R0. Then, the detection control unit 84 extracts the point cloud M closest to the moving body 10 (reference route R0) from the point clouds M in the division area ARD as the neighboring point cloud Ma. The detection control unit 84 performs this process for each divided region ARD to extract a neighboring point group Ma for each divided region ARD. In the example of Fig. 24, the detection control unit 84 extracts, for each divided region ARD, the point group M closest to the moving body 10 (reference path R0) among the multiple point groups M located on one side of the intersecting direction (X direction in the example of Fig. 24) with respect to the moving body 10 (reference path R0), and the point group M closest to the moving body 10 (reference path R0) among the multiple point groups M located on the other side of the intersecting direction with respect to the moving body 10 (reference path R0), as the neighboring point group Ma of the divided region ARD.

[0098] The detection control unit 84 sets the extracted neighborhood point group Ma as an analysis point group. In this example, at least one of the subgoal S and the avoidance route R2 is set based on the analysis point group set in this way. That is, in this example, the point group M other than the one extracted as the analysis point group is not used for the calculation of at least one of the subgoal S and the avoidance route R2. For example, the position of the obstacle P may be specified based on the analysis point group as in the second embodiment, and the subgoal S and the avoidance route R2 may be set. Also, for example, a non-interference area may be set based on the analysis point group as in the first modified example of the second embodiment, and the subgoal S and the avoidance route R2 may be set. By extracting a part of the point group M thus obtained as the analysis point group and using it for the subgoal S and the avoidance route R2, it is possible to reduce the dimensions in the calculation and reduce the calculation time.

[0099] Furthermore, the detection control unit 84 may extract a position (e.g., a center position) between adjacent neighboring point groups Ma as an auxiliary point group Mb, and set the neighboring point groups Ma and the auxiliary point group Mb as analysis point groups. In this case, for example, the detection control unit 84 may calculate the distance between adjacent neighboring point groups Ma, and set the auxiliary point group Mb between the neighboring point groups Ma when the distance is equal to or greater than a predetermined threshold. In this way, by setting the auxiliary point group Mb at a position where the neighboring point groups Ma are separated, it is possible to reduce the calculation time while suppressing a decrease in calculation accuracy.

[0100] Third embodiment Next, a third embodiment will be described. The third embodiment differs from the first embodiment in that an avoidance route R2A for another moving body 10A is set based on an avoidance route R2 for the moving body 10. Explanations of configurations common to the first embodiment and the third embodiment will be omitted. Note that the third embodiment is also applicable to the second embodiment and its modified examples.

[0101] 25 is a schematic diagram illustrating an avoidance route of another moving body. In the third embodiment, the moving body 10 (first moving body) for which the avoidance route R2 is set transmits information on the avoidance route R2 to the information processing device 14. The method of setting the avoidance route R2 of the moving body 10 is the same as in the previous embodiments and modified examples.

[0102] In the third embodiment, a reference route R0A is set for a moving body 10A other than the moving body 10, and a scheduled time period during which the moving body 10A passes through the reference route R0A is set later than a scheduled time period during which the moving body 10 passes through the reference route R0. In this case, the information processing device 14 determines whether the reference route R0A of the moving body 10A satisfies a predetermined condition. The predetermined condition here refers to the reference route R0A passing through within a predetermined distance range from the position of the obstacle P detected by the moving body 10. More specifically, the predetermined condition preferably refers to the reference route R0A overlapping with the reference route R0 in the vicinity of the obstacle P detected by the moving body 10. For example, in this case, when the reference route R0A passes through waypoints WP that are on the Y2 side of the position of obstacle P and within a predetermined distance range of the position of obstacle P (waypoint WP1 in the example of Figure 25), and waypoint WP that is on the Y1 side of the position of obstacle P and within a predetermined distance range of the position of obstacle P (waypoint WP3 in the example of Figure 25), the reference route R0A may be deemed to overlap with the reference route R0.

[0103] When the reference route R0A of the moving body 10A satisfies a predetermined condition, the information processing device 14 transmits information on the avoidance route R2 of the moving body 10 to the moving body 10A. For example, the information processing device 14 may transmit information on the avoidance route R2 of the moving body 10 itself to the moving body 10A. The avoidance route acquisition unit 88 of the moving body 10A sets an avoidance route R2A for avoiding the obstacle P based on the information on the avoidance route R2 of the moving body 10 acquired from the information processing device 14. The start point of the avoidance route R2A may be a waypoint WP on the reference route R0A on the direction Y1 side of the position of the obstacle P and within a predetermined distance range from the position of the obstacle P, and the end point of the avoidance route R2A may be a waypoint WP on the reference route R0A on the direction Y2 side of the position of the obstacle P and within a predetermined distance range from the position of the obstacle P. For example, the avoidance route acquisition unit 88 of the moving body 10A may set a route overlapping with the avoidance route R2 of the moving body 10 (the avoidance route R2 from the waypoint WP1 to the waypoint WP3 in the example of FIG. 25) as the avoidance route R2A.

[0104] The movement control unit 82 of the moving body 10A moves the moving body 10A along the reference path R0A to the starting point of the avoidance path R2A (waypoint WP1 in the example of FIG. 25), and then switches to the avoidance path R2A and moves the moving body 10A along the avoidance path R2A from the starting point to the end point of the avoidance path R2A (waypoint WP3 in the example of FIG. 25). Thereafter, the movement control unit 82 of the moving body 10A returns to the reference path R0A and continues moving. That is, in this case, the moving body 10A avoids the obstacle P using the avoidance path R2A without stopping and retreating in front of the obstacle P (on the Y2 direction side).

[0105] In this way, in the third embodiment, information about the moving body 10 that has discovered the obstacle P is shared with the moving body 10A that subsequently passes near the obstacle P, allowing the moving body 10A to avoid the obstacle P without stopping or retreating. This allows the moving body 10A to shorten the time it takes to avoid the obstacle P.

[0106] In the above description, the moving body 10A sets its own avoidance route R2A using the information on the avoidance route R2 itself as the information on the avoidance route R2 of the moving body 10, but this is not limited to the above. For example, the moving body 10A may acquire information on a non-interference area (see the modified example of the second embodiment) that is set by the moving body 10 and is an area that does not interfere with the obstacle P, as the information on the avoidance route R2 of the moving body 10. In this case, the avoidance route acquisition unit 88 of the moving body 10A may set the avoidance route R2A using the non-interference area set by the moving body 10, using a method similar to the modified example of the second embodiment.

[0107] Furthermore, if the moving body 10 that has found the obstacle P is unable to avoid the obstacle P using the avoidance route R2, that is, for example, if the moving body 10 returns to an evacuation position according to the evacuation route R3 and then updates the reference route R0 so as not to pass through the location where the obstacle P is located, the moving body 10A may be unable to avoid the obstacle P even if it uses the avoidance route R2 of the moving body 10. Therefore, in such a case, the moving body 10 may transmit position information of the detected obstacle P to the information processing device 14, and the moving body 10A may acquire the position information of the obstacle P from the information processing device 14 and set the avoidance route R2A by itself based on the position information. Also, for example, the moving body 10A may set the avoidance route R2A by using the non-interference area set by the moving body 10, using a method similar to the modified example of the second embodiment.

[0108] (effect) The control method according to the first aspect of the present disclosure is a control method for a moving body 10 that moves automatically, and includes the steps of moving the moving body 10 according to a reference path R0, causing a sensor 26A provided on the moving body 10 to detect an obstacle P located in a Y1 direction (first direction) that is a traveling direction of the moving body 10 while the moving body 10 is moving according to the reference path R0, setting an avoidance path R2 that moves toward the Y1 direction while avoiding the obstacle P when the obstacle P is present in the Y1 direction, moving the moving body 10 according to the avoidance path R2, determining whether an updated avoidance path that is another avoidance path R2 that satisfies a predetermined condition can be generated while the moving body 10 is moving according to the avoidance path R2, and, when an updated avoidance path that satisfies the predetermined condition cannot be generated, moving the moving body 10 backward in a Y2 direction (second direction) opposite to the Y1 direction. According to the present disclosure, the obstacle P can be appropriately avoided.

[0109] A control method according to a second aspect of the present disclosure is the control method according to the first aspect, and in the step of moving the moving body 10 backward in the Y2 direction, if an updated avoidance path capable of avoiding the obstacle P cannot be generated, the moving body 10 is moved backward in the Y2 direction. According to the present disclosure, if an updated avoidance path capable of avoiding the obstacle P cannot be generated, the moving body 10 is moved backward, so that the obstacle P can be appropriately avoided.

[0110] A control method according to a third aspect of the present disclosure is the control method according to the first or second aspect, and in the step of moving the moving body 10 backward in the Y2 direction, when it is not possible to generate an updated avoidance path that merges with the reference path R0 on the Y1 direction side of the obstacle P while avoiding the obstacle P, the moving body 10 is backward in the Y2 direction. According to the present disclosure, when it is not possible to generate an updated avoidance path that merges with the reference path R0 while avoiding the obstacle P, the moving body 10 is backward, so that the obstacle P can be appropriately avoided.

[0111] A control method according to a fourth aspect of the present disclosure is the control method according to any one of the first to third aspects, and in the step of causing the moving body 10 to retreat in the Y2 direction, an evacuation route R3 toward the Y2 direction is set based on the detection result by the sensor 26A, and the moving body 10 is caused to retreat in the Y2 direction according to the evacuation route R3. According to the present disclosure, since the evacuation route R3 is set based on the detection result of the sensor 26A, it is possible to appropriately retreat while avoiding the obstacle P.

[0112] A control method according to a fifth aspect of the present disclosure is the control method according to any one of the first to third aspects, and in the step of causing the moving body 10 to retreat in the Y2 direction, an evacuation route R3 heading in the Y2 direction is set based on the avoidance route R2, and the moving body 10 is caused to retreat in the Y2 direction according to the evacuation route R3. According to the present disclosure, since the evacuation route R3 is set based on the avoidance route R2, it is possible to appropriately retreat while avoiding the obstacle P.

[0113] A control method according to a sixth aspect of the present disclosure is the control method according to any one of the first to fifth aspects, further including a step of updating the reference path R0 so that the moving object 10 passes through a position that does not interfere with the obstacle P, after moving the moving object 10 in the Y2 direction, and moving the moving object 10 according to the updated reference path R0. According to the present disclosure, since the reference path R0 is updated after moving backward, even if the obstacle P cannot be avoided using the avoidance path R2, the obstacle P can be appropriately avoided using the updated reference path R0.

[0114] A control method according to a seventh aspect of the present disclosure is the control method according to any one of the first to sixth aspects, and further includes the steps of stopping the moving body 10 when an obstacle P is present on the Y1 direction side, setting a retreat path R1 that returns to a retreat position located on the Y2 direction side based on the reference path R0, and moving the stopped moving body 10 to the retreat position along the retreat path R1, and in the step of moving the moving body 10 along the avoidance path R2, the moving body 10 that has moved to the retreat position is moved along the avoidance path R2. According to the present disclosure, when the obstacle P is detected, the moving body 10 is stopped and retreated, and then switched to the avoidance path R2, thereby making it possible to appropriately avoid the obstacle P.

[0115] A program according to an eighth aspect of the present disclosure is a program for making a computer execute a method for controlling a moving body 10 that moves automatically, and causes the computer to execute the steps of moving the moving body 10 according to a reference path R0, causing a sensor 26A provided on the moving body 10 to detect an obstacle P located in the Y1 direction, which is the traveling direction of the moving body 10, when the obstacle P is present in the Y1 direction, setting an avoidance path R2 that moves toward the Y1 direction while avoiding the obstacle P, moving the moving body 10 according to the avoidance path R2, determining whether an updated avoidance path that is another avoidance path R2 that satisfies a predetermined condition can be generated while the moving body 10 is moving according to the avoidance path R2, and when an updated avoidance path that satisfies the predetermined condition cannot be generated, moving the moving body 10 backward in the Y2 direction opposite to the Y1 direction. According to the present disclosure, obstacles can be appropriately avoided.

[0116] The moving body 10 according to the ninth aspect of the present disclosure is an automatically moving moving body 10, and includes a movement control unit 82 that moves the moving body 10 according to a reference path R0, a detection control unit 84 that causes a sensor 26A provided on the moving body 10 to detect an obstacle P located in the Y1 direction side, which is the traveling direction of the moving body 10, when the moving body 10 moves according to the reference path R0, and an avoidance path acquisition unit 88 that acquires an avoidance path R2 that moves toward the Y1 direction while avoiding the obstacle P when the obstacle P exists in the Y1 direction. The movement control unit 82 moves the moving body 10 according to the avoidance path R2. When the moving body 10 moves according to the avoidance path R2, if the moving control unit 82 cannot generate an updated avoidance path that is another avoidance path R2 that satisfies a predetermined condition, the moving control unit 82 moves the moving body 10 backward in the Y2 direction. According to the present disclosure, obstacles can be appropriately avoided.

[0117] Although the embodiment of the present disclosure has been described above, the embodiment is not limited by the contents of this embodiment. In addition, the above-mentioned components include those that a person skilled in the art can easily imagine, those that are substantially the same, and those that are within the so-called equivalent range. Furthermore, the above-mentioned components can be appropriately combined. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the gist of the above-mentioned embodiment. [Explanation of symbols]

[0118] 10 Mobile 12 Management device 14 Information processing equipment 26A Sensor 80 Reference Path Acquisition Unit 82 Movement control section 84 Detection control section 86 Reverse path acquisition unit 88 Avoidance route acquisition section P Obstacle R0 Reference Path R1 Retreat route R2 Evasion Route R3 Evacuation route

Claims

1. A method for controlling an automatically moving object, comprising: moving the moving object along a reference path; a step of causing a sensor provided on the moving body to detect an obstacle located in a first direction, which is a traveling direction of the moving body, while the moving body is moving along the reference path; When an obstacle is present in the first direction, setting an avoidance route toward the first direction while avoiding the obstacle; moving the moving object along the avoidance path; a step of determining whether an updated avoidance route, which is another avoidance route that satisfies a predetermined condition, can be generated while the moving body is moving along the avoidance route; moving the moving body backward in a second direction opposite to the first direction when the updated avoidance path that satisfies a predetermined condition cannot be generated; Including, Control methods.

2. 2. The control method according to claim 1, wherein in the step of moving the moving body backward in the second direction, when the updated avoidance path capable of avoiding the obstacle cannot be generated, the moving body is moved backward in the second direction.

3. 3. The control method according to claim 1, wherein in the step of moving the moving body backward in the second direction, if it is not possible to generate the updated avoidance path that avoids an obstacle and joins the reference path on the first direction side of the obstacle, the moving body is moved backward in the second direction.

4. 3. The control method according to claim 1, wherein in the step of moving the moving body in the second direction, an evacuation route toward the second direction is set based on a detection result by the sensor, and the moving body is moved in the second direction along the evacuation route.

5. 3. The control method according to claim 1, wherein in the step of moving the moving body in the second direction, an evacuation path toward the second direction is set based on the avoidance path, and the moving body is moved in the second direction according to the evacuation path.

6. 3. The control method according to claim 1, further comprising: updating the reference path so that the moving body passes through a position that does not interfere with the obstacle, after moving the moving body backward in the second direction, and moving the moving body according to the updated reference path.

7. stopping the moving body when an obstacle is present in the first direction; setting a reverse path for returning to a reverse position located on the second direction side based on the reference path; moving the stopped moving body to the retreat position along the retreat path; Further comprising: In the step of moving the moving body along the avoidance path, the moving body that has moved to the retreat position is moved along the avoidance path. The control method according to claim 1 or 2.

8. A program for causing a computer to execute a method for controlling an automatically moving object, moving the moving object along a reference path; a step of causing a sensor provided on the moving body to detect an obstacle located in a first direction, which is a traveling direction of the moving body, while the moving body is moving along the reference path; When an obstacle is present in the first direction, setting an avoidance route toward the first direction while avoiding the obstacle; moving the moving object along the avoidance path; a step of determining whether an updated avoidance route, which is another avoidance route that satisfies a predetermined condition, can be generated while the moving body is moving along the avoidance route; moving the moving body backward in a second direction opposite to the first direction when the updated avoidance path that satisfies a predetermined condition cannot be generated; The computer executes the program.

9. A moving object that moves automatically, A movement control unit that moves the moving body according to a reference path; a detection control unit that causes a sensor provided on the moving body to detect an obstacle located in a first direction, which is a traveling direction of the moving body, when the moving body moves along the reference path; an avoidance path acquisition unit that, when an obstacle is present on the first direction side, acquires an avoidance path toward the first direction while avoiding the obstacle; Including, The movement control unit is moving the moving body along the avoidance path; when an updated avoidance path, which is another avoidance path that satisfies a predetermined condition, cannot be generated while the moving body is moving according to the avoidance path, the moving body is moved backward in a second direction opposite to the first direction; Mobile body.

Citation Information

Patent Citations

  • Mobile body control method, mobile body, and program

    JP2022141380A