Mobile body control system, mobile body control method, program, and mobile body

The mobile body control system effectively navigates dynamic obstacles using clothoid and polynomial curves, enabling safe and comfortable travel in dynamic environments without high-precision maps.

WO2026069625A1PCT designated stage Publication Date: 2026-04-02HONDA MOTOR CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing micromobility vehicles struggle to appropriately handle dynamic obstacles within a predetermined range from their path, such as pedestrians, while navigating both road and pedestrian traffic without relying on high-precision maps.

Method used

A mobile body control system that includes a detection unit for obstacle recognition, a path generation unit capable of generating paths using clothoid and polynomial curves to navigate around dynamic obstacles, and a control unit to manage the vehicle's movement based on these paths, allowing it to autonomously adapt to dynamic environments.

Benefits of technology

Enables the vehicle to navigate dynamically while considering ride comfort and obstacle avoidance, even in areas without high-precision maps, ensuring safe and comfortable travel.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024034832_02042026_PF_FP_ABST
    Figure JP2024034832_02042026_PF_FP_ABST
Patent Text Reader

Abstract

This mobile body control system controls travel of a mobile body and comprises a detection unit for detecting an obstacle and a path generation unit for generating a global path that is a path to a target position and generating an avoidance path when a dynamic obstacle, which is an obstacle that moves, exists on the global path. The path generation unit can generate a following path for avoiding a static obstacle which is an obstacle that does not move and an overtaking path for avoiding the static obstacle and the dynamic obstacle and overtaking the dynamic obstacle on the global path. When the mobile body can travel on the overtaking path, the overtaking path is adopted as the avoidance path, and when the mobile body cannot travel on the overtaking path, the following path is adopted as the avoidance path.
Need to check novelty before this filing date? Find Prior Art

Description

Mobile body control system, mobile body control method, program, and mobile body

[0001] The present invention relates to a mobile body control system, a method for controlling a mobile body, a program, and a mobile body.

[0002] In recent years, there has been a growing demand for ultra-compact mobile vehicles (micromobility) to support people's movement within small communities. Micromobility vehicles include those with a passenger capacity of around one person, and those that travel alongside people while carrying luggage instead of passengers. To enable micromobility vehicles to operate in both areas of road traffic and pedestrian traffic, they require not only autonomous driving technology for roads but also autonomous navigation technology for free spaces such as sidewalks. Since various obstacles are expected to exist in the path of a micromobility vehicle, a highly flexible trajectory is required to flexibly avoid these obstacles.

[0003] Such micromobility vehicles set a target trajectory to a destination and autonomously move along that trajectory. Furthermore, if there are moving obstacles such as people (hereinafter referred to as dynamic obstacles) on the target trajectory, the micromobility vehicle will avoid the dynamic obstacles, then return to the target trajectory and travel to the destination.

[0004] Patent Document 1 discloses a technology for an autonomous mobile vehicle moving in a factory or similar environment to detect other autonomous mobile vehicles and determine whether to overtake them. Patent Document 2 discloses a robot that avoids humans while showing psychological consideration to the humans it is trying to avoid, and then autonomously drives back to a straight line connecting its current position and the target position.

[0005] Japanese Patent Publication No. 2019-219733 Japanese Patent Publication No. 2020-46779

[0006] However, the aforementioned technology has a problem in that it cannot appropriately handle dynamic obstacles that exist within a predetermined range from the route, such as micromobility vehicles.

[0007] The present invention has been made in view of the above problems, and its object is to provide a technology that enables a moving object to travel while appropriately dealing with dynamic obstacles located within a predetermined range from the path.

[0008] According to the present invention, for example, a mobile body control system for controlling the movement of a mobile body, comprising: a detection unit for detecting obstacles; a path generation unit that generates a global path which is a path to a target position, and if a moving obstacle is present within a first range from the global path, generates a follow path which does not overtake the dynamic obstacle and an overtaking path which overtakes the dynamic obstacle within the first range from the global path; and a control unit that controls the mobile body based on the generated paths, wherein the control unit controls the mobile body according to the overtaking path if there are no obstacles within a second range from the overtaking path.

[0009] According to the present invention, a moving object can be driven while appropriately responding to dynamic obstacles located within a first range from the path.

[0010] Other features and advantages of the present invention will become apparent from the following description with reference to the accompanying drawings. In the accompanying drawings, the same or similar components are given the same reference numeral.

[0011] The attached drawings are included in the specification and constitute a part thereof, illustrating embodiments of the present invention and are used to explain the principles of the present invention together with the description thereof. A side view showing the overall configuration of the moving body of the embodiment. A diagram showing the internal configuration of the moving body of the embodiment. A block diagram of the control system of the moving body of the embodiment. A block diagram showing the functional configuration of the embodiment. A diagram showing the occupied grid map according to the embodiment. A diagram schematically illustrating the clothoid curve and curvature change point in path generation of the moving body according to the embodiment. A diagram showing the relationship between the distance from the moving body and the curvature of the trajectory according to the embodiment. A diagram explaining the cost function according to the embodiment. A diagram showing a curved path generated using a polynomial according to the embodiment. A diagram showing a curved path generated using a polynomial according to the embodiment. A diagram showing variations of the polynomial curve according to the embodiment. A diagram explaining the avoidance path of the moving body for avoiding dynamic obstacles according to the embodiment. A diagram showing the method for determining obstacle collision on the avoidance path according to the embodiment. A diagram showing the method for determining obstacle collision when the path is decomposed in time series according to the embodiment. A diagram showing the flowchart of the basic control of the moving body according to the embodiment. A diagram showing a flowchart of an example of the overtaking path generation process according to the embodiment. A diagram showing a flowchart of another example of the overtaking path generation process according to the embodiment.

[0012] The embodiments will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the invention as defined in the claims, and not all combinations of features described in the embodiments are essential to the invention. Two or more of the features described in the embodiments may be combined in any way. Furthermore, identical or similar configurations will be given the same reference numeral, and redundant descriptions will be omitted.

[0013] In the following embodiments, a micromobility vehicle is described as an example of a mobile vehicle, specifically an ultra-compact electric vehicle with a passenger capacity of approximately one person. However, micromobility may also include vehicles that carry luggage while traveling alongside a person. Furthermore, this embodiment is not limited to examples where the mobile vehicle is an electric vehicle, but can be applied to mobile vehicles other than electric vehicles. In addition, the following description uses a mobile vehicle with one driven wheel as an example, but it is not necessarily required to have a driven wheel, and it is not limited to having one driven wheel; it may have two or more.

[0014] For mobile devices like the micromobility mentioned above, autonomous driving that takes into account the presence of passengers, frequent changes in target location, and the lack of high-precision maps would be useful. Micromobility devices do not necessarily travel on specific, fixed routes, and are useful if they can navigate both areas used by automobiles and pedestrians, and can appropriately navigate areas where high-precision maps are not available. Furthermore, they are required to navigate while appropriately avoiding obstacles in situations where multiple obstacles are irregularly present, such as when traveling inside a shopping mall or event venue. Also, when a person is riding in a micromobility device, unlike unmanned delivery robots, if an unnatural driving trajectory or a trajectory that does not consider ride comfort is adopted, it may cause anxiety to the passenger.

[0015] The mobile body 100 according to this embodiment autonomously travels toward a target position while avoiding obstacles without using a high-precision map. Because it travels autonomously without using a high-precision map, the area in which the mobile body 100 can travel is identified using information recognized from the output of a detection unit described later. As described later, the mobile body 100 generates a grid map representing the areas in which the mobile body 100 can travel and areas in which it cannot, and uses this to generate the trajectory of the mobile body 100. Furthermore, the mobile body 100 generates a path with a high degree of freedom and that takes ride comfort into consideration, using clothoid curves and polynomial curves, etc., which have points where the curvature changes nonlinearly (hereinafter simply referred to as curvature change points). The mobile body 100 controls its drive system to travel along the generated trajectory.

[0016] <Configuration of the Mobile Body> The configuration of the mobile body 100 will be described with reference to Figure 1. Figure 1 is a diagram showing the overall configuration of the mobile body. Figure 1A shows a side view of the mobile body 100 according to this embodiment, and Figure 1B shows the internal configuration of the mobile body 100. In the figure, arrow X indicates the front-rear direction of the mobile body 100, with F indicating the front and R indicating the rear. Arrows Y and Z indicate the width direction (left-right direction) and the up-down direction of the mobile body 100.

[0017] The mobile vehicle 100 is an electric autonomous vehicle equipped with a driving unit 112 and powered primarily by a battery 113. The battery 113 is a secondary battery such as a lithium-ion battery, and the mobile vehicle 100 moves on its own using the power supplied from the battery 113 by the driving unit 112. The driving unit 112 takes the form of a tricycle, comprising a pair of left and right drive wheels 120 which are the front wheels, and a single driven wheel 121 which is the rear wheel. However, the driving unit 112 may take other forms, such as a four-wheeled vehicle. The mobile vehicle 100 is equipped with, for example, a single-person seat 111.

[0018] The travel unit 112 is equipped with a drive mechanism 122. The drive mechanism 122 is a mechanism that rotates the corresponding drive wheels 120 using motors 122a and 122b as drive sources. The drive mechanism 122 can move the mobile body 100 forward or backward by rotating each of the drive wheels 120. The drive mechanism 122 can also change the direction of travel of the mobile body 100 by creating a rotational difference between motors 122a and 122b. The travel unit 112 is equipped with a driven wheel 121. The driven wheel is rotatable with the Z direction as its axis of rotation.

[0019] The mobile body 100 is equipped with a detection unit 114 that detects targets in its vicinity. The detection unit 114 is a group of external sensors that monitor the area around the mobile body 100. In this embodiment, the detection unit 114 is an imaging device that captures images of the area around the mobile body 100, and includes, for example, an optical system such as a lens and an image sensor. However, radar or lidar (Light Detection and Ranging) may be used instead of or in addition to the imaging device.

