Control method, program, and moving body

The control method for mobile bodies detects obstacles and reverses the path to avoid collisions, enhancing safety and efficiency in obstacle avoidance.

JP2025011518APending Publication Date: 2025-01-24MITSUBISHI HEAVY IND LTD

Patent Information

Application Number
JP2023113688
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 mobile body control systems struggle to effectively avoid obstacles during automatic movement, leading to potential collisions and inefficiencies.

Method used

A control method and system that includes detecting obstacles in the path of a mobile body, stopping the mobile body, and setting a reverse route to avoid the obstacle, allowing the mobile body to safely maneuver around the obstruction while minimizing interference with other obstacles.

Benefits of technology

The system enables effective obstacle avoidance by stopping and reversing the mobile body to a safe distance from the obstacle, reducing the risk of collisions and improving operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025011518000001_ABST
    Figure 2025011518000001_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; stopping the moving body if the obstacle is present on the side toward the first direction; setting a retreat path for returning in a second direction opposite to the first direction on the basis of the reference path; and moving the stopped moving body along the retreat path.SELECTED DRAWING: Figure 10
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 along a 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, while the moving body is moving along the reference path, stopping the moving body if an obstacle is present in the first direction, setting a retreat path that returns in a second direction opposite to the first direction based on the reference path, and moving the stopped moving body along the retreat path.

[0007] The program according to the present disclosure is a program for causing a computer to execute a method for controlling an automatically moving moving body, and causes the computer to execute the steps of moving the moving body along a 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, while the moving body is moving along the reference path; stopping the moving body if an obstacle is present in the first direction; setting a retreat path that returns in a second direction opposite to the first direction, based on the reference path; and moving the stopped moving body along the retreat path.

[0008] The moving body according to the present disclosure is an automatically 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 on a first direction side, which is the traveling direction of the moving body, while the moving body is moving according to the reference path, and a retreat path acquisition unit that acquires a retreat path that returns in a second direction opposite to the first direction, which is set based on the reference path, and the movement control unit stops the moving body when an obstacle is present on the first direction side, and moves the stopped moving body according to the retreat path. 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 flowchart illustrating the control flow of a moving object. [Figure 11] FIG. 11 is a schematic diagram showing an example of a method for setting subgoals. [Figure 12] FIG. 12 is a schematic diagram showing an example of a method for setting subgoals. [Figure 13] FIG. 13 is a schematic diagram showing an example of a method for setting sub-goals. [Figure 14] FIG. 14 is a schematic diagram showing an example of setting a reference route. [Figure 15] FIG. 15 is a schematic diagram showing an example of setting an avoidance route. [Figure 16] FIG. 16 is a schematic diagram for explaining the setting of the non-interference region. [Figure 17] FIG. 17 is a schematic diagram for explaining the setting of the non-interference region. [Figure 18] FIG. 18 is a schematic diagram illustrating another example of setting the non-interference region. [Figure 19]FIG. 19 is a schematic diagram showing an example of a method for extracting an analysis point group. [Figure 20] FIG. 20 is a schematic diagram illustrating an example of the retreated position. [Figure 21] FIG. 21 is a schematic diagram illustrating an example of the retreated position. [Figure 22] FIG. 22 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 has the sensor 26A detect the obstacle P while moving, and if there is a possibility of interference with the obstacle P, it temporarily stops, then retreats along the retreat path R1, and resumes traveling along the 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] (Setting an avoidance route) FIG. 9 is a schematic diagram for explaining an example of an avoidance path. When an obstacle P exists in the traveling direction of the moving body 10, the avoidance path acquisition unit 88 of the moving body 10 acquires an avoidance path R2. The avoidance path R2 is a path from the retreat position toward the Y1 direction while avoiding the obstacle P. In this embodiment, the avoidance path acquisition unit 88 sets a path that does not interfere with the obstacle P and heads toward the Y1 direction from the obstacle P based on the position of the obstacle P, and sets it as the avoidance path R2. The method for setting the avoidance path R2 may be arbitrary, but for example, the avoidance path 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 path acquisition unit 88 sets, as the avoidance path R2, a path that heads toward the Y1 direction from the retreat position while avoiding the obstacle P and merges with the reference path R0 on the Y1 direction side of the obstacle P. For example, in the example of FIG. 9, the avoidance path R2, from the retreat position to the position where the obstacle P is located, heads in the Y1 direction while expanding in the X direction, and on the Y1 side of the obstacle P, heads in the Y1 direction while returning to the opposite side of the X direction and merges with the reference path R0.

