Mobile object control system, control method thereof, mobile object, program, and recording medium

The mobile object control system uses clothoid curves with optimized curvature change points to create flexible and comfortable trajectories for micromobility vehicles, addressing the challenge of navigating complex environments while maintaining passenger comfort and safety.

JP7791073B2Active Publication Date: 2025-12-23HONDA MOTOR CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2022172643
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-10-27
Publication Date
2025-12-23
Estimated Expiration
2042-10-27

AI Technical Summary

Technical Problem

Micromobility vehicles require highly flexible driving trajectories to navigate complex environments while ensuring passenger comfort, which existing technologies fail to address effectively.

Method used

A mobile object control system that generates trajectories using clothoid curves with nonlinear curvature change points, optimizing curvature at key points to ensure both flexibility and comfort, while avoiding obstacles and adhering to a reference path.

Benefits of technology

Generates trajectories with high freedom and smooth curvature changes, ensuring a comfortable ride and effective obstacle avoidance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007791073000008
    Figure 0007791073000008
  • Figure 0007791073000009
    Figure 0007791073000009
  • Figure 0007791073000010
    Figure 0007791073000010
Patent Text Reader

Abstract

To provide a mobile control system capable of both generating a highly flexible traveling trajectory and ensuring a comfortable ride.SOLUTION: The mobile control system controls the movement of a mobile body. The mobile control system has: generation means for generating a trajectory on which the mobile body is to travel by using a trajectory from a position of the mobile body to a target position, composed of a plurality of trajectories where the curvature of each trajectory varies linearly with a distance and a point of curvature change where the curvature varies non-linearly; and determination means for determining a control quantity for controlling the traveling of the mobile body on the basis of the generated trajectories.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a mobile object control system, a control method thereof, a mobile object, a program, and a recording medium. [Background technology]

[0002] In recent years, there has been an increasing demand for ultra-small mobile vehicles (micromobility) to support people's mobility within small areas. Micromobility vehicles include vehicles with a passenger capacity of around one person, and vehicles that travel alongside people while carrying luggage instead of passengers. Micromobility can travel in both areas where cars travel and areas where pedestrians travel, so it requires autonomous driving technology for traveling on roadways as well as autonomous movement technology for free spaces such as sidewalks. As it is expected that various obstacles will be present in the direction of travel of micromobility, a highly flexible driving trajectory is required to flexibly avoid various obstacles.

[0003] Non-Patent Document 1 proposes a technology for generating a driving trajectory based on a clothoid curve so that an autonomous vehicle can travel on a road with a complex shape. Non-Patent Document 2 proposes a technology for generating a driving trajectory based on a multidimensional curve that passes through an endpoint set on a driving lane as a driving trajectory for avoiding obstacles in an emergency. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] MARCUS LUNDBERG, “Path planning for autonomous vehicles using clothoid based smoothing of A* generated paths and optimal control” (https: / / www.diva-portal.org / smash / get / diva2:1150741 / FULLTEXT01.pdf), 2017 [Non-patent document 2] Wenda Xu and 4 others, "A Real-Time Motion Planner with Trajectory Optimization for Autonomous Vehicles" (https: / / www.ri.cmu.edu / pub_files / 2012 / 5 / ICRA12_xuwd_Final.pdf), 2012 Summary of the Invention [Problem to be solved by the invention]

[0005] However, since micromobility vehicles are used by people, it is necessary to ensure an appropriate riding comfort even when the vehicles travel along highly flexible trajectories, i.e., trajectories with complex shapes.

[0006] The present invention has been made in view of the above-mentioned problems, and its purpose is to realize a technology that can achieve both the generation of a highly flexible travel trajectory and the assurance of a comfortable ride. [Means for solving the problem]

[0007] According to the present invention, A mobile object control system for controlling the operation of a mobile object, Curvature of each orbit Line Multiple trajectories that change shape and curvature changes nonlinearly Multiple a generating means for generating a trajectory along which the moving object should travel, using a trajectory from the position of the moving object to a target position, which is formed by combining the curvature change points; a determining means for determining a control amount for controlling the traveling of the moving body based on the generated trajectory; death, The generating means substitutes the trajectory in which the curvatures of the plurality of curvature change points are changed into a cost function to calculate a cost using the cost function, and repeatedly changes the curvatures of the plurality of curvature change points using a gradient of the cost function so as to reduce the cost, thereby determining the curvatures of the plurality of curvature change points, thereby generating a trajectory on which the moving body should travel. The present invention provides a mobile object control system. [Effects of the Invention]