[0020] The detection units 114 are arranged, for example, in pairs at a distance in the Y direction from the front of the moving body 100, and are mainly used to detect obstacles in front of the moving body 100. Obstacles include static obstacles that do not move and dynamic obstacles that move, such as pedestrians. Furthermore, the detection units may be arranged on the left and right sides and the rear of the moving body 100, respectively.

[0021] FIG. 2 is a block diagram of the control system of the mobile body 100. The mobile body 100 includes a control unit (ECU) 130. The control unit 130 may be, for example, a computer. The control unit 130 includes one or more processors represented by a CPU (Central Processing Unit), a memory device such as a semiconductor memory, an interface with an external device, and the like. The processor may be, instead of or in addition to the CPU, an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), an NPU (Neural Processing Unit), a QPU (Quantum Processing Unit), or the like. The processor realizes various functions of the control unit 130 by reading and executing a computer program stored in a memory device or the like. Some or all of the functions of the control unit 130 may be realized by one or more circuits such as an ASIC (Application Specific Integrated Circuit) and a PLD (Programmable Logic Device) including an FPGA (Field Programmable Gate Array).

[0022] The memory device may be, for example, a RAM (Random Access Memory). The memory device stores programs executed by the processor, data used by the processor for processing, and the like. A plurality of sets of the processor, the memory device, and the interface may be provided according to the functions of the mobile body 100 and configured to be communicable with each other.

[0023] The control unit 130 acquires the output of the detection unit 114 (e.g., image information), the input information of the operation unit 131, the voice information input from the voice input device 133, etc., and executes processing according to each piece of information. The control unit 130 controls the motors 122a and 122b (travel control of the travel unit 112), controls the display of the display panel included in the operation unit 131, notifies the passengers of the moving body 100 by voice output from the speaker 132, and outputs information. The control unit 130 may execute processing using a machine learning model for image recognition (e.g., a deep neural network) on the output from the detection unit 114 (e.g., image information). Further, the control unit 130 may execute processing using a machine learning model for voice recognition (e.g., a deep neural network) on the output from the voice input device 133 (e.g., voice information).

[0024] The voice input device 133 includes, for example, a microphone and picks up the voices of the passengers of the moving body 100. The control unit 130 can recognize the input voice and execute corresponding processing. The GNSS (Global Navigation Satellite system) sensor 134 receives GNSS signals and detects the current position of the moving body 100.

[0025] The storage device 135 includes a non-volatile recording medium that stores various data. The storage device 135 may be an HDD (Hard Disk Drive) and an SSD (Solid State Drive), etc. The storage device 135 may store programs executed by the processor, parameters necessary for program execution, and data used by the processor for processing. The storage device 135 may store various parameters of machine learning models for voice recognition and image recognition executed by the control unit 130 (e.g., learned parameters and hyperparameters of a deep neural network, etc.).

[0026] The communication unit 136 is a communication device that can communicate with an external device (e.g., a communication terminal 140 owned by a user) via wireless communication such as Wi-Fi or 5G mobile communication.

[0027] <Functional Configuration of the Mobile Body> Next, with reference to Figure 3, the functional configuration of the mobile body 100 according to this embodiment will be described. The functional configuration described here is realized in the control unit 130 by, for example, the CPU reading a program stored in memory such as ROM into RAM and executing it. Note that the functional configuration described below will only describe the functions necessary for explaining the present invention and will not describe all of the functional configurations actually included in the mobile body 100. In other words, the functional configuration of the mobile body 100 according to the present invention is not limited to the functional configuration described below.

[0028] The user instruction acquisition unit 301 has the function of receiving instructions from the user and can receive user instructions via the operation unit 131, user instructions from external devices such as a communication terminal 140 via the communication unit 136, and instructions uttered by the user via the voice input device 133. As described above, user instructions include instructions to set the target position (also referred to as the destination) of the mobile body 100 and instructions related to the driving control of the mobile body 100.

[0029] The image information processing unit 302 processes the captured image acquired by the detection unit 114. Specifically, the image information processing unit 302 creates a depth image from the stereo image acquired by the detection unit 114 and converts it into a 3D point cloud. The 3D point cloud image data is used to detect obstacles and targets that obstruct the movement of the moving object 100. The image information processing unit 302 may also include a machine learning model for processing image information and may perform processing for the learning stage and the inference stage of the machine learning model. The machine learning model of the image information processing unit 302 can perform processing to recognize three-dimensional objects and the like contained in the image information by performing calculations of a deep learning algorithm using a deep neural network (DNN), for example.

[0030] The grid map generation unit 303 is an example of a detection unit that creates a grid map of a predetermined size (for example, 10 cm x 10 cm for each cell in a 20 m x 20 m area) based on image data of a 3D point cloud. This is done to reduce the size of the data, as the amount of data in the 3D point cloud is large and real-time processing is difficult. The grid map is composed of, for example, a grid map showing the difference between the maximum and minimum heights of the point cloud within the grid (representing whether the cell is a step) and a grid map showing the maximum height of the point cloud within the grid from a reference point (representing the terrain shape of the cell). Furthermore, the grid map generation unit 303 removes spike noise and white noise contained in the generated grid map, detects obstacles with a height above a predetermined level, and generates an occupied grid map showing whether or not there are three-dimensional objects that act as obstacles for each grid.

[0031] The route generation unit 304 generates a travel path for the mobile body 100 to a target position set by the user instruction acquisition unit 301. Specifically, the route generation unit 304 generates a route using an occupied grid map generated by the grid map generation unit 303 from the image captured by the detection unit 114, without requiring obstacle information from a high-precision map. Since the detection unit 114 is a stereo camera that captures the area in front of the mobile body 100, it cannot recognize obstacles or terrain in other directions. Therefore, it is desirable for the mobile body 100 to store detected obstacle information for a predetermined period in order to avoid collisions with obstacles outside the field of view or getting stuck in dead ends. This allows the mobile body 100 to generate a route considering both previously detected obstacles and obstacles detected in real time.

[0032] Furthermore, the path generation unit 304 periodically generates a global path using an occupied grid map, and further periodically generates local paths that follow the global path. The global path is the path to the final target position set by the user, while avoiding static obstacles. The local path is the path to target positions set at intermediate points obtained by dividing the path to the final target position. The local path is a path for avoiding obstacles, including static and dynamic obstacles. The path generation unit 304 generates local paths using, for example, one or more clothoid curves. In this embodiment, the generation period for each path is set to 100 ms for the global path and 50 ms for the local path, but this does not limit the present invention. Various algorithms are known for generating global paths, such as RRT (Rapid-exploring Random Tree), PRM (Probabilistic Road Map), and A*. Furthermore, since a differential two-wheeled mobility system with driven wheels is used as the mobile body 100, the path generation unit 304 generates a local path that takes the driven wheels 121 into consideration. In addition, according to this embodiment, when generating a global path, the path generation unit 304 considers the attitude angle of the mobile body 100 at its current position and the attitude angle at the target position of the path. By considering the position and attitude angle of the mobile body 100 in this way, it is possible to avoid turning at the current position and the target position.

[0033] The path generation unit 304 generates an avoidance path to avoid a dynamic obstacle, such as a pedestrian, if such an obstacle exists on the global path. Note that "a dynamic obstacle exists on the global path" includes, for example, cases where a dynamic obstacle exists on the global path, and cases where a dynamic obstacle exists within a predetermined range from the global path. The predetermined range is an example of a first range, and may be, for example, the width of the moving body 100, or a range wider than the width of the moving body 100 (for example, width × 1.1). Furthermore, "a dynamic obstacle exists on the global path" may also refer to the presence or absence of a dynamic obstacle considering its movement, that is, considering its future location.

[0034] The path generation unit 304 generates follow paths and overtaking paths as candidate avoidance paths. The path generation unit 304 generates follow paths to avoid static obstacles using one or more clothoid curves. The path generation unit 304 generates overtaking paths to overtake dynamic obstacles on the global path and to avoid static and dynamic obstacles using one or more clothoid curves and polynomial curves. Details of the method for generating avoidance paths will be described later.

[0035] The path generation unit 304 selects either the follow path or the overtaking path generated as a candidate for the avoidance path as the avoidance path. For example, if there are no obstacles on the overtaking path, the path generation unit 304 may select the overtaking path as the avoidance path. Here, "no obstacles on the overtaking path" includes the case where there are no obstacles on the overtaking path, and the case where there are no obstacles within a predetermined range from the overtaking path. The predetermined range is an example of a second range, and may be the same as the first range, or it may be wider or narrower than the first range. Furthermore, "no obstacles on the overtaking path" may also take into account the movement of dynamic obstacles, that is, the presence or absence of obstacles considering their future location.

[0036] The driving control unit 305 is an example of a control unit and controls the movement of the mobile body 100 according to a route including a global route, local route, or avoidance route generated by the route generation unit 304. The avoidance route here may be a route adopted by the route generation unit 304 from among the follow route and overtaking route generated by the route generation unit 304. Specifically, the driving control unit 305 controls the speed and angular velocity of the mobile body 100 by controlling the driving unit 112 according to the local route, etc. Furthermore, the driving control unit 305 controls the movement in response to various operations of the driver. If a deviation occurs in the driving plan of the local route due to the driver's operation, the driving control unit 305 may acquire a new local route generated again by the route generation unit 304 and control the movement, or it may control the speed and angular velocity of the mobile body 100 to eliminate the deviation from the local route in use.