[0051] The timing for setting the avoidance path R2 may be arbitrary, and the avoidance path R2 may be set after the moving body 10 arrives at the retreat position. Also, for example, the avoidance path R2 may be set after the obstacle P is detected and before the moving body 10 stops, or the avoidance path R2 may be set after the moving body 10 stops and before it arrives at the retreat position.

[0052] 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.

[0053] (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 resume movement in the Y1 direction while avoiding the obstacle P, making it possible to continue moving while appropriately avoiding the obstacle P. Note that, once 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.

[0054] Furthermore, in this embodiment, the moving body 10 may continue to detect the obstacle P by the sensor 26A while moving along the avoidance path R2, and the avoidance path acquisition unit 88 may update the avoidance path R2 based on the position of the obstacle P detected by the sensor 26A. Once the avoidance path R2 has been updated, the movement control unit 82 updates the avoidance path R2 and moves the moving body 10 along the updated avoidance path R2. This makes it possible to use the avoidance path R2 updated based on a more accurate position of the obstacle P, and to more appropriately avoid the obstacle P.

[0055] (Processing flow) The control flow of the moving body described above will be described. FIG. 10 is a flowchart for explaining the control flow of the moving body. As shown in FIG. 10, while the moving body 10 moves along the reference route 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 route R0. On the other hand, if the obstacle P exists (step S12; Yes), the moving control unit 82 stops the moving body 10 (step S14), and the reverse route acquisition unit 86 sets a reverse route R1 based on the reference route R0 (step S16). Then, the moving object 10 moves according to the reverse route R1 by the movement control unit 82 (step S18), and if the moving object 10 does not arrive at the reverse position (step S20; No), the process returns to step S18 and the moving object 10 continues to move according to the reverse route R1 until the moving object 10 arrives at the reverse position. If the moving object 10 arrives at the reverse position (step S20; Yes), the moving object 10 sets an avoidance route R2 by the avoidance route acquisition unit 88 (step S22), and the moving object 10 moves according to the avoidance route R2 by the movement control unit 82 (step S24).

[0056] (effect) As described above, in this embodiment, when an obstacle P is detected, the moving body 10 is stopped once and then retreats according to the retreat route R1. This allows the obstacle to be avoided appropriately. More specifically, when an obstacle P is detected, it is also possible to switch to an avoidance route that avoids the obstacle P without stopping and retreating. However, in this case, it takes time to generate an avoidance route after detecting the obstacle P and switch to the avoidance route, and there is a risk that the obstacle P may be approached too closely, making it impossible to avoid the obstacle P appropriately. In addition, if the detection range of the sensor 26A is not set to be that wide, it is assumed that the obstacle P cannot be detected until the obstacle P is quite close, and similarly, there is a risk that the obstacle P may not be avoided appropriately. In contrast, in this embodiment, when an obstacle P is detected, the moving body 10 is stopped and retreated, making it possible to move to avoid the obstacle P from a position sufficiently away from the obstacle P (movement according to the avoidance route R2 in this embodiment), so that the obstacle can be avoided appropriately. Moreover, in this embodiment, the retreat path R1 is set based on the reference path R0 that the moving body 10 has used up until now, so the retreat path R1 is less likely to interfere with other obstacles. Therefore, according to this embodiment, the moving body 10 can retreat without interfering with other obstacles, and can avoid obstacles more appropriately. Furthermore, the effort of detecting other obstacles to set the retreat path R1 is no longer necessary, and it is possible to retreat appropriately while reducing the computational load.

[0057] 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.

[0058] (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.

[0059] 11 to 13 are schematic diagrams showing examples of a method for setting subgoals. For example, as shown in FIG. 11, 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. 11) that crosses the traveling direction of the reference path R0 (Y1 direction in the example of FIG. 11). 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.

[0060] Also, for example, as shown in FIG. 12, 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. 12) crossing the travel direction (Y1 direction in the example of FIG. 6) of the reference path R0. In the example of FIG. 12, 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 the 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 the 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.