[0008] According to the present invention, it is possible to generate a running trajectory with a high degree of freedom while ensuring a comfortable ride. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a moving body according to an embodiment of the present invention; [Figure 2] FIG. 1 is a block diagram showing an example of the configuration of a control system of a moving body according to an embodiment; [Figure 3] FIG. 1 is a block diagram showing an example of a functional configuration related to a control unit of a moving body according to an embodiment; [Figure 4] FIG. 1 is a diagram schematically illustrating an example of a grid map according to an embodiment. [Figure 5] FIG. 1 is a diagram for schematically explaining a local path (trajectory) of a moving body according to an embodiment; [Figure 6A] FIG. 1 is a diagram illustrating an example in which a local path (trajectory) of a moving body according to an embodiment is configured by combining a clothoid curve and a curvature change point. [Figure 6B] FIG. 1 is a diagram illustrating a cost function according to an embodiment. [Figure 7] 1 is a flowchart showing a series of operations in a travel control process for a moving body according to an embodiment; [Figure 8] 1 is a flowchart showing a series of operations for trajectory generation and control variable determination according to an embodiment. [Figure 9A] FIG. 10 is a diagram illustrating a first example of determining the maximum curvature value based on a generated trajectory. [Figure 9B] FIG. 10 is a diagram illustrating a second example of determining the maximum curvature value based on the generated trajectory. [Figure 9C] FIG. 10 is a diagram illustrating a third example of determining the maximum curvature value based on the generated trajectory. [Figure 10] 1 is a flowchart showing a series of operations related to determining a control amount according to an embodiment; DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention as claimed, and not all combinations of features described in the embodiments are necessarily essential to the invention. Two or more of the features described in the embodiments may be arbitrarily combined. Furthermore, the same reference numerals are used for the same or similar components, and redundant explanations will be omitted.

[0011] In the following embodiments, an ultra-compact electric vehicle with a passenger capacity of about one person will be described as an example of a mobile body that is micromobility. However, micromobility may also include vehicles that travel with people while carrying luggage instead of a person on board. Furthermore, this embodiment is not limited to examples in which the mobile body is an electric vehicle, and can also be applied to mobile bodies other than electric vehicles. Furthermore, in the following description, a mobile body with one driven wheel will be described as an example, but it does not necessarily have to have a driven wheel, and the number of driven wheels is not limited to one, but may be two or more.

[0012] For mobile vehicles such as the micromobility mentioned above, it would be useful to realize autonomous driving that takes into account the presence of people, the frequent changes in target location, and the lack of high-precision maps. Micromobility vehicles do not necessarily travel along specific, fixed routes. Furthermore, because they can travel in both areas where automobiles and pedestrians are present, they must navigate appropriately in areas where high-precision maps are not available. Furthermore, when traveling through shopping malls or event venues, for example, they must navigate while appropriately avoiding obstacles in situations where multiple obstacles are present at irregular intervals. Furthermore, unlike unmanned delivery robots, when micromobility vehicles are used by people, unnatural driving trajectories or trajectories that do not take into account the riding comfort may cause discomfort to passengers.

[0013] The mobile body 100 according to this embodiment autonomously travels toward a target position while avoiding obstacles without using a high-precision map. To autonomously travel 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, which will be described later. As will be described later, the mobile body 100 generates a grid map indicating areas in which the mobile body 100 can travel and areas in which the mobile body 100 cannot travel, and uses this grid map to generate a trajectory for the mobile body 100. Furthermore, the mobile body 100 generates a trajectory with a high degree of freedom and taking into consideration a comfortable ride, using a clothoid curve with points where the curvature changes nonlinearly (hereinafter simply referred to as curvature change points). The mobile body 100 controls its drivetrain so that it travels along the generated trajectory.

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

[0015] The mobile object 100 is an electric autonomous vehicle equipped with a propulsion unit 112 and using a battery 113 as a main power source. The battery 113 is, for example, a secondary battery such as a lithium-ion battery, and the mobile object 100 is propelled by the propulsion unit 112 using power supplied from the battery 113. The propulsion unit 112 is in the form of a tricycle equipped with a pair of left and right drive wheels 120 that are front wheels, and one driven wheel 121 that is a rear wheel. Note that the propulsion unit 112 may be in another form, such as a four-wheeled vehicle. The mobile object 100 is equipped with, for example, a seat 111 for one person.

[0016] The propulsion unit 112 includes a drive mechanism 122. The drive mechanism 122 is a mechanism that uses motors 122a and 122b as drive sources to rotate the corresponding drive wheels 120. 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 generating a rotation difference between the motors 122a and 122b. The propulsion unit 112 includes a driven wheel 121. The driven wheel can rotate around the Z direction as its rotation axis.

[0017] The moving body 100 is equipped with detection units 114 to 116 that detect targets around the moving body 100. The detection units 114 to 116 are a group of external sensors that monitor the periphery of the moving body 100. In the present embodiment, the detection units 114 to 116 are all imaging devices that capture images of the periphery of the moving body 100, and include, for example, an optical system such as a lens and an image sensor. However, instead of or in addition to the imaging devices, radar or lidar (Light Detection and Ranging) may be used.

[0018] The detection units 114 are arranged, for example, in pairs at the front of the moving body 100, spaced apart in the Y direction, and are mainly used to detect targets ahead of the moving body 100. The detection units 115 are arranged on the left and right sides of the moving body 100, respectively, and are mainly used to detect targets on the sides of the moving body 100. The detection unit 116 is arranged at the rear of the moving body 100, and is mainly used to detect targets behind the moving body 100.