[0037] <Occupied Grid Map> Figure 4 shows an occupied grid map 400 including obstacle information according to this embodiment. Since the mobile body 100 according to this embodiment travels without relying on obstacle information from a high-precision map, all obstacle information is obtained from the recognition results of the detection unit 114. Obstacle information includes, for example, the location of the obstacle and whether the obstacle is a static or dynamic obstacle. Static obstacles are obstacles that do not move, such as walls and signs. Dynamic obstacles are obstacles that move, such as pedestrians. At this time, it is necessary to store obstacle information to avoid collisions with obstacles outside the field of view and getting stuck in dead ends. Therefore, in this embodiment, an occupied grid map is used as a method for storing obstacle information from the viewpoint of reducing the amount of information in the 3D point cloud of stereo images and ease of handling in route planning. Here, a map including obstacle information is described, but it may also include other landmark information or information such as intersections instead of or in addition to obstacle information.

[0038] The grid map generation unit 303 according to this embodiment divides the area surrounding the moving body 100 into a grid and generates an occupied grid map for each grid (divided area) that includes information indicating the presence or absence of obstacles. Here, an example is given in which a predetermined area is divided into a grid, but instead of dividing it into a grid, it may be divided into other shapes, and an occupied map indicating the presence or absence of obstacles may be created for each divided area. Furthermore, since the present invention generates a smooth curved path that does not depend on the divided area, control to divide into multiple areas is not essential. The occupied grid map 400 uses an area of ​​size such as 40m x 40m or 20m x 20m around the moving body 100 as the surrounding area, and divides this area into grids of 20cm x 20cm or 10cm x 10cm, which are dynamically set according to the movement of the moving body 100. In other words, the occupied grid map 400 is an area that is always shifted so that the moving body 100 is at the center in accordance with the movement of the moving body 100, and changes in real time. The size of the area can be arbitrarily set according to the hardware resources of the mobile device 100.

[0039] Furthermore, the occupied grid map 400 defines information about the presence or absence of obstacles detected from the images captured by the detection unit 114 for each grid. For example, the presence or absence information is defined as "0" for a drivable area and "1" for an impassable area (i.e., with an obstacle). In Figure 4, the gray areas 401 indicate grids where obstacles exist. The areas 401 where obstacles exist indicate areas that the moving body 100 cannot pass through, and are composed of, for example, three-dimensional objects of 5 cm or more. Therefore, the moving body 100 generates a path that avoids these obstacles in the areas 401.

[0040] <Obstacle Avoidance and Path Generation Using Clothoid Curves> Figure 5 schematically shows an example of a path 503 traveled by a moving object 100. An obstacle 502 is located in front of the moving object 100 in the direction of travel (X direction). The Y direction indicates the left and right directions relative to the direction of travel of the moving object. Path 503 consists of one or more clothoid curves and multiple curvature change points 504, 505, and 506. The method of generating a path using clothoid curves is an example of the first generation method. Path 503 generated using clothoid curves is applied to a follow path, which is an avoidance path that avoids static obstacles. Furthermore, path 503 generated using clothoid curves is applied to the first half of an overtaking path, which is an avoidance path that avoids both static and dynamic obstacles while overtaking and avoiding dynamic obstacles such as pedestrians on the global path. As described above, using multiple clothoid curves and curvature change points, the path generation unit 304 can generate a path 503 that does not deviate significantly from the global path 507 (shown as a point cloud), even if the global path 507 is a complex path. Note that S1 to S3 indicate the distance between adjacent curvature change points among curvature change points 504 and 506. This distance may be equally spaced, or an optimal distance may be set in advance through experiments or other means.

[0041] Figure 6A shows the relationship between the distance from the moving object and the curvature of the path for generating the path 503. As shown in Figure 6A, the curvature of the path 503 generated in this embodiment is constant (i.e., linear) up to the point of maximum or minimum curvature (point of curvature change).

[0042] In this embodiment, the curvature of the path at the positions of the three curvature change points on the path (curvature K) 1 , K 2 and K 3 The example given is the case where the curvature change points are optimized. It is possible to use more curvature change points, but if the number of curvature change points to be adjusted increases, the amount of computation required for optimization using the cost function described later can increase dramatically. In other words, the amount of computation increases significantly in proportion to the improvement in the degree of freedom of the resulting travel path. The path generation unit 304 can generate a travel path with a high degree of freedom while suppressing the amount of computation required for optimization by using three curvature change points. By appropriately suppressing the number of curvature change points, it becomes possible to repeat the generation of travel paths at shorter intervals (e.g., in real time).

[0043] The outline of the path generation process by the path generation unit 304 will be explained. The path generation unit 304 substitutes paths obtained by changing the curvature of three points into the cost function and finds the curvature of the curvature change point where the cost according to the cost function decreases. The cost function is, for example, C poserr The cost of deviating from the global path, C obstacle The cost of approaching and colliding with an obstacle, C oscilation If we define the difference cost from the path generated at the previous time, it can be expressed as shown in equation (1). The deviation cost from the global path is calculated by referring to the global path (i.e., information indicating the predetermined reference path of the moving object 100), and the cost increases as the generated path deviates from the reference path. Therefore, even when generating a path with a high degree of freedom, it is possible to generate a path that does not deviate significantly from the reference path. Also, the difference cost from the path generated at the previous time decreases as the difference (position shift) from the path generated at the previous time decreases. In other words, the path generation unit 304 refers to the path generated a predetermined time ago, and determines the curvature of multiple curvature change points using a cost function in which the cost increases as the amount of change in the generated path from the path generated at the predetermined time increases. Therefore, by using the difference cost from the path generated immediately before (for example, at the previous time), abrupt changes in the path can be suppressed. The path generation unit 304 determines the curvature K that minimizes the cost function in equation (1). 1 , K2 and K 3 are selected. For example, the curvature K 1 is the curvature at the curvature change point 601, the curvature K 2 is the curvature at the curvature change point 602, and the curvature K 3 corresponds to the curvature at the curvature change point 603. And each cost (C poserr , C obstacle , C oscilation ) constituting the formula (1) is calculated according to the formulas (2) to (4). Note that t corresponds to the current timing, and t - 1 indicates the timing at which the previous path was obtained.

[0044] FIG. 6B schematically shows the cost function according to the present embodiment shown in the formula (1). For example, the deviation cost from the global path that is C poserr is calculated by calculating the generated path and the value obtained by assigning the potential of the global path to the grid. For the potential of the global path, for example, a higher cost is assigned to the grid as it is farther from the global path. By using such a potential, the curvature change point is optimized so that the generated path approaches the global path. Also, the approach / collision cost to the obstacle that is C obstacle is calculated by calculating the generated path and the value obtained by assigning the potential of the obstacle to the grid. For the potential of the obstacle, for example, a higher cost is assigned to the grid as it is closer to the non-drivable area of the grid map. By using such a potential, the curvature change point is optimized so that the generated path avoids the obstacle.

[0045] When the path generation unit 304 varies the curvature of the curvature change point, it performs optimization by Adam using the loss gradient to determine the curvature of the (next in the iterative calculation) curvature change point. β 1 , β 2 , ε are parameters that can be determined in advance by experiments or the like for optimization. t corresponds to the current timing, and t - 1 here indicates the previous calculation timing in the iterative calculation, and ▽L indicates the differential value of the cost function. K tThis corresponds to the current curvature at any of the curvature change points.

[0046] The path generation unit 304 repeatedly calculates the cost shown in Equation 1 using the paths generated by varying the curvature of the curvature change points, and finds the curvature K that results in the lowest cost L. 1 , K 2 and K 3 To decide.

[0047] In the example shown in Figure 6B, an example is described in which the potential of the global path and the potential of obstacles are represented using a cost grid. The cost grid may consist of the same number of grids as the grid map. As described above, each grid in the cost grid is associated with a cost value corresponding to the distance from the global path and the distance from obstacles. Multiple cost grids can be considered by, for example, summing the values ​​of the corresponding grids. In a cost grid that deals with the potential of the global path, for example, when the global path is projected onto the grid plane, grids closer to the global path are assigned lower cost values. The path generation unit 304 stores the set cost grid in a memory device, and when a candidate path is generated, it projects the travel path onto the cost grid and sums the cost values ​​of the grids that overlap with the travel path. Through this process, the optimization calculation for generating paths can be accelerated with relatively simple calculations.

[0048] Furthermore, the path generation unit 304 uses the determined path to perform a process to determine control variables, thereby determining the velocity v and angular velocity ω, which are control variables for controlling the movement of the moving body. The process for determining the control variables is to determine the velocity v and angular velocity ω so as to satisfy predetermined constraints when attempting to travel along the generated path. These predetermined constraints, as will be described in detail later, are, for example, constraints to ensure a stable ride while allowing the moving body 100 to safely navigate curves.

[0049] The travel control unit 305 controls the movement of the mobile body 100 according to the control determined by the path generation unit 304 (for example, it controls motors 122a and 122b).

[0050] <Obstacle Avoidance and Path Generation Using Polynomials> Next, with reference to Figures 7 and 8, a method for generating paths using polynomials according to this embodiment will be described. Here, an example of generating curved paths using polynomials (parametric equations) on sidewalks, public open spaces, etc., will be described. Figures 7 and 8 show curved paths generated using polynomials. In addition to the algorithm for generating polynomial curves shown below, paths may also be generated that connect a straight line or the clothoid curve described above to at least one of the ends of the polynomial curve. The method for generating paths using polynomial curves does not take obstacles into consideration, so the processing load is smaller than that of the method for generating clothoid curves. The method for generating paths using polynomial curves is an example of the second generation method. In this embodiment, a curved path using polynomials is applied as the latter half of an overtaking path, which is an avoidance path for overtaking dynamic obstacles such as pedestrians on a global path while avoiding static and dynamic obstacles.