[0061] Also, for example, as shown in FIG. 13, 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.

[0062] (Setting reference route) FIG. 14 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. 14, 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.

[0063] 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.

[0064] 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.

[0065] 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.

[0066] (Setting an avoidance route) 15 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.

[0067] 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 R can be set while shortening the calculation time.

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

[0069] (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.

[0070] 16 and 17 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. 16, 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. 16, 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. 16, 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.

[0071] As shown in Fig. 17, 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. 17, 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. 17, 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.

[0072] 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.

[0073] 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.

[0074] FIG. 18 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. 18, 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 that 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.

[0075] 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.

[0076] (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.

[0077] FIG. 19 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. 19, 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. 19, 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 cloud 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. 19, 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. 19) 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.

[0078] 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 R 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.

[0079] 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.

[0080] Third embodiment Next, a third embodiment will be described. The third embodiment differs from the first embodiment in that, when it is determined that an obstacle P exists, it is determined whether to stop and move the moving body 10 backward. Descriptions of the configurations of the third embodiment common to the first embodiment will be omitted. Note that the third embodiment is also applicable to the second embodiment and its modified examples.

[0081] In the third embodiment, the movement control unit 82 judges whether the position of the moving body 10 when the obstacle P is detected (detection position) and the position of the detected obstacle P satisfy a predetermined relationship. When the detection position and the position of the obstacle P satisfy the predetermined relationship, the movement control unit 82 stops the moving body 10 and moves the moving body 10 along the retreat route R1. That is, in the third embodiment, when the detection position and the position of the obstacle P satisfy the predetermined relationship, the movement control unit 82 stops the moving body 10, sets the retreat route R1, and moves the moving body 10 along the retreat route R1. On the other hand, in the third embodiment, when the detection position and the position of the obstacle P do not satisfy the predetermined relationship, at least one of stopping the moving body 10 and moving the moving body 10 along the retreat route R1 is not executed.

[0082] The predetermined relationship here may be any relationship, but may refer to the detection position and the position of the obstacle P being within a predetermined distance range. That is, for example, if the detection position and the position of the obstacle P are sufficiently far away from each other to the extent that an avoidance route R2 that can avoid the obstacle P without stopping and retreating can be set, the predetermined relationship is not satisfied, and if the detection position and the position of the obstacle P are close to each other to the extent that an avoidance route R2 that can avoid the obstacle P without stopping and retreating cannot be set, the predetermined relationship is satisfied. The movement control unit 82 may determine whether the predetermined relationship is satisfied based on the detection position, the position of the obstacle P, and the movement speed of the moving body 10. That is, since the distance that the moving body 10 travels before stopping varies depending on the movement speed of the moving body 10, it is possible to more appropriately determine whether to stop and retreat the moving body 10 by determining whether the predetermined relationship is satisfied based on the movement speed of the moving body 10 as well.

[0083] More specifically, in this embodiment, the movement control unit 82 does not stop and move backward the moving body 10 when the detection position and the position of the obstacle P satisfy the first condition. That is, in this case, the moving body 10 does not stop and does not move according to the retreat path R1, but sets an avoidance path R2, switches from the reference path R0 to the avoidance path R2, and moves according to the avoidance path R2. That is, in this case, the moving body 10 seamlessly switches from the reference path R0 to the avoidance path R2 and continues moving. Note that the first condition may be any condition, but may indicate that the detection position and the position of the obstacle P are far enough apart that the obstacle P can be avoided without stopping and moving backward.

[0084] On the other hand, when the detection position and the position of the obstacle P do not satisfy the first condition but satisfy the second condition, the movement control unit 82 stops the moving body 10 but does not move the moving body 10 backward. That is, in this case, after stopping, the moving body 10 sets an avoidance route R2 without moving along the backward route R1, and moves from the stopped position along the avoidance route R2. Note that the second condition may be any condition, but may indicate that the detection position and the position of the obstacle P are far enough apart that the obstacle P can be avoided without moving backward while stopping. It is preferable that the distance (threshold distance) between the detection position and the position of the obstacle P when determining whether the second condition is satisfied is longer than the distance (threshold distance) between the detection position and the position of the obstacle P when determining whether the first condition is satisfied.

[0085] Furthermore, when the detection position and the position of the obstacle P do not satisfy both the first condition and the second condition, the movement control unit 82 stops and moves the moving body 10 backward. That is, in this case, after stopping, the moving body 10 moves to a backward position according to the backward path R1, and moves from the backward position according to the avoidance path R2.

[0086] In this way, the obstacle P can be avoided appropriately depending on the situation by switching between stopping and retreating depending on the positional relationship between the detection position and the position of the obstacle P. That is, for example, when the distance to the obstacle P is sufficiently far, the obstacle P can be avoided while suppressing an increase in travel time by not stopping or retreating.

[0087] In this embodiment, the movement control unit 82 determines whether the avoidance route R2 can be set based on the position of the obstacle P, and may not cause the moving body 10 to retreat even if the avoidance route R2 cannot be set. That is, when the obstacle P cannot be avoided obviously because the passage is blocked by the obstacle P, the movement control unit 82 determines that the avoidance route R2 cannot be set and stops the moving body 10, but may not move according to the retreat route R1. In this case, for example, the moving body 10 may transmit information to the information processing device 14 that the avoidance route R2 cannot be set, and the information processing device 14 may set another reference route R0 that passes through a route where the obstacle P is not located. The moving body 10 may obtain information on this another reference route R0 and move according to the reference route R0.

[0088] (Fourth embodiment) Next, a fourth embodiment will be described. In the fourth embodiment, the retreat position, which is the end point of the retreat path R1, is different from that in the first embodiment. Explanations of the configurations of the fourth embodiment and the first embodiment will be omitted. Note that the fourth embodiment is also applicable to the second embodiment and its modified example, and the third embodiment.

[0089] 20 and 21 are schematic diagrams illustrating examples of retreat positions. In the fourth embodiment, the retreat position is set to any one of a position corresponding to the position of the moving object when the obstacle P is detected (detection position), a position between the detection position and the position of the obstacle P (intermediate position), and a position farther away from the obstacle P than the detection position (remote position).

[0090] When the position corresponding to the detected position is set as the retreat position, the retreat path acquisition unit 86 may set the waypoint WP closest to the detected position among the waypoints WP on the reference path R0 as the retreat position, as described in the first embodiment, or may set the detected position itself as the retreat position. By setting the position corresponding to the detected position as the retreat position in this way, it is possible to move sufficiently far away from the obstacle P, and the avoidance path R2 can be appropriately set.

[0091] When the intermediate position is set as the retreat position, the retreat path acquisition unit 86 may set any position between the detection position and the position of the obstacle P in the Y1 direction as the retreat position (intermediate position). For example, the retreat path acquisition unit 86 may set a waypoint WP between the waypoint WP closest to the detection position and the waypoint WP closest to the position of the obstacle P among the waypoints WP on the reference path R0 as the retreat position (intermediate position). In the example of FIG. 20, a waypoint WP4 between the waypoint WP1 closest to the detection position and the waypoint WP2 closest to the position of the obstacle P is set as the retreat position (intermediate position). By setting the intermediate position as the retreat position in this way, the avoidance path R2 can be appropriately set without moving too far away from the obstacle P.

[0092] When the remote position is set as the retreat position, the retreat path acquisition unit 86 may set any position farther from the obstacle P than the detection position (any position on the Y2 direction side of the detection position) as the retreat position (remote position). For example, the retreat path acquisition unit 86 may set a waypoint WP on the reference path R0 that is on the Y2 direction side of the waypoint WP closest to the detection position as the retreat position (remote position). In the example of FIG. 21, the waypoint WP5 on the Y2 direction side of the waypoint WP1 closest to the detection position is set as the retreat position (remote position). By setting the remote position as the retreat position in this way, it is possible to move sufficiently far away from the obstacle P, and the avoidance path R2 can be appropriately set.

[0093] The method of determining the retreat position may be any method, but the retreat path acquisition unit 86 may determine which of the position based on the detection position, the intermediate position, or the remote position is to be the retreat position based on the detection position and the position of the obstacle P. For example, when the detection position and the position of the obstacle P satisfy a first condition, the retreat path acquisition unit 86 may determine the intermediate position as the retreat position. The first condition may be any condition, but may indicate that the detection position and the position of the obstacle P are separated to such an extent that the obstacle P can be avoided without retreating to the detection position. Furthermore, when the detection position and the position of the obstacle P do not satisfy the first condition but satisfy a second condition, the retreat path acquisition unit 86 may determine the position based on the detection position as the retreat position. The second condition may be any condition, but may indicate that the detection position and the position of the obstacle P are separated to such an extent that the obstacle P can be avoided without retreating far from the detection position. Furthermore, the reverse path acquisition unit 86 may determine the reverse position as the reverse position when the detection position and the position of the obstacle P do not satisfy both the first condition and the second condition. That is, in this case, since the detection position is relatively close to the position of the obstacle P, the obstacle P can be appropriately avoided by reversing farther than the detection position.

[0094] Fifth embodiment Next, a fifth embodiment will be described. The fifth 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 fifth embodiment and the first embodiment will be omitted. Note that the fifth embodiment is also applicable to the second embodiment and its modified examples, the third embodiment, and the fourth embodiment.

[0095] 22 is a schematic diagram illustrating an avoidance route of another moving body. In the fifth 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.

[0096] In the fifth 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 22), 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 22), the reference route R0A may be deemed to overlap with the reference route R0.