[0019] 2 is a block diagram of a control system of the mobile object 100. The mobile object 100 includes a control unit (ECU) 130. The control unit 130 includes one or more processors such as a CPU, a memory device such as a semiconductor memory, an interface with an external device, etc. The memory device stores programs executed by the processor and data used by the processor for processing, etc. Multiple sets of processors, memory devices, and interfaces may be provided for different functions of the mobile object 100 and configured to be able to communicate with each other.

[0020] The control unit 130 acquires the outputs (e.g., image information) of the detection units 114 to 116, input information from the operation unit 131, and audio information input from the audio input device 133, and executes processing according to the respective pieces of information. The control unit 130 controls the motors 122a and 122b (controls the driving of the driving unit 112), controls the display of the display panel included in the operation unit 131, and notifies and outputs information to the occupants of the moving object 100 by audio. The control unit 130 may execute processing using a machine learning model for image recognition (e.g., a deep neural network) on the outputs (e.g., image information) from the detection units 114 to 116. The control unit 130 may also execute processing using a machine learning model for voice recognition (e.g., a deep neural network) on the outputs (e.g., audio information) from the audio input device 133.

[0021] The voice input device 133 includes, for example, a microphone, and picks up the voice of the occupant of the mobile object 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 mobile object 100.

[0022] The storage device 135 includes a non-volatile recording medium that stores various data. The storage device 135 may also store programs executed by the processor, data used by the processor for processing, etc. The storage device 135 may also store various parameters of machine learning models for speech recognition and image recognition executed by the control unit 130 (for example, trained parameters and hyperparameters of a deep neural network, etc.).

[0023] The communication device 136 is a communication device that can communicate with an external device (for example, a communication terminal 140 owned by a user) via wireless communication such as Wi-Fi or fifth generation mobile communication.

[0024] Next, an example of the functional configuration of the control unit 130 will be described with reference to Fig. 3. The user instruction acquisition unit 301 acquires a user instruction input via the operation unit 131 or the voice input device 133. The user instruction includes a specification of a final target position where the moving object 100 should arrive. The final target position may be the position of a target designated by a spoken voice among targets recognized in the images output by the detection units 114 to 116. The user instruction may also include an instruction to change the traveling trajectory of the moving object 100, such as turning right or left, while the moving object 100 is traveling.

[0025] The image information processing unit 302 recognizes the position, shape, etc. of the roadway and obstacles based on the outputs (e.g., image information) of the detection units 114 to 116. The recognition of the position, shape, etc. of the roadway and obstacles ahead of the mobile object 100 is performed by, for example, calculating the depth distance from the mobile object 100 using stereo images obtained from the two detection units 114. To recognize the roadway and obstacles, a machine learning model for image recognition (e.g., a deep neural network) that has been trained in advance may be used on monocular images or stereo images.

[0026] The grid map generation unit 303 generates a grid map that indicates areas in the vicinity of the mobile object 100 that are drivable and areas that are not drivable for the mobile object 100, based on the positions, shapes, etc. of the travel path and obstacles recognized by the image information processing unit 302. Fig. 4 schematically shows an example of a grid map according to this embodiment. The example shown in Fig. 4 schematically shows how an image of the area ahead of the mobile object 402 is captured by the detection unit 403, and a grid map 400 is generated that indicates an impassable area 401 indicating the presence of an obstacle and other areas (drivable areas).

[0027] The grid map generation unit 303 shifts the grid map 400 as the moving object 100 moves so that the moving object is positioned at the center of the grid map. The grid map generation unit 303 assigns the undrivable areas 401 to the corresponding grids of the grid map 400 according to the recognition results of the image information processing unit 302. For example, if the grid map generation unit 303 recognizes that an object exists at a predetermined height from the ground surface (for example, a height at which the moving object 100 cannot proceed), it designates the area corresponding to the position where the object is recognized as an undrivable area. The grid map generation unit 303 generates a grid map by adding undrivable areas 401 as the moving object 100 moves.

[0028] The path generation unit 304 generates a path (traveling path) along which the mobile object 100 will travel by executing processes for trajectory generation and control variable determination, which will be described later. The traveling path generated by the path generation unit 304 of this embodiment may be referred to as a local path, as opposed to a global path, which will be described later. The path generation unit 304 can generate a path based on a target position by referring to the global path. The global path is a path toward the target position, which roughly determines the travel path of the mobile object. In this embodiment, the path generation unit 304 may generate the global path by any method, including using a known method. The target position differs from a final target position specified by a user, but is a temporary position to be reached when the traveling path of the mobile object 100 is determined at regular intervals. The target position is set on the global path. The maximum distance from the mobile object's current position to the target position may be set according to the range within which an obstacle can be detected by the detection unit, such as 6 meters. In other words, the path generation unit 304 can limit the traveling path to a range within which the mobile object can adequately detect obstacles, etc. Furthermore, the maximum distance from the position of the moving body to the target position may be set, for example, according to a braking distance that allows the moving body 100 to control its traveling in an emergency. That is, the path generation unit 304 can limit the traveling trajectory to a range that allows sufficient control, such as stopping, of the moving body 100. Furthermore, the target position is set closer to the moving body as the final target position (for example, the position of a target specified by a user) approaches.