[0051] Path generation 700 shows path generation using a polynomial. Polynomial curve 701 shows the path of the generated curve. Avoidance position 702 indicates the endpoint of the clothoid curve of the first half of the overtaking path used when avoiding dynamic obstacles, and is also the starting point of polynomial curve 701. Avoidance position 702 is a position set by the cost function. Avoidance position 702 may also be a position where dynamic obstacles such as pedestrians, which are the target of avoidance, can be avoided. Merging point 703 indicates the point where the path rejoins the global path. Direction of travel 705 indicates the direction of travel (also called attitude angle) of the moving body 100 at avoidance position 702. Direction of travel 706 indicates the direction of travel (attitude angle) of the moving body 100 at merging point 703. Intersection point 704 indicates the intersection of the straight line of the direction of travel 705 at the avoidance position and the straight line of the direction of travel 706 at the target position.

[0052] Here, the direction of travel 705 of the moving body 100 is defined as the x-axis, and the axis perpendicular to the x-axis is defined as the y-axis (xy coordinates). Also, the straight line connecting the avoidance position 702, which indicates the position of the moving body 100, and the merging point 703 is defined as the l-axis, and the straight line perpendicular to the l-axis is defined as the w-axis (lw coordinates). According to this embodiment, the path generation unit 304 converts the lw coordinates to xy coordinates based on predetermined boundary conditions 710 and generates a path from the avoidance position 702 to the merging point 703 using the following formula (8). Note that R represents the rotation matrix.

[0053]

[0054] The boundary conditions mentioned above refer to the conditions at the avoidance position 702 and the merging point 703. As shown in Figure 7, the predetermined boundary conditions 710 are set, for example, as follows: w(0) = 0, w(L) = 0, dw(0) / dl = -tanφ, dw(L) / dl = tan(θmax - φ) L represents the distance (length) from the avoidance position 702 to the merging point 703. φ represents the angle between the x-axis and the l-axis. θmax represents the angle between the x-axis and the straight line in the direction of travel 706 at the intersection point 704.

[0055] Here, since w = w(l) is insufficient to express the relationship, we use a parameter to show it as follows: l(t) = a 0 +a 1 t+a 2 t 2 +a 3 t 3 w(t) = b 0 +b 1 t+b 2 t 2 +b 3 t 3 By setting t: 0 → 1 and rewriting the above predetermined boundary condition 710 in parametric form, it can be expressed as shown in the following equation (9).

[0056]

[0057] From the above formula (9), a 0 ~a 3 and, b 0 ~b 3 The following is obtained. Note that parameter k 0 , k 1The curvature can be changed by adjusting the optimal parameter k. 0 , k 1 While it is possible to find the parameter k, performing optimization would affect the low computational cost of generating global paths in this embodiment, so it is preferable to employ a method for finding an approximate solution. For example, parameter k 0 , k 1 In the approximate solution method, the problem can be solved analytically by giving the condition that the curvature is zero at the avoidance position 702, which is also the endpoint of the clothoid curve, and at the confluence point 703.

[0058] The frame 800 in Figure 8 shows a polynomial curve route 801, which is part of an overtaking route that avoids dynamic obstacles in a sidewalk or public open space similar to that in Figure 7. The avoidance position 802 is the endpoint of the clothoid curve in the first half of the overtaking route, and is also the starting point of the polynomial curve route 801. Similarly, the merging point 803 is the endpoint of the polynomial curve route 801 and indicates the merging point where it merges with the global route. The endpoint of route 801 is also the endpoint of the overtaking route. The direction of travel 805 indicates the direction of travel (attitude angle) of the moving body 100 at the avoidance position 802. The direction of travel 806 indicates the direction of travel (attitude angle) of the moving body 100 at the merging point 803. The intersection point 804 indicates the intersection of the straight line of the direction of travel 805 at the avoidance position 802 and the straight line of the direction of travel 806 at the merging point 803. As explained with reference to Figure 7, the path generation unit 304 uses the above formula (8) and boundary conditions 810 to generate a curved path from the avoidance position 802 to the merging point 803. It can be seen that the path 801 is generated as a polynomial curve containing multiple curves. In this way, in the path generation using polynomial curves in this embodiment, curves of various shapes can be generated depending on the attitude at the avoidance position 802 and the attitude at the merging point 803. Furthermore, by generating a path that connects straight lines before and after the curve, a path to the final target position can be generated.

[0059] Figure 9 shows variations of polynomial curves generated by the path generation unit 304 according to this embodiment. Graph 900 shows the polynomial curve when the moving object 100 turns left. Graph 910 shows the polynomial curve when the moving object 100 turns right. Graph 920 shows the polynomial curve when the moving object 100 changes lanes. Graph 930 shows the polynomial curve when the moving object 100 makes a U-turn. In each graph shown in Figure 9, the horizontal axis is x and the vertical axis is y, with (0,0) being the avoidance position 802 of the avoidance path. In addition, each graph shows curves at multiple merging points 803.

[0060] <Composition of Avoidance Paths> Figure 10 is a diagram illustrating an avoidance path for a moving body to avoid a dynamic obstacle. As shown in Figure 10, we assume a situation where three pedestrians 1001a, 1001b, and 1001c and a static obstacle 1002 are in front of the moving body 100. The thick dashed lines 1003 on both the left and right sides indicate, for example, the ends of the area that the moving body 100 can travel through. As an example, the dashed lines 1003 indicate the ends of the road on which the moving body 100 is traveling, or the ends of the width direction of a crosswalk. In the following explanation, when it is not necessary to distinguish between pedestrians 1001a, 1001b, and 1001c, they will be referred to as pedestrian 1001. Each pedestrian 1001a, 1001b, and 1001c is assumed to be moving. The position of pedestrian 1001 shown by the solid line indicates the position of the pedestrian at time t0. The dashed line indicates the position of pedestrian 1001 at time t1, which is after time t0. The dashed line indicates the position of pedestrian 1001 at time t2, which is after time t1. The position of the moving object 100 is shown at time t0. If there are no pedestrians or obstacles, the moving object 100 moves along the global path 1004 shown by the thick line. Although the global path 1004 is shown as a straight line, it may also include a clothoid curve or other curves.

[0061] The endpoint of the global route 1004 is the target position 1005. When the target position 1005 is set, the route generation unit 304 generates the global route 1004, indicated by a thick arrow, as the route to the target position 1005. The target position 1005 here is not the final target position set by the user or the like, but may be the intermediate position closest to the moving object 100 among several intermediate points obtained by dividing the route to the final target position. If the route generation unit 304 detects obstacles such as pedestrians and other obstacles on the global route 1004, it generates a follow route 1006, indicated by a dashed line, using a clothoid curve to avoid static obstacles.

[0062] The path generation unit 304 generates an overtaking path 1008 to avoid a pedestrian 1001, which is a dynamic obstacle, if one exists on the global path 1004. The overtaking path 1008 includes a first overtaking path 1010 in the first half and a second overtaking path 1011 in the second half. Specifically, the path generation unit 304 generates the first overtaking path 1010 using a clothoid curve, as explained in Figures 5, 6A, and 6B. The first overtaking path 1010 is the path from the current position of the moving object 100 on the global path 1004 to the avoidance position 1007. Here, the avoidance position 1007 may be a position where the pedestrian 1001 can be avoided, and may be automatically set by cost calculation. Alternatively, the avoidance position 1007 may simply be a predetermined position relative to the pedestrian 1001.

[0063] As explained in Figures 7 and 8, the path generation unit 304 generates a second overtaking path 1011 using a polynomial curve. The second overtaking path 1011 is the path from the avoidance position 1007, which is the end position of the first overtaking path 1010, to the merging point 1012. The path generation unit 304 may set the merging point 1012 as a reference merging point 1012a, which is a position on the global path 1004 that is separated from the pedestrian 1001a to be avoided in the direction of travel of the moving body 100 by a reference distance (for example, the total length of the clothoid curve, or a fixed length (=10m)) based on predetermined conditions.

[0064] Furthermore, the route generation unit 304 may set a plurality of merging points 1012 on the global route 1004 to generate a plurality of second overtaking routes 1011. In this case, the merging points 1012 include a reference merging point 1012a and one or more sub-merging points 1012b. When generating a plurality of second overtaking routes 1011, the route generation unit 304 sets, for example, a position on the global route 1004 that is separated from the pedestrian 1001a to be avoided by a reference distance in the direction of travel of the moving body 100 as the reference merging point 1012a. Furthermore, the route generation unit 304 may set sub-merging points 1012b at positions separated from the reference merging point 1012a by a predetermined interval (for example, 3 m) in the direction of travel. In this case, a plurality of sub-merging points 1012b are periodically provided in the front-rear direction of the reference merging point 1012a, separated by the aforementioned interval. The path generation unit 304 generates multiple second overtaking paths 1011 from the avoidance position 1007 to multiple merging points 1012 using a polynomial curve.

[0065] The path generation unit 304 selects from among a plurality of second overtaking paths 1011 a second overtaking path 1011 in which there are no obstacles, including dynamic obstacles such as pedestrians 1001 and static obstacles 1002, that is, a second overtaking path 1011 in which the moving body 100 does not collide with any obstacles. Here, "no obstacles on the second overtaking path 1011" includes cases where there are no obstacles on the second overtaking path 1011 and cases where there are no obstacles within a predetermined range from the second overtaking path 1011. The predetermined range is an example of a second range and a third range, and may be the same as the first range, or it may be wider or narrower than the first range. Furthermore, "no obstacles on the second overtaking path 1011" may also take into account the movement of dynamic obstacles, that is, the presence or absence of obstacles considering their future location. If the route generation unit 304 can select a second overtaking route 1011 that does not collide with an obstacle, it connects the selected second overtaking route 1011 to the first overtaking route 1010 to generate an overtaking route 1008. In this way, if the route generation unit 304 can generate an overtaking route 1008 that can avoid an obstacle, it may decide to adopt the overtaking route as the avoidance route and overtake and avoid the pedestrian 1001a, which is a dynamic obstacle on the global route 1004.