[0097] 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. 22) as the avoidance route R2A.

[0098] 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. 22), 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. 22). 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).

[0099] In this way, in the fifth 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.

[0100] 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.

[0101] (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 first direction (Y1 direction) that is the traveling direction of the moving body 10 while the moving body 10 is moving according to the reference path R0, stopping the moving body 10 when the obstacle P is present in the Y1 direction, setting a retreat path R1 that returns to a second direction (Y2 direction) opposite to the Y1 direction based on the reference path R0, and moving the stopped moving body 10 according to the retreat path R1. According to the present disclosure, when the obstacle P is detected, the moving body 10 is stopped and retreated, so that the obstacle can be avoided appropriately because the obstacle can be avoided from a position sufficiently distant from the obstacle P by moving the moving body 10 to stop and retreat. Furthermore, in this embodiment, the retreat path R1 is set based on the reference path R0 that the moving body 10 has used so far, so that the moving body 10 can retreat without interfering with other obstacles, and the obstacle can be avoided more appropriately.

[0102] 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 setting the reverse path R1, a path heading in the Y2 direction along the reference path R0 is set as the reverse path R1. According to the present disclosure, since the reverse path R1 is set in this manner, it is possible to retreat without interfering with other obstacles, and to more appropriately avoid obstacles.

[0103] A control method according to a third aspect of the present disclosure is the control method according to the first aspect, and in the step of setting the retreat path R1, a path heading in the Y2 direction along a movement trajectory that the moving body 10 actually moved along in accordance with the reference path R0 is set as the retreat path R1. According to the present disclosure, since the retreat path R1 is set in this manner, it is possible to retreat without interfering with other obstacles, and therefore it is possible to more appropriately avoid obstacles.

[0104] A control method according to a fourth aspect of the present disclosure is a control method according to any one of the first to third aspects, and when a predetermined relationship is satisfied between the position of the moving object 10 at the time of detecting the obstacle P and the position of the obstacle P, the moving object 10 is stopped and moved along the retreat path R1. According to the present disclosure, the obstacle can be appropriately avoided.

[0105] A control method according to a fifth aspect of the present disclosure is the control method according to any one of the first to fourth aspects, and the step of moving the moving body 10 along the retreat path R1 further includes a step of moving the moving body 10 to a predetermined retreat position, and setting an avoidance path R2 from the retreat position in the Y11 direction while avoiding the obstacle P based on the position of the obstacle P, and a step of moving the moving body 10 that has moved to the retreat position along the avoidance path R2. According to the present disclosure, obstacles can be appropriately avoided.

[0106] A control method according to a sixth aspect of the present disclosure is the control method according to the fifth aspect, and in the step of setting the retreat path R1, a position corresponding to a detection position, which is the position of the moving object 10 when the obstacle P is detected, a position (intermediate position) between the detection position and the position of the obstacle P, or a position (remote position) farther from the obstacle P than the detection position. According to the present disclosure, obstacles can be appropriately avoided by setting the retreat position depending on the situation.

[0107] A control method according to a seventh aspect of the present disclosure is the control method according to the fifth or sixth aspect, and further includes the steps of: when a moving body 10A (second moving body) different from the moving body 10 (first moving body) that has moved according to the avoidance path R2 passes within a predetermined distance range from the obstacle P, setting an avoidance path R2A for the moving body 10A based on the avoidance path R2 of the moving body 10; and moving the moving body 10A according to the avoidance path R2A of the moving body 10A without stopping or retreating. According to the present disclosure, 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, so that the moving body 10A can avoid the obstacle P without stopping or retreating.

[0108] 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 along a reference path R0, causing a sensor 26A provided on the moving body 10 to detect an obstacle P located in a first direction (Y1 direction) that is the traveling direction of the moving body 10 while the moving body 10 is moving along the reference path R0, stopping the moving body 10 when the obstacle P is present on the Y1 direction side, setting a retreat path R1 that returns to a second direction (Y2 direction) opposite to the Y1 direction based on the reference path R0, and moving the stopped moving body 10 along the retreat path R1. According to the present disclosure, obstacles can be appropriately avoided.

[0109] 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 on the first direction (Y1 direction) side, which is the traveling direction of the moving body 10, while the moving body 10 is moving according to the reference path R0, and a retreat path acquisition unit 86 that acquires a retreat path R1 returning to a second direction (Y2 direction) opposite to the Y1 direction based on the reference path R0. When an obstacle P exists on the Y1 direction side, the movement control unit 82 stops the moving body 10 and moves the stopped moving body 10 according to the retreat path R1. According to the present disclosure, obstacles can be appropriately avoided.

[0110] 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]