[0029] To generate a traveling trajectory, the path generation unit 304 generates a trajectory composed of a combination of multiple clothoid curves and curvature change points whose curvature changes nonlinearly. A clothoid curve is a curve whose trajectory curvature changes linearly with distance. A clothoid curve is also generally known as the trajectory drawn by a vehicle equipped with a steering wheel when the vehicle is traveling at a constant speed and the steering wheel is turned at a constant rate. In this embodiment, by combining multiple trajectories whose curvatures change linearly with curvature change points whose curvatures change nonlinearly, a complex trajectory with a high degree of freedom, such as snaking left and right, can be generated. In other words, such a trajectory makes it possible to avoid obstacles by snaking left and right even when multiple obstacles are present.

[0030] Furthermore, by configuring the above trajectory, it is possible to generate a trajectory for a vehicle equipped with a steering wheel, for example, by turning the steering wheel at a constant rate, passing through a curvature change point, and then turning the steering wheel in a different constant manner. In other words, even when generating a trajectory with a high degree of freedom, the curvature of the trajectory changes smoothly, ensuring a comfortable ride for passengers riding in the moving body. By adjusting the curvature at three points on the trajectory, the path generation unit 304 can suppress frequent changes in the turning direction of the moving body 100 and further consider motion constraints of the moving body 100, such as the minimum turning radius.

[0031] FIG. 5 schematically shows an example of a trajectory 503 traveled by a moving object 501. An obstacle 502 exists ahead of the moving object 501 in the traveling direction (X direction). The Y direction indicates the left-right direction with respect to the traveling direction of the moving object. The trajectory 503 is made up of multiple clothoid curves and multiple curvature change points 504 to 506. As described above, the multiple clothoid curves and curvature change points enable the path generation unit 304 to generate a traveling trajectory 503 that does not deviate significantly from a global path 507 (shown as a point cloud) even if the global path 507 is a complex path. S1 to S3 indicate the distance between adjacent curvature change points among the curvature change points 504 to 506. This distance may be at regular intervals, or an optimal distance determined in advance through experiments or the like may be set.

[0032] 6A shows the relationship between the distance from the moving object and the curvature of the trajectory for generating the trajectory 503. As shown in FIG. 6A, the trajectory 503 generated in this embodiment has a constant curvature (i.e., a linear change) up to the maximum or minimum point of the curvature (the point where the curvature changes).

[0033] In this embodiment, the case of optimizing the trajectory curvature (curvatures K1, K2, and K3) at the positions of three curvature change points on the trajectory is described as an example. While it is possible to use more curvature change points, increasing the number of curvature change points to be adjusted can dramatically increase the amount of calculation required for optimization using a cost function, which will be described later. In other words, the amount of calculation increases significantly compared to the improvement in the degree of freedom of the resulting trajectory. By using three curvature change points, the path generation unit 304 can generate a trajectory with a high degree of freedom while reducing the amount of calculation required for optimization. By appropriately reducing the number of curvature change points, it becomes possible to repeat generation of the trajectory at shorter intervals (e.g., in real time).

[0034] An outline of the trajectory generation process by the path generation unit 304 will be described. The path generation unit 304 substitutes the trajectory in which the curvature at three points is changed into a cost function, and finds the curvature at the curvature change point that reduces the cost according to the cost function. The cost function is, for example, C poserr is the deviation cost from the global path, Cobstacle is the approach and collision cost to the obstacle, C oscilation If K is the cost of difference from the trajectory generated one time before, it can be expressed as in Equation (1). The cost of deviation from the global trajectory is determined by referring to the global trajectory (i.e., information indicating a predetermined reference trajectory of the mobile object 100), and the cost increases as the generated trajectory deviates from the reference trajectory. Therefore, even when generating a trajectory with a high degree of freedom, it is possible to generate a trajectory that does not deviate significantly from the reference trajectory. Furthermore, the cost of difference from the trajectory generated one time before becomes smaller as the difference (positional deviation) from the trajectory generated one time before becomes smaller. In other words, the path generation unit 304 refers to the trajectory generated a predetermined time before and determines the curvatures of multiple curvature change points using a cost function in which the cost increases as the amount of change in the trajectory to be generated from the trajectory generated one time before becomes greater. Therefore, by using the cost of difference from the trajectory generated immediately before (e.g., one time before), it is possible to suppress sudden trajectory changes. The path generation unit 304 selects curvatures K1, K2, and K3 that minimize the cost function of Equation (1). For example, the curvature K1 corresponds to the curvature at the curvature change point 601, the curvature K2 corresponds to the curvature at the curvature change point 602, and the curvature K3 corresponds to the curvature at the curvature change point 603. poserr , C obstacle , C oscilation ) is calculated according to equations (2) to (4), where t corresponds to the current timing, and t-1 indicates the timing when the previous orbit was calculated.

number

number

number

number