[0066] On the other hand, if the path generation unit 304 determines that obstacles such as static obstacles 1002 exist on all of the second overtaking paths 1011, that is, that the moving body 100 will collide with an obstacle on the global path 1004 regardless of which second overtaking path 1011 is adopted, it adopts the following path 1006 generated using a clothoid curve as the avoidance path. In this case, the following path 1006 may be a path that avoids static obstacles. In this case, if the path generation unit 304 determines that the moving body 100 will collide with an obstacle while traveling along the following path 1006, it slows down or stops the moving body 100.

[0067] Furthermore, the path generation unit 304 may generate one second overtaking path 1011, and if a static obstacle 1002 exists on the second overtaking path 1011, that is, if the moving body 100 collides with an obstacle such as the static obstacle 1002, it may generate a second second overtaking path 1011. In this way, once the path generation unit 304 has generated a second overtaking path 1011 without any obstacles on the path, it may stop generating the second overtaking path 1011, connect the second overtaking path 1011 without obstacles to the first overtaking path 1010 to generate an overtaking path 1008, and overtake the pedestrian 1001a.

[0068] <Obstacle Collision Detection> Figure 11 shows the method for detecting obstacle collisions on an avoidance path according to this embodiment. The avoidance path here is described as a path generated by a polynomial curve, but it may also be applied to obstacle collision detection of a clothoid curve path. Map 1101 shows the obstacle path 1110, which is the path of the detected dynamic obstacle, and the moving body path 1111, which is generated by a polynomial curve or the like, on the generated occupied grid map. The obstacle path 1110 may be generated by the current position, predicted position, or velocity of the dynamic obstacle. Note that the dynamic obstacle may be a dynamic obstacle other than a dynamic obstacle on the global path that is overtaken by the overtaking path. The starting point of the obstacle path 1110 shows the position and orientation of the obstacle at the start time of the path generated by the polynomial curve. The ending point of the obstacle path 1110 shows the position and orientation of the obstacle at the end time. The starting point of the moving body path 1111 shows the position and orientation of the moving body at the start time. The endpoint of the mobile path 1111 indicates the position and orientation of the mobile body 100 at the end time. The end time may be the time of rejoining the global path.

[0069] Map 1102 is a diagram showing the state after extracting only the obstacle path 1110 from map 1101 and mapping the obstacle path 1110 as the obstacle path region 1112. Map 1103 shows the state after removing the obstacle path 1110 from map 1102, leaving only the mapped obstacle path region 1112. For example, the map 1103 of the obstacle path region 1112 may be a Minkowski distance map that takes into account the width margin of the moving object 100. The Minkowski distance map is generated using filters such as a uniform filter and a Gaussian filter.

[0070] Map 1104 is a figure that includes a mobile path region 1113, which is obtained by extracting a mobile path 1111 consisting of polynomial curves and the like from map 1101 and mapping the mobile path 1111. Map 1105 shows the state in which only the mobile path region 1113 remains from map 1104.

[0071] The path generation unit 304 generates a cost map 1106 by performing the Hadamard product of a map 1103 including the obstacle path region 1112 and a map 1105 including the moving object path region 1113. The Hadamard product is as shown in equation (10) below.

[0072] The cost map 1106 shows an overlapping region 1114 where the obstacle path region 1112 and the moving body path region 1113 overlap. The overlapping region 1114 is a region where there is a high probability of collision between the obstacle and the moving body 100. Therefore, the path generation unit 304 determines that the moving body 100 will collide with the obstacle if the overlapping region 1114 exists and does not adopt the polynomial curve. On the other hand, the path generation unit 304 determines that the moving body 100 will not collide with the obstacle if the overlapping region 1114 does not exist and adopts the polynomial curve. In this case, the path generation unit 304 connects the adopted polynomial curve as a second overtaking path to the first overtaking path generated by the clothoid curve, and generates an overtaking path to avoid the dynamic obstacle.

[0073] Furthermore, the path generation unit 304 may also use the map in Figure 11 to determine collisions with follow paths designed to avoid static obstacles. In this case, the moving body path 1111 shown in map 1101 is a path generated by a clothoid curve. Also, since static obstacles do not move, there is no obstacle path 1110, and the obstacle path region 1112 shown in map 1103 becomes the obstacle region indicating the position of the static obstacle. Therefore, the path generation unit 304 can calculate the Hadamard product of map 1103 and map 1105, generate a cost map 1106 in the same manner as above, and determine collisions between the moving body 100 and static obstacles.

[0074] Next, we will explain the method for determining obstacle collisions by decomposing the obstacle path and the moving object path (which is a polynomial curve) into time series. Figure 12 illustrates the method for determining obstacle collisions when the path is decomposed into time series. Note that the method in Figure 12 is almost the same as the method in Figure 11, except for the decomposition into time series, so we will explain the method in Figure 12 mainly focusing on the differences.

[0075] Map 1201 shows the obstacle paths 1210, which are the paths of detected obstacles, and the moving object paths 1211, which are generated by polynomial curves, etc., on the generated occupied grid map. The path generation unit 304 decomposes the information contained in map 1201 in a time series. Here, map 1201 is decomposed into three time points t0, t1, and t2 in a time series.

[0076] The upper right section of Figure 12 shows the state from time t0 to time t1, the middle section shows the state from time t1 to time t2, and the lower section shows the state from time t2 to time t3 (= t2 + Δt). Time t0 is the furthest back time, and time t2 is the furthest future time. The time interval between time t0 and time t1, and the time interval between time t1 and time t2 are both assumed to be the same Δt.

[0077] Here, map 1201 corresponds to map 1101 from time t0 to time t1. The upper map 1202t0 corresponds to map 1102 from time t0 to time t1. The upper map 1203t0 corresponds to map 1103 from time t0 to time t1. The upper map 1204t0 corresponds to map 1104 from time t0 to time t1. The upper map 1205t0 corresponds to map 1105 from time t0 to time t1. The upper map 1206t0 corresponds to the Hadamard product of map 1203t0 and map 1205t0, and corresponds to map 1106 from time t0 to time t1. The Hadamard product here is given by equation (11) below. w(t) is the weight for each time t, and is maximum at each time.

[0078] Maps 1202tn to 1206tn in the middle and lower sections correspond to maps 1202t0 to 1206t0 at time tn to time tn+1, respectively. Note that n = 1 and 2.

[0079] The path generation unit 304 decomposes the obstacle path 1210 or the region of obstacle path 1210 included in the map 1201 in a time series to generate obstacle path regions 1212t0 to 1212t2. The path generation unit 304 decomposes the mobile path 1211 or the region of mobile path 1211 included in the map 1201 in a time series to generate mobile path regions 1213t0 to 1213t2. The path generation unit 304 calculates the overlapping region at each time (in this case, only the overlapping region 1214t1) using the Hadamard product. The path or obstacle path regions 1212t0 to 1212t2 obtained by decomposing the obstacle path 1210 in a time series is an example of a second decomposed path obtained by decomposing the path of a dynamic obstacle in a time series. The path obtained by decomposing the mobile path 1211 in time series, or the mobile path regions 1213t0 to 1213t2, is an example of a first decomposed path obtained by decomposing the overtaking path in time series.

[0080] The path generation unit 304 divides the moving object path 1211 and the obstacle path 1210 into time series at intervals of time Δt and calculates the Hadamard product. This allows the path generation unit 304 to determine collisions with greater accuracy.

[0081] For example, if the path generation unit 304 does not decompose the path chronologically, it will determine that a collision will occur at the position shown in Figure 11, which is the second column from the right and the fourth row from the top. However, if the path is decomposed chronologically, it can determine that there will be no collision at that location. In fact, the moving object 100 and the obstacle are at that location at different times, so the possibility of a collision is low.

[0082] On the other hand, as shown in Figure 12, when the path is decomposed in time series, the path generation unit 304 can determine that a collision will occur at the position of the third column from the left and the third row from the bottom, as shown in the map 1206t1 generated by the Hadamard product in the middle section. In fact, since both the moving object 100 and the obstacle are in that position between time t1 and time t2, the probability of a collision is high.

[0083] Figure 13 is a flowchart showing the basic control (path formation process) of the mobile body 100 according to this embodiment. The processes described below are executed by one or more processors, such as the CPU of the control unit 130, reading a program stored in memory such as ROM and loading it into RAM.

[0084] Before the basic control shown in Figure 13 begins, a global path (also called a global route) to the final target position is generated. In parallel with the basic control shown in Figure 13, an obstacle detection process (detection process) is performed for obstacles including static and dynamic obstacles. In the obstacle detection process, obstacles are detected, and for each detected obstacle, location information, identification information indicating whether the obstacle is static or dynamic is generated.

[0085] In S1301, the control unit 130 sets the target position. Here, the target position is not the final target position, but rather the intermediate position closest to the moving body 100 among several intermediate points obtained by dividing the global path to the final target position.

[0086] In S1302, the control unit 130 repeats the process from S1303 onward until it reaches the target position.

[0087] In S1303, the control unit 130 generates a local path to the target position using one or more clothoid curves and causes the mobile body 100 to travel along the local path. The local path is a path to the target position that avoids obstacles, including static and dynamic obstacles.

[0088] In S1304, the control unit 130 determines whether or not there is a dynamic obstacle on the global path. An example of a dynamic obstacle here is a pedestrian to be overtaken. For example, the control unit 130 may acquire an image captured by the detection unit 114 and determine whether or not there is a dynamic obstacle to be overtaken on the global path based on the image. If the control unit 130 determines that there is no dynamic obstacle on the global path, it proceeds to S1310 while driving the mobile body 100 along the local path. On the other hand, if the control unit 130 determines that there is a dynamic obstacle on the global path, it executes the processes in S1305 and S1306. Here, the control unit 130 may execute the processes in S1305 and S1306 in parallel. Alternatively, it may perform the process in S1306 and then execute S1305 according to the result.