[0111] 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

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; stopping the moving body when an obstacle is present in the first direction; setting a retreat path that returns in a second direction opposite to the first direction based on the reference path; moving the stopped moving body along the retreat path; Including, Control methods.

2. 2. The control method according to claim 1, wherein in the step of setting the reverse path, a path in the second direction along the reference path is set as the reverse path.

3. 2. The control method according to claim 1, wherein in the step of setting the reverse path, a path toward the second direction along a movement locus actually moved by the moving body in accordance with the reference path is set as the reverse path.

4. 4. The control method according to claim 1, further comprising the steps of: stopping the moving body and moving the moving body along the retreat path when a predetermined relationship is satisfied between a position of the moving body at the time when the obstacle is detected and a position of the obstacle.

5. In the step of moving the movable body along the retraction path, the movable body is moved to a predetermined retraction position, setting an avoidance route from the reverse position toward the first direction while avoiding the obstacle based on a position of the obstacle; moving the moving body that has moved to the retreat position along the avoidance path; The control method according to claim 1 , further comprising:

6. 6. The control method according to claim 5, wherein in the step of setting the retreat path, a position corresponding to a detection position which is the position of the moving body when the obstacle is detected, a position between the detection position and the position of the obstacle, or a position farther away from the obstacle than the detection position is set as the retreat position.

7. when a second moving body different from the first moving body that has moved along the avoidance route passes within a predetermined distance range from the obstacle, setting an avoidance route for the second moving body based on the avoidance route for the first moving body; moving the second moving body along an avoidance path for the second moving body without stopping or retreating; The control method of claim 5 further comprising:

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; stopping the moving body when an obstacle is present in the first direction; setting a retreat path that returns in a second direction opposite to the first direction based on the reference path; moving the stopped moving body along the retreat path; 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; a reversing path acquisition unit that acquires a reversing path that returns in a second direction opposite to the first direction and that is set based on the reference path; Including, The movement control unit is When an obstacle is present in the first direction, the moving body is stopped. moving the stopped moving body along the retreat path; Mobile body.

Citation Information

Patent Citations

  • Mobile body control method, mobile body, and program

    JP2022141380A

Cited By

  • Mobile body recovery system, mobile body recovery method, and program

    WO2026204721A1