[0035] FIG. 6B is a schematic diagram showing the cost function according to the present embodiment shown in Equation (1). For example, Cposerr The deviation cost from the global path, C, is calculated by calculating the trajectory to be generated and the value obtained by assigning the potential of the global path to the grid. For example, the potential of the global path is assigned such that the farther the grid is from the global path, the higher the cost. By using such a potential, the curvature change point is optimized so that the trajectory to be generated approaches the global path. obstacle The cost of approaching and colliding with an obstacle is calculated by calculating the trajectory to be generated and the value of the obstacle's potential assigned to the grid. For example, the closer the obstacle is to an unpassable area in the grid map, the higher the cost assigned to the obstacle's potential. By using this potential, the curvature change points are optimized so that the generated trajectory avoids the obstacle.

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

number

number

number

[0037] The path generating unit 304 repeatedly calculates the cost shown in Equation 1 using a trajectory generated by varying the curvature at the curvature change point, and determines the curvatures K1, K2, and K3 that result in the lowest cost L.

[0038] In the example shown in FIG. 6B, the potential of the global path and the potential of the obstacle are expressed using a cost grid. The cost grid may be composed of the same number of grids as the grid map. As described above, each grid in the cost grid is assigned a cost value corresponding to the distance from the global path and the distance from the obstacle. Multiple cost grids can be taken into account by, for example, summing the values ​​of corresponding grids. In a cost grid that handles the potential of the global path, for example, when the global path is projected onto a grid surface, a lower cost value is assigned to the grid closer to the global path. The path generation unit 304 stores the set cost grid in a memory device. When a candidate trajectory is generated, the trajectory is projected onto the cost grid and the cost values ​​of the grids that overlap with the trajectory are added together. This process enables the optimization calculation for generating a trajectory to be performed quickly with relatively simple calculations.

[0039] Furthermore, the path generation unit 304 performs a process of determining control variables using the determined trajectory to determine the velocity v and angular velocity ω, which are control variables for controlling the traveling of the moving object. The process of determining the control variables is a process of determining the velocity v and angular velocity ω so as to satisfy predetermined constraints when traveling along the generated trajectory. The predetermined constraints are, for example, constraints imposed so that the moving object 100 can safely turn a curve or so as to ensure a stable and comfortable ride, as will be described in detail later.

[0040] The traveling control unit 305 controls the traveling of the moving body 100 in accordance with the control determined by the route generation unit 304 (for example, controls the motors 122a and 122b).

[0041] Next, a series of operations in the travel control process of the moving body 100 will be described with reference to Fig. 7. This process is realized by the control unit 130 expanding a program stored in the storage device 135 into the memory device of the control unit 130 and executing it. At the start of this process, it is assumed that a final destination position has been set in accordance with a user instruction or the like.

[0042] In S701, the image information processing unit 302 of the control unit 130 acquires the outputs (image information) of the detection units 114 to 116. The image information processing unit 302 recognizes the positions, shapes, etc. of the road and obstacles included in the image information using, for example, a deep neural network.

[0043] In S702, the grid map generating unit 303 of the control unit 130 generates the grid map described with reference to Fig. 4. As described above, the grid map generating unit 303 generates a grid map that indicates areas in the vicinity of the mobile object 100 that the mobile object 100 can travel in and areas that the mobile object 100 cannot travel in, based on the positions, shapes, etc. of the travel path and obstacles recognized by the image information processing unit 302.

[0044] In S703, the path generation unit 304 of the control unit 130 acquires a global path. As described above, the global path may be generated in any manner as long as it roughly determines the trajectory of the moving object. The path generation unit 304 may generate a global path that does not collide with obstacles on the grid map using, for example, the A* algorithm.

[0045] In S704, the path generating unit 304 of the control unit 130 generates a path (local path) along which the moving object will travel, including a clothoid curve, as described above. The process of generating the traveling path in this step will be described later with reference to FIG. 8.

[0046] In S705, the path generation section 304 of the control unit 130 generates a control amount for the moving body 100 based on the generated trajectory. The process of determining the control amount in this step will be described later with reference to FIG.

[0047] In S706, the traveling control unit 305 of the control unit 130 controls the motors 122a and 122b using the control amount (speed v and angular velocity ω) determined by the path generation unit 304, and controls the traveling of the moving body 100.

[0048] In S707, the control unit 130 determines whether the final target position has been reached. If the control unit 130 determines that the final target position has not been reached, the process returns to S701 and the process is repeated. If the control unit 130 determines that the final target position has been reached, the control unit 130 ends this series of processes.

[0049] Next, a description will be given of a series of operations for processing to generate a trajectory and determine a control amount, which is executed by the path generating unit 304. This processing is realized by the control unit 130 loading a program stored in the storage device 135 into the memory device of the control unit 130 and executing it. In this processing, the processing of S801 to S802 is executed in the above-mentioned S704, and then S803 is executed in S705.

[0050] In S801, the path generation unit 304 calculates the initial curvature of the curvature change point of the clothoid curve using the global path. Specifically, the path generation unit 304 first generates a path close to the global path without considering the presence of obstacles, and provides an initial path for path generation in the next step. The path generated in this step is calculated by subtracting C from the above-mentioned formula (1). poserr The path generation unit 304 performs optimization calculations using only C poserr and C oscilation By performing the processing of this step, it is possible to reduce the possibility that the curvature determined in the optimization calculation of S802 will fall into a local solution, and it is possible to obtain an optimal solution with higher accuracy.