[0089] In S1305, the control unit 130 uses a clothoid curve to generate a follow path that avoids static obstacles among the detected obstacles, as an avoidance path.

[0090] In S1306, the control unit 130 executes an overtaking path generation process to generate an overtaking path that avoids all obstacles, including detected static and dynamic obstacles. The control unit 130 may generate an overtaking path by connecting, for example, one or more clothoid curves and polynomial curves. The overtaking path generation process will be described later.

[0091] In S1307, the control unit 130 determines whether to select and adopt the overtaking route as the avoidance route. For example, if the control unit 130 can generate an overtaking route without obstacles in the overtaking route generation process, that is, if it is possible to travel along the overtaking route, it selects the overtaking route and adopts it as the avoidance route, and proceeds to S1308. On the other hand, if the control unit 130 cannot generate an overtaking route without obstacles in the overtaking route generation process, it selects the following route and adopts it as the avoidance route, and proceeds to S1309.

[0092] In S1308, the control unit 130 directs the mobile body 100 to travel along the overtaking path adopted as the avoidance route. As a result, the control unit 130 avoids obstacles, including static and dynamic obstacles in the surrounding area, while overtaking dynamic obstacles such as pedestrians on the global route. After this, the control unit 130 proceeds to S1310.

[0093] In S1309, the control unit 130 moves the mobile body 100 along the follow path adopted as the avoidance path, and proceeds to S1310.

[0094] In S1310, the control unit 130 determines whether the moving body 100, which is traveling along a local path or an avoidance path, will collide with an obstacle. The obstacle here includes static and dynamic obstacles, for example, a pedestrian, which is a dynamic obstacle on the global path that has already been detected. If there are no obstacles on the path the moving body is traveling on, the control unit 130 determines that the moving body 100 will not collide with an obstacle and does not execute S1311. On the other hand, if there are obstacles on the path the moving body is traveling on, the control unit 130 determines that the moving body 100 will collide with the obstacle and proceeds to S1311.

[0095] In S1311, the control unit 130 decelerates to avoid a collision with an obstacle on the avoidance path. This deceleration includes stopping. Therefore, the control unit 130 may stop depending on the distance between the moving body 100 and any potential obstacles.

[0096] After this, the control unit 130 repeats the process from S1303 onwards until it reaches the target position.

[0097] Figure 14 is a flowchart illustrating an example of the overtaking route generation process.

[0098] In the overtaking path generation process shown in Figure 14, first, at S1401, the control unit 130 generates a first overtaking path from the global path to the avoidance position using one or more clothoid curves. If the first overtaking path cannot be generated, the control unit 130 may terminate the overtaking path generation process and allow the mobile body 100 to travel according to the follow path.