[0051] In S802, the path generation unit 304 calculates the curvature change points of the clothoid curve using the global path, the grid map, and the past path. That is, the path generation unit 304 calculates each cost (C poserr , C obstacle , C oscilation ) is used to find the curvature at, for example, three curvature change points (to generate a trajectory).

[0052] In S803, the path generating unit 304 determines a combination of the target velocity and the target angular velocity based on the generated trajectory. Specifically, the path generating unit 304 determines the velocity v at the start of the control amount determination process by referring to the generated trajectory. max Then, the path generating unit 304 performs the control amount determination process described below.

[0053] 9A to 9C show an example of determining the curvature with the largest absolute value within a predetermined curvature reference range for a trajectory determined at curvature change points 601 to 603. In the example of Fig. 9A, the path generating unit 304 determines the curvature 902 as the curvature K with the largest absolute value within the curvature reference range from the position of the moving body to a distance 901. max In the example of FIG. 9B, the path generating unit 304 determines the curvature 911 as the curvature K with the largest absolute value within the curvature reference range from the position of the moving object to the distance 901. max 9C, the path generating unit 304 determines the curvature 921 as the curvature K with the largest absolute value within the curvature reference range from the position of the moving object to the distance 901. max In this way, by referring to the curvature with the largest absolute value, when the curvature of the generated trajectory is referred to, if it is determined that a sharp curve is approaching or the vehicle is traveling on a sharp curve, the path generation unit 304 performs control to reduce the velocity and angular velocity through subsequent processing. In the curvature determined in the examples of FIGS. 9A to 9C, the path generation unit 304 determines v max = ω max / K max According to V max Determine ω max may be determined in advance based on the characteristics of the moving body 100, etc.

[0054] The path generating unit 304 may vary the curvature reference range depending on the current speed or deceleration of the moving body 100. For example, when the current speed of the moving body 100 is high, the path generating unit 304 can narrow the curvature reference range. In other words, when the current speed of the moving body 100 is high, the path generating unit 304 imposes stronger constraints on the selection of the speed and angular velocity, thereby providing safety and a stable ride.

[0055] Next, the control amount determination process performed by the path generation unit 304 will be described with reference to Fig. 10. Note that this process is realized by the control unit 130 expanding a program stored in the storage device 135 into the memory device of the control unit 130 and executing the program.

[0056] In S1001, the path generation unit 304 max Refer to the velocity v ref Substituting for v ref Then, ω ref ← v ref *K ref According to the reference angular velocity ω ref The reference curvature K ref is a value that refers to the end of the trajectory depending on the magnitude of the speed of the moving body 100, for example.

[0057] In S1002, the path generation unit 304 determines whether the acceleration of the moving body is equal to or less than a predetermined acceleration (translational acceleration 0.1 G or less) under the conditions of the reference velocity and reference angular velocity. If the acceleration is equal to or less than the predetermined acceleration, the path generation unit 304 proceeds to S1004, and if not, proceeds to S1003. In S1003, the path generation unit 304 calculates v so that the acceleration falls within the predetermined acceleration of S1002. ref Change (slow down).

[0058] In S1004, the path generation unit 304 determines whether the deceleration of the moving object is equal to or less than a predetermined deceleration (deceleration of 0.01 G or less) under the conditions of the reference velocity and the reference angular velocity. If the deceleration is equal to or less than the predetermined deceleration, the path generation unit 304 proceeds to S1006, and if not, proceeds to S1005. In S1005, the path generation unit 304 calculates v so that the deceleration falls within the predetermined deceleration of S1004. ref Change the

[0059] In S1006, the path generation unit 304 determines whether the absolute value of the angular velocity of the moving body is equal to or smaller than a predetermined angular velocity (|ω ref |≦|ω max If the deceleration is equal to or less than the predetermined deceleration, the path generation unit 304 proceeds to step S1008, otherwise proceeds to step S1007. In step S1007, the path generation unit 304 determines whether |ω ref v so that | satisfies the specified angular velocity ref Change the

[0060] In S1008, the path generation unit 304 calculates the acceleration (a y =ω ref *v ref If the acceleration in the left-right direction is equal to or less than the predetermined value, the path generating unit 304 advances the process to S1009, and if not, advances the process to S1007.

[0061] In S1009, the path generation unit 304 calculates the calculated reference speed v ref and the reference angular velocity ω ref are determined as control variables (as the target velocity v and the target angular velocity ω). The path generating unit 304 then ends this process and returns to the process of S803. When the path generating unit 304 ends the process of S803, it ends the series of processes shown in FIG.

[0062] As described above, in the above-described embodiment, a trajectory on which the moving body 100 should travel is generated using a trajectory formed by combining multiple trajectories (i.e., clothoid curves) whose curvatures change linearly with distance and curvature change points whose curvatures change nonlinearly. This makes it possible to generate a traveling trajectory with a high degree of freedom while ensuring a comfortable ride. Furthermore, in this embodiment, the target speed and target angular velocity of the moving body (i.e., the control amount of the moving body) are determined based on the generated trajectory (e.g., curvature within a predetermined range) so that the acceleration and angular velocity satisfy certain conditions. This further enables control of the moving body taking safety and comfort into consideration, and reduces the load on the occupant due to acceleration and turning.

[0063] The configuration of the control unit 130 described above may function in various forms as a mobile object control system. For example, a mobile object control system may be configured in a form in which at least a part of the control unit 130 described above is configured on a device external to the mobile object 100, such as an external server. Alternatively, the mobile object control system may be the mobile object 100, or may be configured to be incorporated inside the mobile object 100 (i.e., the control unit 130). Furthermore, the computer program that operates the mobile object 100 described above may be a computer program that causes one or more computers to function as each means of the mobile object control system.

[0064] <Summary of the embodiment> 1. The mobile object control system for controlling the operation of the mobile object (e.g., 100) of the above embodiment is a generation means (e.g., 304) for generating a trajectory along which the moving object should travel, using a trajectory from the position of the moving object to a target position, the trajectory being formed by combining a plurality of trajectories, each of which has a curvature that changes linearly with distance, and a curvature change point, the curvature of which changes nonlinearly; and a determining means (for example, 304) for determining a control amount for controlling the traveling of the moving body based on the generated trajectory.

[0065] According to this embodiment, it is possible to generate a running trajectory with a high degree of freedom while ensuring a comfortable ride.

[0066] 2. In the mobile object control system according to the above embodiment, the trajectory along which the moving body should travel includes a plurality of curvature change points, The generating means determines the curvatures at the plurality of curvature change points to generate a trajectory along which the moving body should travel.

[0067] According to this embodiment, even when a trajectory with a high degree of freedom is generated, the curvature of the trajectory changes smoothly, making it possible to ensure a comfortable ride for passengers riding on the moving body.

[0068] 3. In the mobile object control system according to the above embodiment, The generation means refers to information indicating the location of an obstacle and determines the curvature of the multiple curvature change points using a cost function in which the cost increases as the position of the trajectory to be generated approaches the location of the obstacle.

[0069] According to this embodiment, even when generating a trajectory with a high degree of freedom, it is possible to generate a trajectory that appropriately avoids obstacles.

[0070] 4. In the mobile object control system according to the above embodiment, The generation means refers to information indicating a predetermined reference trajectory of the moving body and determines the curvatures of the multiple curvature change points using a cost function in which the cost increases the more the generated trajectory deviates from the reference trajectory.

[0071] According to this embodiment, even when generating a trajectory with a high degree of freedom, it is possible to generate a trajectory that does not deviate significantly from the reference trajectory.

[0072] 5. In the mobile object control system according to the above embodiment, The generation means refers to a trajectory on which the moving body should travel that was generated a predetermined time ago, and determines the curvatures of the multiple curvature change points using a cost function in which the cost increases the greater the amount of change in the trajectory to be generated from the trajectory on which the moving body should travel that was generated the predetermined time ago.

[0073] According to this embodiment, even when a trajectory with a high degree of freedom is generated, it is possible to suppress abrupt changes in the trajectory.

[0074] 6. In the mobile object control system according to the above embodiment, The trajectory along which the moving body should travel has three curvature change points.

[0075] According to this embodiment, it is possible to generate a traveling trajectory with a high degree of freedom while suppressing the amount of calculation required for optimization.

[0076] 7. In the mobile object control system according to the above embodiment, The determining means calculates the velocity and angular velocity of the moving body, which are the control variables, based on the largest curvature of the generated trajectories.

[0077] According to this embodiment, it is possible to determine the control amount that best follows the generated trajectory while satisfying constraints regarding safety and ride comfort.

[0078] 8. In the mobile object control system according to the above embodiment, The determination means determines the velocity and angular velocity of the moving body, which are the control variables, based on the largest curvature of the generated trajectory within a predetermined range that varies depending on the current velocity of the moving body.

[0079] According to this embodiment, stronger constraints are imposed on the selection of speed and angular velocity, making it possible to provide safety and stable riding comfort.

[0080] 9. In the mobile object control system according to the above embodiment, When the velocity and angular velocity of the moving body do not satisfy the constraints for the moving body to travel stably, the determining means changes the velocity and angular velocity of the moving body so as to satisfy the constraints.

[0081] According to this embodiment, it is possible to control a moving body taking into consideration safety and riding comfort, and it is possible to reduce the load on the occupant due to acceleration and turning.

[0082] 10. In the mobile object control system according to the above embodiment, The vehicle further includes a detection means for detecting a position where an obstacle exists based on an image captured by the imaging means of the vehicle, The maximum distance to the target position is set according to the range within which the detection means can detect an obstacle.

[0083] According to this embodiment, the travel path of the moving body can be limited to a range in which obstacles and the like can be sufficiently detected.

[0084] 11. In the mobile object control system according to the above embodiment, The maximum distance to the target position is set in accordance with a braking distance that allows the travel of the moving body to be controlled.

[0085] According to this embodiment, the travel trajectory of the moving body 100 can be limited to a range where control such as stopping of the moving body 100 is sufficiently possible.

[0086] The invention is not limited to the above-described embodiment, and various modifications and variations are possible within the scope of the gist of the invention. [Explanation of symbols]

[0087] 100... Mobile body, 120... Driving wheel, 121... Driven wheel, 130... Control unit, 303... Grid map generating unit, 304... Route generating unit, 305... Travel control unit

Claims

1. A mobile object control system for controlling the operation of a mobile object, a generation means for generating a trajectory along which the moving object should travel, using a trajectory from the position of the moving object to a target position, the trajectory being formed by combining a plurality of trajectories, each of which has a curvature that changes linearly, and a plurality of curvature change points, each of which has a curvature that changes nonlinearly; a determination means for determining a control amount for controlling the traveling of the moving body based on the generated trajectory, a generation means for generating a trajectory on which the moving body should travel by substituting a trajectory in which the curvatures of the plurality of curvature change points are changed into a cost function to calculate a cost using the cost function, and repeatedly changing the curvatures of the plurality of curvature change points using a gradient of the cost function so as to reduce the cost, thereby determining the curvatures of the plurality of curvature change points.

2. 2. The mobile body control system according to claim 1, wherein the generation means refers to information indicating a position where an obstacle is present, and determines the curvatures of the plurality of curvature change points using a cost function in which the cost increases as the position of the trajectory to be generated approaches the position where the obstacle is present.

3. 2. The mobile body control system according to claim 1, wherein the generation means refers to information indicating a predetermined reference trajectory of the mobile body, and determines the curvatures of the plurality of curvature change points using a cost function in which the cost increases the more the generated trajectory deviates from the reference trajectory.

4. 2. The mobile body control system according to claim 1, wherein the generation means refers to a trajectory on which the mobile body should travel that was generated a predetermined time ago, and determines the curvatures of the plurality of curvature change points using a cost function in which the cost increases the greater the amount of change in the trajectory to be generated from the trajectory on which the mobile body should travel that was generated the predetermined time ago.

5. 2. The mobile object control system according to claim 1, wherein the trajectory along which the mobile object is to travel has three curvature change points.

6. 2. The mobile object control system according to claim 1, wherein the determining means calculates the velocity and angular velocity of the mobile object, which are the control variables, based on the largest curvature among the curvatures of the generated trajectories.

7. The mobile body control system according to claim 6, wherein the determining means determines the velocity and angular velocity of the mobile body, which are the control variables, based on the largest curvature of the generated trajectory within a predetermined range that varies depending on the current velocity of the mobile body.

8. 7. The mobile body control system according to claim 6, wherein, when the velocity and angular velocity of the mobile body do not satisfy constraints for the mobile body to travel stably, the determining means changes the velocity and angular velocity of the mobile body so as to satisfy the constraints.

9. The vehicle further includes a detection means for detecting a position where an obstacle exists based on an image captured by the imaging means of the vehicle, 2. The mobile object control system according to claim 1, wherein the maximum distance to the target position is set in accordance with a range within which the detection means can detect an obstacle.

10. 2. The mobile object control system according to claim 1, wherein the maximum distance to the target position is set in accordance with a braking distance that allows control of the traveling of the mobile object.

11. A mobile object, a generation means for generating a trajectory along which the moving object should travel, using a trajectory from the position of the moving object to a target position, the trajectory being formed by combining a plurality of trajectories, each of which has a curvature that changes linearly, and a plurality of curvature change points, each of which has a curvature that changes nonlinearly; a determination means for determining a control amount for controlling the traveling of the moving body based on the generated trajectory, the generation means substitutes the trajectory in which the curvatures of the plurality of curvature change points are changed into a cost function to calculate a cost using the cost function, and repeatedly changes the curvatures of the plurality of curvature change points using a gradient of the cost function so as to reduce the cost, thereby determining the curvatures of the plurality of curvature change points and generating a trajectory on which the moving body should travel.

12. A control method for a mobile object control system for controlling the operation of a mobile object, comprising: a generation step of generating a trajectory along which the moving object should travel, using a trajectory from the position of the moving object to a target position, the trajectory being formed by combining a plurality of trajectories, each of which has a curvature that changes linearly, and a plurality of curvature change points, each of which has a curvature that changes nonlinearly; a determination step of determining a control amount for controlling the traveling of the moving object based on the generated trajectory, a control method for a mobile body control system, characterized in that in the generation step, a trajectory in which the curvatures of the plurality of curvature change points are changed is substituted into a cost function to calculate a cost using the cost function, and the curvatures of the plurality of curvature change points are repeatedly changed using a gradient of the cost function so as to reduce the cost, thereby determining the curvatures of the plurality of curvature change points and generating a trajectory on which the mobile body should travel.

13. A program for causing a computer to function as each of the means of the mobile object control system according to any one of claims 1 to 10.

14. A recording medium storing a program for causing a computer to function as each of the means of the mobile object control system according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Vehicle control method, device, equipment and medium

    CN114802300A

  • Moving object

    JP2007148595A

  • Method of generating traveling path of unmanned vehicle

    JP2010073080A

  • AGV orbit calculation device and method

    JP2017010292A

  • Vehicle control device

    JP2018193039A