[0099] In S1402, the control unit 130 sets a reference merging point on the global path, on the opposite side of the moving body 100 from the dynamic obstacles on the global path (i.e., on the side in the direction of the moving body 100's path), and at a predetermined reference distance away from the dynamic obstacles on the global path.

[0100] In S1403, the control unit 130 sets up N sub-merging points. The control unit 130 may periodically generate sub-merging points at locations on the global route that are a predetermined distance from the reference merging point. More specifically, the control unit 130 may set up an equal number (= N / 2) of sub-merging points on both the direction of travel and the opposite side of the reference merging point.

[0101] In S1404, the control unit 130 generates N+1 polynomial curves from the avoidance position, which is the endpoint of the first overtaking path using a clothoid curve, to the reference merging point and N secondary merging points.

[0102] In S1405, the control unit 130 repeats S1406 until it finds a polynomial curve without obstacles, or N+1 times.

[0103] In S1406, the control unit 130 selects one of the N+1 polynomial curves as the target for evaluation and determines whether there are obstacles, including static and dynamic obstacles, on the target polynomial curve. If the control unit 130 determines that there are obstacles on the target polynomial curve, it repeats S1406. If the control unit 130 determines that there are obstacles on all polynomial curves, it does not generate an overtaking path. In this case, the control unit 130 makes the moving body 100 travel according to the follow path.

[0104] On the other hand, if the control unit 130 determines that there are no obstacles on the polynomial curve being judged, it proceeds to S1407.

[0105] In S1407, the control unit 130 adopts the polynomial curve as the second overtaking path and connects the starting point of the second overtaking path to the endpoint of the first overtaking path to generate the overtaking path. In this case, the control unit 130 can travel along the overtaking path and causes the mobile body 100 to travel along the overtaking path.

[0106] With this, the control unit 130 terminates the overtaking route generation process.

[0107] Figure 15 is a flowchart illustrating another example of the overtaking route generation process. For processes in Figure 15 that are the same as those described in Figure 14, the explanation will be omitted or simplified.

[0108] In the overtaking route generation process shown in Figure 15, first, in S1501, the control unit 130 generates a first overtaking route.

[0109] In S1502, the control unit 130 sets the reference merging point.

[0110] In S1503, the control unit 130 generates a polynomial curve from the avoidance position, which is the end point of the first overtaking path, to the reference merging point.

[0111] In S1504, the control unit 130 determines whether or not there is an obstacle on the polynomial curve. If the control unit 130 determines that there is no obstacle on the polynomial curve, it proceeds to S1511. On the other hand, if the control unit 130 determines that there is an obstacle on the polynomial curve, it proceeds to S1506.

[0112] In S1506, the control unit 130 determines that there are no obstacles on the polynomial curve, or it repeats the process from S1507 onwards N times.

[0113] In S1507, the control unit 130 sets the secondary merging point.

[0114] In S1508, the control unit 130 generates a polynomial curve from the avoidance position, which is the end point of the first overtaking path, to the secondary merging point.

[0115] In S1509, the control unit 130 determines whether or not there is an obstacle on the generated polynomial curve. If the control unit 130 determines that there is an obstacle on the generated polynomial curve, it generates a new secondary merging point and polynomial curve, and repeats the process of determining whether or not there is an obstacle on that polynomial curve. If the control unit 130 is unable to generate a polynomial curve without obstacles after N repetitions, it terminates the overtaking path generation process without generating an overtaking path. In this case, the control unit 130 makes the moving body 100 travel according to the follow path. On the other hand, if the control unit 130 determines that there is no obstacle on the generated polynomial curve, it proceeds to S1511.

[0116] In S1511, the control unit 130 selects the polynomial curve that it determined to have no obstacles as the second overtaking path, and connects the first overtaking path and the second overtaking path to generate an overtaking path. In this case, the control unit 130 makes the mobile body 100 travel according to the overtaking path.

[0117] With this, the control unit 130 terminates the overtaking route generation process.

[0118] As described above, in this embodiment, if there are no obstacles in the second overtaking path generated using a polynomial curve, that is, if an overtaking path can be generated and the vehicle can travel along the overtaking path, the control unit 130 will travel along the overtaking path, overtaking pedestrians on the global path. As a result, this embodiment can appropriately operate the mobile vehicle 100 even if pedestrians are present on the global path.

[0119] In this embodiment, if an overtaking path can be generated and there are no obstacles on the overtaking path, the vehicle can travel along the overtaking path, and therefore the vehicle is driven along the overtaking path. As a result, this embodiment allows the vehicle to travel along the overtaking path more appropriately.

[0120] This embodiment generates overtaking paths using two different methods, one or more clothoid curves and polynomial curves. This allows this embodiment to generate more appropriate overtaking paths that take into account factors such as ride comfort. Furthermore, this embodiment can reduce the processing load of path generation by generating a second overtaking path using a polynomial curve, which has a lower processing load.

[0121] This embodiment generates a polynomial curve by creating a merging point on the global path, making it easy to generate an overtaking path that returns to the global path. Furthermore, this embodiment generates multiple secondary merging points on the global path, making it easy to generate multiple polynomial curves.

[0122] This embodiment determines collisions by decomposing the paths of the dynamic obstacle and the moving object 100 in a time series, thereby enabling more accurate collision detection.

[0123] In the above-described embodiment, an example was given in which the control unit 130 generates a follow path and an overtaking path in parallel when generating an avoidance path, but the generation of avoidance paths is not limited to this. For example, the control unit 130 may generate a follow path when it is not possible to generate an overtaking path without obstacles.

[0124] <Summary of Embodiments> 1. The mobile body control system of the above embodiment is a mobile body control system (for example, 130) that controls the movement of a mobile body, and comprises: a detection unit (303) that detects obstacles; a path generation unit (304) that can generate a global path which is a path to a target position and, if a dynamic obstacle which is a moving obstacle is within a first range from the global path, generate a follow path (1006, S1305) that does not overtake the dynamic obstacle, and an overtaking path (1008, S1306) that overtakes the dynamic obstacle on the global path; and a control unit (305) that controls the mobile body based on the generated paths, wherein the control unit controls the mobile body according to the overtaking path (S1307, S1308) if there are no obstacles within a second range from the overtaking path.

[0125] According to this embodiment, even when a dynamic obstacle exists within a first range from the global path, the moving object can be appropriately driven by adopting either the overtaking path or the following path as an avoidance path.

[0126] 2. The mobile control system of the above embodiment can generate, by its path generation unit, a follow path that avoids static obstacles which are non-moving obstacles, and an overtaking path that avoids both static and dynamic obstacles.

[0127] In this embodiment, appropriate follow-up and overtaking routes can be generated as candidates for avoidance paths.

[0128] 3. In the above embodiment of the mobile body control system, the path generation unit generates an overtaking path that includes, based on a first generation method, a first overtaking path (1010) to an avoidance position where a dynamic obstacle on the global path is overtaken, and based on a second generation method different from the first generation method, a second overtaking path (1011) that returns from the avoidance position to the global path.

[0129] According to this embodiment, overtaking routes can be appropriately generated by different route generation methods.

[0130] 4. In the mobile control system of the above embodiment, the route generation unit generates the first overtaking route extending from the global route based on the first generation method.

[0131] According to this embodiment, a first overtaking route extending from the global route, that is, an overtaking route extending from the global route, can be generated.

[0132] 5. In the mobile body control system of the above embodiment, the second generation method has a lower processing load for generation than the first generation method.

[0133] According to this embodiment, the processing load for generation can be reduced by generating the second overtaking path after the avoidance position using a second generation method that has a low processing load.

[0134] 6. In the above embodiment of the mobile control system, the path generation unit generates a first overtaking path including a clothoid curve based on the first generation method (1010) and generates a second overtaking path including a polynomial curve based on the second generation method (1011).

[0135] According to this embodiment, by generating overtaking paths using clothoid curves and polynomial curves, it is possible to generate appropriate overtaking paths while improving ride comfort and other factors.

[0136] 7. In the mobile control system of the above embodiment, the path generation unit generates the first overtaking path which includes a plurality of clothoid curves.

[0137] According to this embodiment, multiple clothoid curves can be used to generate an appropriate overtaking path while further improving ride comfort and other factors.

[0138] 8. In the above embodiment of the mobile vehicle control system, the path generation unit sets a merging point on the global path (1012) and generates the second overtaking path which includes the polynomial curve connecting the avoidance position (1007) and the merging point.

[0139] According to this embodiment, a polynomial curve is generated connecting the merging point on the global path and the avoidance position, making it easy to generate a polynomial curve that returns to the global path.

[0140] 9. In the above embodiment of the mobile body control system, the path generation unit sets a reference merging point (1012a) located at a predetermined reference distance from the dynamic obstacle (1001) within the first range of the global path as the merging point.

[0141] According to this embodiment, the merging point is set based on a predetermined reference distance, making it easy to set the merging point.

[0142] 10. In the above embodiment of the mobile vehicle control system, the path generation unit sets a plurality of sub-merging points (1012b) as merging points at predetermined intervals along the global path from the reference merging point, generates a plurality of polynomial curves connecting the avoidance position with the reference merging point and each of the plurality of sub-merging points, and adopts the polynomial curve among the plurality of polynomial curves that does not have obstacles within the third range as the second overtaking path.

[0143] According to this embodiment, since a polynomial curve without obstacles is selected as the overtaking path from among multiple polynomial curves, an appropriate overtaking path can be generated even when using a polynomial curve with a low processing load.

[0144] 11. The mobile control system of the above embodiment includes: The path generation unit generates a polynomial curve connecting the avoidance position and the reference merging point; if there are no obstacles within the third range from the polynomial curve, the polynomial curve is adopted as the second overtaking path; if there are obstacles on the polynomial curve, a sub-merging point (1012b) is set as the merging point at a predetermined interval on the global path from the reference merging point; a new polynomial curve is generated connecting the avoidance position and the sub-merging point; and if there are no obstacles within the third range from the new polynomial curve, the new polynomial curve is adopted as the second overtaking path.

[0145] According to this embodiment, if a polynomial curve without obstacles can be generated, that polynomial curve is adopted as the second overtaking path, thus reducing the processing time required to generate the polynomial curve.

[0146] 12. In the above embodiment of the mobile body control system, the path generation unit determines whether the dynamic obstacle is located within the first range from the global path, based on the current position, predicted position, or velocity of the dynamic obstacle.

[0147] According to this embodiment, it is possible to more appropriately determine whether or not a dynamic obstacle is present on the global path.

[0148] 13. In the above embodiment of the mobile vehicle control system, the path generation unit determines whether or not there are obstacles on the overtaking path based on the first decomposed path (1213t0) obtained by decomposing the overtaking path in time series, and determines whether or not it is possible to travel along the overtaking path.

[0149] According to this embodiment, by decomposing the overtaking path into a time series, the accuracy of determining whether or not there is an obstacle on the overtaking path can be further improved.

[0150] 14. In the above embodiment of the mobile body control system, the path generation unit determines whether or not there is an obstacle on the overtaking path based on the second decomposition path and the first decomposition path obtained by decomposing the path of the dynamic obstacle in time series, and determines whether or not it is possible to travel along the overtaking path.

[0151] According to this embodiment, by decomposing the path of a dynamic obstacle in a time series, the accuracy of determining whether or not there is an obstacle on the overtaking path can be further improved.

[0152] 18. The mobile body control system of the above embodiment is a mobile body control system (for example, 130) that controls the movement of a mobile body, and includes a detection unit (303) that detects obstacles, and a path generation unit (304) that generates a global path which is a path to a target position, and generates an avoidance path if a dynamic obstacle which is a moving obstacle exists within a first range from the global path, wherein the path generation unit can generate a follow path (1006, S1305) that avoids static obstacles which are non-moving obstacles, and an overtaking path (1008, S1306) that avoids static and dynamic obstacles and overtakes dynamic obstacles within the first range from the global path as candidates for the avoidance path, and adopts the overtaking path as the avoidance path if it is possible to travel along the overtaking path (S1307, S1308), and adopts the follow path as the avoidance path if it is not possible to travel along the overtaking path (S1307, S1309).

[0153] According to this embodiment, even when a dynamic obstacle exists within a first range from the global path, the moving object can be appropriately driven by adopting either the overtaking path or the following path as an avoidance path.

[0154] 19. In the mobile control system of the above embodiment, if the path generation unit is able to generate the overtaking path, it adopts the overtaking path as the avoidance path (1011).

[0155] According to this embodiment, if an overtaking path can be generated, the overtaking path is adopted, allowing the moving object to travel appropriately by overtaking and avoiding dynamic obstacles on the global path.

[0156] 20. In the above embodiment of the mobile body control system, the path generation unit adopts the overtaking path as the avoidance path if there are no obstacles within the second range from the overtaking path (1011).

[0157] According to this embodiment, if there are no obstacles on the overtaking path, the overtaking path is adopted, so that the moving body can be driven appropriately by overtaking and avoiding dynamic obstacles on the global path.

[0158] 21. In the above embodiment of the mobile body control system, the path generation unit generates an overtaking path that includes, based on a first generation method, a first overtaking path (1010) extending from the global path to an avoidance position where a dynamic obstacle on the global path is overtaken, and based on a second generation method different from the first generation method, a second overtaking path (1011) returning from the avoidance position to the global path.

[0159] According to this embodiment, overtaking routes can be appropriately generated by different route generation methods.

[0160] 22. In the above embodiment of the mobile body control system, the second generation method has a lower processing load for generation than the first generation method.

[0161] According to this embodiment, the processing load for generation can be reduced by generating the second overtaking path after the avoidance position using a second generation method that has a low processing load.

[0162] 23. In the above embodiment of the mobile control system, the path generation unit generates a first overtaking path including a clothoid curve based on the first generation method (1010) and generates a second overtaking path including a polynomial curve based on the second generation method (1011).

[0163] According to this embodiment, by generating overtaking paths using clothoid curves and polynomial curves, it is possible to generate appropriate overtaking paths while improving ride comfort and other factors.

[0164] 24. In the mobile body control system of the above embodiment, the path generation unit generates the first overtaking path which includes a plurality of clothoid curves.

[0165] According to this embodiment, multiple clothoid curves can be used to generate an appropriate overtaking path while further improving ride comfort and other factors.

[0166] 25. In the above embodiment of the mobile vehicle control system, the path generation unit sets a merging point on the global path (1012) and generates the second overtaking path which includes the polynomial curve connecting the avoidance position (1007) and the merging point.

[0167] According to this embodiment, a polynomial curve is generated connecting the merging point on the global path and the avoidance position, making it easy to generate a polynomial curve that returns to the global path.

[0168] 26. In the above embodiment of the mobile body control system, the path generation unit sets a reference merging point (1012a) located at a predetermined reference distance from the dynamic obstacle (1001) within the first range of the global path as the merging point.

[0169] According to this embodiment, the merging point is set based on a predetermined reference distance, making it easy to set the merging point.

[0170] 27. In the above embodiment of the mobile vehicle control system, the path generation unit sets a plurality of sub-merging points (1012b) as merging points at predetermined intervals on the global path from the reference merging point, generates a plurality of polynomial curves connecting the avoidance position with the reference merging point and each of the plurality of sub-merging points, and adopts the polynomial curve among the plurality of polynomial curves that does not have obstacles within the third range as the second overtaking path.

[0171] According to this embodiment, since a polynomial curve without obstacles is selected as the overtaking path from among multiple polynomial curves, an appropriate overtaking path can be generated even when using a polynomial curve with a low processing load.

[0172] 28. The mobile control system of the above embodiment includes: the path generation unit generates a polynomial curve connecting the avoidance position and the reference merging point; if there are no obstacles within the third range from the polynomial curve, the polynomial curve is adopted as the second overtaking path; if there are obstacles on the polynomial curve, a sub-merging point (1012b) is set as the merging point at a predetermined interval on the global path from the reference merging point; a new polynomial curve is generated connecting the avoidance position and the sub-merging point; and if there are no obstacles within the third range from the new polynomial curve, the new polynomial curve is adopted as the second overtaking path.

[0173] According to this embodiment, if a polynomial curve without obstacles can be generated, that polynomial curve is adopted as the second overtaking path, thus reducing the processing time required to generate the polynomial curve.

[0174] 29. In the above embodiment of the mobile body control system, the path generation unit determines whether the dynamic obstacle is within the first range from the global path based on the current position, predicted position, or velocity of the dynamic obstacle.

[0175] According to this embodiment, it is possible to more appropriately determine whether or not a dynamic obstacle is present on the global path.

[0176] 30. In the above embodiment of the mobile vehicle control system, the path generation unit determines whether or not there are obstacles within a second range from the overtaking path based on a first decomposed path (1213t0) obtained by decomposing the overtaking path in time series, and determines whether or not it is possible to travel along the overtaking path.

[0177] According to this embodiment, by decomposing the overtaking path into a time series, the accuracy of determining whether or not there is an obstacle on the overtaking path can be further improved.

[0178] 31. In the above embodiment of the mobile body control system, the path generation unit determines whether or not there is an obstacle within the second range from the overtaking path, based on the second decomposition path (1012t0) obtained by decomposing the path of the dynamic obstacle in time series and the first decomposition path, and determines whether or not it is possible to travel along the overtaking path.

[0179] According to this embodiment, by decomposing the path of a dynamic obstacle in a time series, the accuracy of determining whether or not there is an obstacle on the overtaking path can be further improved.

[0180] The invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of the gist of the invention.

[0181] 100...Moving object, 114...Detection unit, 130...Control unit, 302...Image information processing unit, 303...Grid map generation unit, 304...Path generation unit, 1001...Pedestrian, 1004...Global path, 1005...Target position, 1006...Follow path, 1008...Overtaking path, 1010...First overtaking path, 1011...Second overtaking path, 1007...Avoidance position, 1012...Merging point, 1012a...Reference merging point, 1012b...Sub-merging point.

Claims

1. A mobile body control system for controlling the movement of a mobile body, comprising: a detection unit for detecting obstacles; a path generation unit capable of generating a global path which is a path to a target position, and, if a moving obstacle is present within a first range from the global path, a follow path which does not overtake the dynamic obstacle, and an overtaking path which overtakes the dynamic obstacle within the first range from the global path; and a control unit for controlling the mobile body based on the generated paths, wherein the control unit controls the mobile body according to the overtaking path if there are no obstacles within a second range from the overtaking path.

2. The mobile body control system according to claim 1, wherein the path generation unit can generate a follow path that avoids static obstacles which are non-moving obstacles, and an overtaking path that avoids both static and dynamic obstacles.

3. The mobile body control system according to claim 1, wherein the path generation unit generates an overtaking path that includes, based on a first generation method, a first overtaking path to an avoidance position for overtaking a dynamic obstacle on the global path, and based on a second generation method different from the first generation method, a second overtaking path for returning from the avoidance position to the global path.

4. The mobile body control system according to claim 3, wherein the route generation unit generates the first overtaking route extending from the global route based on the first generation method.

5. The mobile body control system according to claim 3, wherein the second generation method has a lower processing load for generation than the first generation method.

6. The mobile vehicle control system according to claim 3, wherein the path generation unit generates a first overtaking path including a clothoid curve based on the first generation method, and generates a second overtaking path including a polynomial curve based on the second generation method.

7. The mobile body control system according to claim 6, wherein the path generation unit generates the first overtaking path which includes a plurality of clothoid curves.

8. The mobile vehicle control system according to claim 6, wherein the path generation unit sets a merging point on the global path and generates a second overtaking path that includes the polynomial curve connecting the avoidance position and the merging point.

9. The mobile body control system according to claim 8, wherein the route generation unit sets a reference merging point as the merging point, which is located at a predetermined reference distance from a dynamic obstacle within the first range to the global route.

10. The mobile vehicle control system according to claim 9, wherein the path generation unit sets a plurality of sub-merging points as merging points at predetermined intervals along the global path from the reference merging point, generates a plurality of polynomial curves connecting the avoidance position with the reference merging point and each of the plurality of sub-merging points, and adopts a polynomial curve from the plurality of polynomial curves that does not have obstacles within the third range as the second overtaking path.

11. The mobile vehicle control system according to claim 10, wherein the path generation unit generates a polynomial curve connecting the avoidance position and the reference merging point, adopts the polynomial curve as the second overtaking path if there are no obstacles within the third range from the polynomial curve, sets sub-merging points as merging points at predetermined intervals on the global path from the reference merging point, generates a new polynomial curve connecting the avoidance position and the sub-merging point, and adopts the new polynomial curve as the second overtaking path if there are no obstacles within the third range from the new polynomial curve.

12. The mobile body control system according to claim 1, wherein the path generation unit determines whether the dynamic obstacle is within the first range from the global path based on the current position, predicted position, or velocity of the dynamic obstacle.

13. The mobile vehicle control system according to claim 1, wherein the route generation unit determines whether or not there are obstacles on the overtaking route based on a first decomposed route obtained by decomposing the overtaking route in chronological order, and determines whether or not the vehicle can travel along the overtaking route.

14. The mobile vehicle control system according to claim 13, wherein the path generation unit determines whether or not there is an obstacle within the second range from the overtaking path based on the second decomposition path and the first decomposition path obtained by decomposing the path of the dynamic obstacle in time series, and determines whether or not the vehicle can travel along the overtaking path.

15. A method for controlling the movement of a moving body, comprising: a detection step for detecting an obstacle; a path generation step that generates a global path which is a path to a target position, and if a moving obstacle is present within a first range from the global path, a follow path which does not overtake the dynamic obstacle, and an overtaking path which overtakes the dynamic obstacle on the global path; and a control step for controlling the moving body based on the generated path, wherein in the control step, if there is no obstacle within a second range from the overtaking path, the moving body is controlled according to the overtaking path.

16. A program for causing a computer to function as a component of the mobile control system described in any one of claims 1 to 14.

17. A mobile body comprising the mobile body control system described in claim 1.

18. A mobile body control system for controlling the movement of a mobile body, comprising: a detection unit for detecting obstacles; and a path generation unit for generating a global path which is a path to a target position, and for generating an avoidance path when a dynamic obstacle which is a moving obstacle is located within a first range from the global path, wherein the path generation unit can generate a follow path which avoids static obstacles which are non-moving obstacles, and an overtaking path which avoids static and dynamic obstacles and overtakes dynamic obstacles located within the first range from the global path as candidate avoidance paths, and adopts the overtaking path as the avoidance path if the overtaking path can be traveled, and adopts the follow path as the avoidance path if the overtaking path cannot be traveled.

19. The mobile body control system according to claim 18, wherein if the route generation unit is able to generate the overtaking route, it adopts the overtaking route as the avoidance route.

20. The mobile body control system according to claim 18, wherein the path generation unit adopts the overtaking path as the avoidance path when there are no obstacles within the second range from the overtaking path.

21. The mobile body control system according to claim 18, wherein the path generation unit generates an overtaking path that includes, based on a first generation method, a first overtaking path extending from the global path to an avoidance position for overtaking a dynamic obstacle on the global path, and based on a second generation method different from the first generation method, a second overtaking path returning from the avoidance position to the global path.

22. The mobile body control system according to claim 4, wherein the second generation method has a lower processing load for generation than the first generation method.

23. The mobile body control system according to claim 4, wherein the path generation unit generates a first overtaking path including a clothoid curve based on the first generation method, and generates a second overtaking path including a polynomial curve based on the second generation method.

24. The mobile body control system according to claim 23, wherein the path generation unit generates the first overtaking path which includes a plurality of clothoid curves.

25. The mobile body control system according to claim 23, wherein the path generation unit sets a merging point on the global path and generates a second overtaking path that includes the polynomial curve connecting the avoidance position and the merging point.

26. The mobile body control system according to claim 8, wherein the route generation unit sets a reference merging point as the merging point, which is located at a predetermined reference distance from a dynamic obstacle within the first range to the global route.

27. The mobile vehicle control system according to claim 26, wherein the path generation unit sets a plurality of sub-merging points as merging points at predetermined intervals on the global path from the reference merging point, generates a plurality of polynomial curves connecting the avoidance position with each of the reference merging point and the plurality of sub-merging points, and adopts a polynomial curve from the plurality of polynomial curves that does not have obstacles within the third range as the second overtaking path.

28. The mobile vehicle control system according to claim 27, wherein the path generation unit generates a polynomial curve connecting the avoidance position and the reference merging point, adopts the polynomial curve as the second overtaking path if there are no obstacles within the third range from the polynomial curve, sets sub-merging points as merging points at predetermined intervals on the global path from the reference merging point, generates a new polynomial curve connecting the avoidance position and the sub-merging point, and adopts the new polynomial curve as the second overtaking path if there are no obstacles within the third range from the new polynomial curve.

29. The mobile body control system according to claim 18, wherein the path generation unit determines whether the dynamic obstacle is within the first range from the global path based on the current position, predicted position, or velocity of the dynamic obstacle.

30. The mobile vehicle control system according to claim 18, wherein the route generation unit determines whether or not there are obstacles within a second range from the overtaking route based on a first decomposed route obtained by decomposing the overtaking route in chronological order, and determines whether or not the vehicle can travel along the overtaking route.

31. The mobile body control system according to claim 30, wherein the path generation unit determines whether or not there is an obstacle within the second range from the overtaking path based on the second decomposition path and the first decomposition path obtained by decomposing the path of the dynamic obstacle in time series, and determines whether or not the overtaking path can be traveled.

32. A control method for controlling the movement of a moving body, comprising: a detection step for detecting an obstacle; a path generation step for generating a global path which is a path to a target position, and if a dynamic obstacle which is a moving obstacle exists within a first range from the global path, the path generation step can generate a follow path which avoids static obstacles which are non-moving obstacles, and an overtaking path which avoids static and dynamic obstacles and overtakes dynamic obstacles within the first range from the global path as candidates for the avoidance path, and adopts the overtaking path as the avoidance path if the overtaking path can be traveled, and adopts the follow path as the avoidance path if the overtaking path cannot be traveled.

33. A program for causing a computer to function as a component of the mobile control system described in any one of claims 18 to 31.

34. A mobile body comprising the mobile body control system described in claim 18.

Citation Information

Patent Citations

  • Electronic apparatus, movable body, imaging apparatus, and control method for electronic apparatus, program, and storage medium

    JP2022152922A

  • Agent control system and agent control method

    JP2024014302A

  • Travel assistance method and travel assistance device

    WO2020249995A1

  • Route generation device and method

    WO2023058079A1