Trajectory calculation device, vehicle control support system, vehicle control system, trajectory calculation method, and method for creating machine learning model
The trajectory calculation device uses a machine learning model to generate vehicle trajectories considering user preferences and obstacles, addressing the limitations of existing systems by providing comfortable and efficient parking assistance.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ASTEMO LTD
- Filing Date
- 2025-12-11
- Publication Date
- 2026-07-23
AI Technical Summary
Existing vehicle trajectory generation technologies, such as those described in Japanese Patent Application Laid-Open No. 2020-093621, lack effectiveness in generating optimal vehicle trajectories, particularly during parking scenarios, and do not adequately consider passenger comfort or individual user preferences.
A trajectory calculation device utilizing a machine learning model to determine waypoints and generate vehicle trajectories based on the starting and destination points, incorporating sensors for obstacle detection and user interface feedback, with a vehicle control system to assist drivers in navigating these trajectories while avoiding obstacles.
The solution enables the generation of appropriate vehicle tracks that consider passenger comfort and individual user preferences, ensuring smooth and obstacle-avoiding navigation during parking, enhancing the overall driving experience.
Smart Images

Figure JP2025043280_23072026_PF_FP_ABST
Abstract
Description
Track calculation device, vehicle control support system, vehicle control system, track calculation method, method for creating machine learning model
[0001] The present invention relates to a track calculation device, a track calculation method, and a method for creating a machine learning model.
[0002] In order to support vehicle operation by a user and realize autonomous driving, a vehicle trajectory generation technology is required. In Patent Document 1, in an automatic parking control method that executes at least start control of a vehicle during parking, a sensor measures the brain activity of a passenger in the vehicle, and a controller detects discomfort of the passenger from the measured brain activity information. When the discomfort is detected after the vehicle stops at a turn-back, an automatic parking control method is disclosed, which features starting the vehicle.
[0003] Japanese Patent Application Laid-Open No. 2020-093621
[0004] In the invention described in Patent Document 1, there is room for improvement in vehicle trajectory generation.
[0005] A trajectory calculation device according to a first aspect of the present invention is a trajectory calculation device for calculating the trajectory of a vehicle, comprising: a machine learning model that receives at least the starting point of the vehicle and the destination point of the vehicle as input and outputs waypoints which are points along the route from the starting point to the destination point; and a trajectory generation unit that calculates the trajectory from the starting point to the waypoints and the trajectory from the waypoints to the destination point. A vehicle control support system according to a second aspect of the present invention comprises the trajectory calculation device described above and a support device that assists the driver of the vehicle in controlling the vehicle based on the trajectory calculated by the trajectory generation unit. A vehicle control system according to a third aspect of the present invention comprises the trajectory calculation device described above and a vehicle control device that controls the vehicle based on the trajectory calculated by the trajectory generation unit. A trajectory calculation method according to a fourth aspect of the present invention is a trajectory calculation method in which a computer calculates the trajectory of a vehicle, comprising: inputting at least the starting point of the vehicle and the destination point of the vehicle into a machine learning model to obtain waypoints which are points along the route from the starting point to the destination point; and calculating the trajectory from the starting point to the waypoints and the trajectory from the waypoints to the destination point. A fifth aspect of the present invention is a method for creating a machine learning model, which is performed by a computer, and includes: inputting the starting point and the destination point into a driving simulator to calculate a trajectory; extracting points in the trajectory where the angle changes significantly as change points; and performing supervised learning so that the change points are output in response to the input of the starting point and the destination point.
[0006] According to the present invention, it is possible to generate an appropriate vehicle track.
[0007] Vehicle configuration diagram Hardware configuration diagram of the trajectory calculation device Diagram showing multiple parking scenarios Diagram showing data exchange in the vehicle Configuration diagram of the model generation system Diagram showing learning of the change point prediction unit by the model learning unit Diagram showing differences in routes for each user in modified example 1 Diagram showing continuous trajectory calculation by the trajectory calculation device in modified example 2 Diagram showing an example of the user interface in modified example 3 Diagram showing data exchange in the vehicle in the second embodiment Diagram showing an example of a knowledge map Configuration diagram of the model generation system in a modified example of the second embodiment
[0008] —First Embodiment— The first embodiment of the orbit calculation device will be described below with reference to Figures 1 to 6.
[0009] Figure 1 is a diagram of the configuration of vehicle 9. Vehicle 9 comprises a trajectory calculation device 10, a sensor group 2, a vehicle control device 3, a support device 4, and a user interface 5. The trajectory calculation device 10 calculates a trajectory for parking vehicle 9, as will be described later. In this embodiment, a person riding in vehicle 9 is called a "user". The user may be sitting in the driver's seat of vehicle 9, or may be in a different location.
[0010] Sensor group 2 is a collection of sensors capable of calculating obstacles surrounding the vehicle 9 and the position of the vehicle 9. Sensor group 2 outputs measured values directly, or calculation results using the measured values, to the trajectory calculation device 10, the vehicle control device 3, and the support device 4. In other words, sensor group 2 may include a computer that performs calculations using the measured values of the sensors. Examples of sensors in sensor group 2 include cameras, laser scanners, ultrasonic sensors, GNSS receivers, speedometers, gyroscopes, etc.
[0011] Sensor group 2 may also include, for example, a GNSS receiver, i.e., a receiver compatible with the Global Navigation Satellite System, to acquire the latitude and longitude of the vehicle 9. Alternatively, sensor group 2 may include a speedometer and a gyroscope, and the current position of the vehicle 9 may be calculated by adding up the distance, which is the product of speed and time, for each direction of travel obtained by the gyroscope, and calculating the change in position from a known starting point using so-called dead reckoning.
[0012] User interface 5 is an interface device for exchanging information with the occupants of vehicle 9, particularly the driver. User interface 5 is, for example, a touch panel or a combination of a display and physical buttons. User interface 5 may include a camera and a microphone to recognize the user's speech and pointing gestures.
[0013] The track calculation device 10 includes a current position calculation unit 11, a parking position calculation unit 12, a parking space estimation unit 13, an occupancy map creation unit 16, a change point prediction unit 14, and a track generation unit 15. The data generated by the track calculation device 10 is position data 301, parking boundary 302, change point 303, and track 304. These data will be explained in detail later. The track 304 is data indicating the position that the vehicle 9 should travel to, and is output to the vehicle control device 3 and the support device 4.
[0014] The vehicle control device 3 controls the vehicle 9 to move along the track 304 generated by the track generation unit 15. Specifically, the vehicle control device 3 operates the accelerator, brakes, gears, and steering of the vehicle 9. The support device 4 assists the user in controlling the vehicle 9. For example, the support device 4 assists the user in steering the vehicle 9 so that it moves along the track 304. This assistance may generate a positive force to encourage steering in the direction along the track 304, or a negative force to prevent steering away from the track 304. As described above, the vehicle control device 3 and the support device 4 aim to move the vehicle 9 along the track 304, but they also control the vehicle 9 to avoid obstacles based on the occupied grid map 305, which will be described later.
[0015] The current position calculation unit 11 calculates the current position and attitude of the vehicle 9 using the output of the sensor group 2. The attitude here includes at least the yaw angle. The yaw angle is data indicating the direction the front of the vehicle 9 is pointing, for example, a value from 0 to 360 with true north being 0. If the sensor group 2 outputs the latitude and longitude of the vehicle 9, the current position calculation unit 11 only needs to receive the data. The current position calculation unit 11 may also calculate the current position of the vehicle 9 using data output by the sensor group 2 by methods other than those described above. The current position calculation unit 11 may also perform the above calculations on behalf of the computer included in the sensor group 2. The current position of the vehicle 9 is part of the position data 301.
[0016] The parking position calculation unit 12 calculates the parking position and orientation of the vehicle 9. However, below, the parking position will also be referred to as the "destination position," meaning the destination location that the vehicle 9 should reach. The parking position calculation unit 12 may determine the parking position and orientation based on its own calculations, or it may determine the parking position and orientation based on instructions from the driver or an external source. When performing its own calculations, for example, it may use the output of sensors mounted on the vehicle 9 to identify a parking area where no other vehicles are parked, and determine the approximate center of this parking area as the parking position. Alternatively, the parking position calculation unit 12 may obtain a list of available parking areas from a device provided in the parking lot and determine the area closest to the current position as the parking position.
[0017] When determining the parking position based on external instructions, the parking position calculation unit 12 may, for example, identify the latitude and longitude of a point on a map specified by the user via the user interface 5 and set this as the parking position. Alternatively, if the sensor group 2 includes a camera and microphone for capturing images of the vehicle 9's interior, the parking position calculation unit 12 may recognize the user's voice command, "Park in that spot," and then determine the direction of the user's finger from the camera's captured image to calculate the parking position. The parking position is part of the position data 301. The parking position calculation unit 12 may determine the orientation of the vehicle 9 at the parking position, specifically whether it is facing forward or backward, based on prior settings by the user, or it may determine the orientation of the vehicle 9 at the parking position in a way that minimizes the amount of movement.
[0018] The parking space estimation unit 13 calculates accessible and inaccessible areas for vehicle 9 to park, based on the parking position and parking boundary 302 calculated by the parking position calculation unit 12. For example, if there are 30 parking spaces for a vehicle, the parking space estimation unit 13 identifies which parking space vehicle 9 will park in. The parking space estimation unit 13 then designates the remaining 29 parking spaces as inaccessible areas and calculates the one identified parking space and the driving area of the parking lot as accessible areas.
[0019] The occupancy map creation unit 16 generates and updates an occupancy grid map 305 using the output of sensors mounted on the vehicle 9. The occupancy grid map 305 is a map that divides the two-dimensional plane of the parking lot ground into grids of a predetermined size and assigns the probability of obstacle presence to each grid. For example, the occupancy grid map 305 can be implemented as a two-dimensional array of integers, with 128 assigned as the initial value. When an obstacle is detected in the area corresponding to each grid, the occupancy map creation unit 16 increases the value of the corresponding array, and when no obstacle is detected in the area corresponding to each grid, it decreases the value of the corresponding array. The occupancy map creation unit 16 updates the change point 303 at relatively short time intervals, for example, each time the sensor group 2 acquires new data from the sensors.
[0020] The change point prediction unit 14 is a pre-trained machine learning model. The change point prediction unit 14 receives position data 301 and parking boundary 302 as input and outputs a change point 303. Based on this change point 303, the trajectory generation unit 15 generates a trajectory 304.
[0021] Figure 2 is a hardware configuration diagram of the orbit calculation device 10. The orbit calculation device 10 comprises a CPU 41 which is a central processing unit, a ROM 42 which is a read-only storage device, a RAM 43 which is a read-write storage device, an input / output device 44 which is a user interface, and a communication device 45. The CPU 41 performs the various calculations mentioned above by loading the program stored in the ROM 42 into the RAM 43 and executing it.
[0022] The orbit calculation device 10 may be implemented using a rewritable logic circuit such as an FPGA (Field Programmable Gate Array) or an application-specific integrated circuit such as an ASIC (Application Specific Integrated Circuit) instead of the combination of CPU 41, ROM 42, and RAM 43. Alternatively, the orbit calculation device 10 may be implemented using a different configuration, such as a combination of CPU 41, ROM 42, RAM 43 and FPGA, instead of the combination of CPU 41, ROM 42, and RAM 43.
[0023] The input / output device 44 is, for example, a touch panel, liquid crystal display, mouse, keyboard, input buttons, etc. The input / output device 44 provides information to the user and receives input from the user. The communication device 45 is a communication module that communicates with other devices mounted on the vehicle 9. In Figure 2, for convenience, the track calculation device 10 is shown as being composed of one hardware device, but the track calculation device 10 may be composed of multiple hardware devices. In this case, the hardware devices may be installed adjacent to each other, or they may be connected via a local area network or the internet.
[0024] Figure 3 shows multiple parking scenarios. For example, the parking scenarios include diagonal parking shown in Figure 3(a), parallel parking shown in Figure 3(b), forward parking shown in Figure 3(c), and reverse parking shown in Figure 3(d). In diagonal parking, the vehicle moves forward into a parking area set diagonally to the vehicle's travel area and parks there. In parallel parking, the vehicle reverses into a parking area set parallel to the vehicle's travel area and parks there by repeatedly moving forward and backward as needed. In forward parking, the vehicle moves forward into a parking area set perpendicular to the vehicle's travel area and parks there. In reverse parking, the vehicle moves forward to the vicinity of a parking area set perpendicular to the vehicle's travel area and then switches to reverse to park. The trajectory calculation device 10 can handle any of these parking scenarios.
[0025] Figure 4 shows the exchange of data in vehicle 9. The position data 301 is a combination of the current position of vehicle 9 calculated by the current position calculation unit 11 and the parking position calculated by the parking position calculation unit 12. The parking boundary 302 includes data related to the parking lot lines where vehicle 9 will be parked. The parking lot lines are lines that define the boundary between the vehicle's driving area and the parking area, and the boundaries of individual parking areas. The areas that vehicle 9 can enter are the vehicle's driving area and the parking area where it will be parked, and other parking areas that vehicle 9 will not use are areas that cannot be entered. The current position calculation unit 11 calculates the current position of vehicle 9 using the output of the sensor group 2. The parking position calculated by the parking position calculation unit 12 becomes part of the position data 301 and is also provided to the parking space estimation unit 13. The parking boundary 302 is calculated by the parking space estimation unit 13 using the parking position calculated by the parking position calculation unit 12.
[0026] The change point 303 is the point where the vehicle 9 changes direction of travel when parking, and is output by the change point prediction unit 14. It is desirable that the change point 303 is the point where the direction of travel of the vehicle 9 changes the most significantly from the starting position to the target position. For example, the change point 303 is the point where the steering is changed significantly, or the point where the forward and backward directions of travel are changed. Since the trajectory 304 that the vehicle 9 travels is generated using the change point 303, the change point 303 can also be called a "waypoint" for the vehicle 9. The occupied grid map 305 is generated by the occupied map creation unit 16 as described above. The occupied grid map 305 is input to the trajectory generation unit 15 and the vehicle control device 3. The trajectory 304 is generated by the trajectory generation unit 15 and input to the vehicle control device 3. The trajectory 304 is the path that the vehicle 9 will travel in order to park.
[0027] Figure 5 is a diagram showing the configuration of the model generation system 7 that generates a machine learning model, which is the change point prediction unit 14. In this embodiment, the people involved in generating the training data are called "operators". There may be multiple operators. The model generation system 7 includes a parking simulator 501, a simulator management unit 502, a location data storage unit 503, a manually created trajectory acquisition unit 504, a training data storage unit 505, a parking boundary storage unit 506, a change point extraction unit 507, and a model learning unit 508.
[0028] Multiple location data 301 are stored in the location data storage 503. However, these location data 301 are not the actual current position and parking end position of the vehicle 9, but the current position and parking end position of the virtual vehicle. The current position and parking end position in these location data 301 include vehicle attitude data, i.e., at least yaw angle data. Multiple current positions and parking end positions for the virtual vehicle are created and set. There are many location data 301 due to the combination of the current position and parking end position of the virtual vehicle. One or more parking boundaries 302 are stored in the parking boundary storage 506. The correspondence between each parking boundary 302 stored in the parking boundary storage 506 and the location data 301 stored in the location data storage 503 is known.
[0029] The simulator management unit 502 retrieves location data 301 one by one from the location data storage unit 503 and inputs it into the parking simulator 501. The simulator management unit 502 also inputs the parking boundary 302 corresponding to the location data 301 that has been input into the parking simulator 501. However, the simulator management unit 502 may be operated by an operator to manually input the location data 301.
[0030] If the output of the parking simulator 501 is a trajectory, the simulator management unit 502 outputs that output as a virtual trajectory 510 along with the position data 301 to the change point extraction unit 507. If the output of the parking simulator 501 is uncalculable, the simulator management unit 502 outputs the position data 301 to the manually created trajectory acquisition unit 504.
[0031] The manually created trajectory acquisition unit 504 acquires the trajectory generated by the operator. That is, the manually created trajectory acquisition unit 504 provides the operator with position data 301 and parking boundary 302, and acquires the trajectory from the current position to the parking end position, which is generated by the operator's driving of the virtual vehicle. For example, the manually created trajectory acquisition unit 504 includes a display device that displays the virtual space and a controller that receives input from the operator, and updates the position of the virtual vehicle in the virtual space based on the operator's input. The initial position of the virtual vehicle is set as the current position in the position data 301, and the trajectory of the virtual vehicle's movement until it reaches the parking end position is output to the change point extraction unit 507 as a virtual trajectory 510.
[0032] The parking simulator 501 generates a virtual trajectory 510, which is the path for a virtual vehicle included in the position data 301 to move from its current position to the parking completion position. However, the virtual trajectory 510 also includes data on the attitude of the virtual vehicle. The parking simulator 501 is a well-known computer program and refers to the parking boundary 302. Specifically, the parking simulator 501 uses the parking boundary 302 to identify the vehicle driving area and the parking area in the parking lot and generates a virtual trajectory 510 for the virtual vehicle to travel only within the vehicle driving area and reach the parking completion position. However, if the parking simulator 501 cannot generate a virtual trajectory 510 to reach the parking completion position, it outputs a message indicating that trajectory generation is impossible.
[0033] The change point extraction unit 507 receives the virtual trajectory 510 as input. The change point extraction unit 507 extracts points from the virtual trajectory 510 where the direction of travel changes as change points 303. The change points 303 may be all points on the virtual trajectory 510 where the direction of travel changes by a predetermined angle or more, or it may be the single point on the virtual trajectory 510 with the largest angle change in the direction of travel, or it may be the top three points on the virtual trajectory 510 with the largest angle changes in the direction of travel. However, the angle change in the direction of travel refers to the change in steering angle and the change in direction of travel, and the change in direction of travel corresponds to a 180-degree change in steering. The change points 303 include data on the position and attitude of the virtual vehicle.
[0034] The hardware configuration of the model generation system 7 may include a CPU 41, ROM 42, and RAM 43, similar to the orbit calculation device 10, or it may include an FPGA or ASIC. The model generation system 7 may consist of one hardware unit or multiple hardware units. If the model generation system 7 consists of multiple hardware units, it may consist of multiple servers located in physically separate locations, and in this case, they may be connected by a wide-area communication network or the Internet.
[0035] Figure 6 shows the learning of the change point prediction unit 14 by the model learning unit 508. The upper part of Figure 6 shows the virtual trajectory 510, and the lower part of Figure 6 shows the input and output of the change point prediction unit 14. However, in the lower part of Figure 6, attitude data is omitted for simplicity, and in reality, the vehicle's attitude is included in all fields. When the virtual trajectory 510 shown in Figure 6 is input to the change point extraction unit 507, it extracts the first change point 951, the second change point 952, and the third change point 953. The model learning unit 508 uses the extraction results from the change point extraction unit 507 as training data to learn the change point prediction unit 14. Specifically, the model learning unit 508 updates the parameters that constitute the change point prediction unit 14.
[0036] The change point extraction unit 507 employs a point-to-point prediction approach with a fixed output format, enabling it to handle various parking situations regardless of the number of turns required. During the learning process, the change point extraction unit 507 outputs the vehicle's position and orientation for given inputs. This output is compared to the expected output using an error model that calculates both the Euclidean error (the difference between the predicted position and the actual position) and the directional error (the angular difference between the predicted direction and the actual direction). This comparison result is used to adjust the model parameters through backpropagation, minimizing the prediction error over time. This iterative process continues until the model makes highly accurate predictions for both position and orientation in various parking scenarios.
[0037] According to the first embodiment described above, the following effects can be obtained: (1) The trajectory calculation device 10 calculates the trajectory of the vehicle 9. The trajectory calculation device 10 includes a change point prediction unit 14, which is a machine learning model that receives at least the starting point and destination point of the vehicle 9 as input and outputs waypoints, i.e., change points 303, which are points along the way from the starting point to the destination point, and a trajectory generation unit 15 that calculates the route from the starting point to the waypoints and the route from the waypoints to the destination point. Therefore, the trajectory calculation device 10 can generate an appropriate trajectory for the vehicle 9.
[0038] (2) The change point prediction unit 14 also receives input of the vehicle's attitude at the starting point and the destination point. The change point prediction unit 14 also outputs the vehicle's attitude at the intermediate points.
[0039] (3) The track calculation device 10 that calculates the track 304 and the support device 4 that assists the driver of the vehicle 9 in controlling the vehicle based on the track 304 calculated by the track generation unit 15 can together be called a vehicle control support system.
[0040] (4) The track calculation device 10 that calculates the track 304 and the vehicle control device 3 that controls the vehicle 9 based on the track 304 calculated by the track calculation device 10 can together be called a vehicle control system.
[0041] (5) The starting point is the parking start point, the destination point is the parking end point, and the intermediate points are the points where the direction of travel of the vehicle changes.
[0042] (6) The method for creating the change point prediction unit 14, which is executed by the computer-based model generation system 7, includes inputting the starting point and destination point into the driving simulator, which is the parking simulator 501, to calculate the virtual trajectory 510; the change point extraction unit 507 extracting points in the virtual trajectory 510 where the angle changes significantly as the first change point 951, etc.; and the model learning unit 508 performing supervised learning so that change points 303 are output in response to inputs of the starting point and destination point. Therefore, the change point prediction unit 14 is generated, the change point prediction unit 14 is made to calculate waypoints by inputting the starting point and destination point, and the trajectory generation unit 15 is used to generate a trajectory that passes through the waypoints.
[0043] (Modification Example 1) FIG. 7 is a diagram showing differences in routes for each user. In the example shown in FIG. 7, the trajectory of the vehicle from the parking start position indicated by reference numeral 901A to the parking end position indicated by reference numeral 903A is shown. The types of straight lines in FIG. 7 indicate differences in users. From FIG. 7, it can be seen that the turning-back position and the minimum turning radius at the change point 303 are different for each user. Therefore, by using a route with a turning-back position and a minimum turning radius according to the characteristics of the user for the learning data of the change point 303, the change point 303 can be optimized for an individual. Specifically, in the parking simulator 501 of the model generation system 7, a change point prediction unit 14 that can generate a change point 303 according to the characteristics of the user can be generated by setting the minimum turning radius and the minimum distance from an obstacle for each user.
[0044] (Modification Example 2) In the above-described first embodiment, the timing of trajectory calculation by the trajectory calculation device 10 was not particularly limited. The trajectory calculation device 10 may continuously calculate a trajectory as described below.
[0045] FIG. 8 is a diagram showing continuous trajectory calculation by the trajectory calculation device 10. At time t1, the trajectory calculation device 10 calculated a trajectory 961 indicated by a broken line and started moving by the operation of the vehicle control device 3 or the user. At the subsequent time t1, a moving obstacle 962, for example, a bicycle, stopped near the calculated trajectory 961. Therefore, the trajectory calculation device 10 calculated a new trajectory 963 and advanced while avoiding the moving obstacle 962. By continuously calculating the trajectory in this way, smooth movement that avoids moving obstacles can be realized.
[0046] (Modification Example 3) FIG. 9 is a diagram showing an example of a user interface that receives feedback from a user. The trajectory calculation device 10 may be provided with an interface as shown in FIG. 9. This user interface is displayed, for example, on a display device included in the user interface 5. The change reception screen 970 includes a drawing area 971 and a parameter input field 972. In the drawing area 971, the current position and parking position of the vehicle 9, as well as the trajectory that the vehicle 9 will travel in the future, are displayed. The parameter input field 972 includes one or more combinations of a parameter name 973 and a parameter value 974.
[0047] In the example shown in FIG. 9, "maximum distance to the parking frame" and "maximum distance to surrounding vehicles" are preset as the parameter names 973. The current set value is displayed as the parameter value 974, and the user can change the parameter value 974 using an input device (not shown). For example, when the display device is a touch panel, when the user touches the parameter value 974, a numeric keypad is displayed on the screen, and the parameter value 974 touched earlier can be changed by operating the numeric keypad. When the user rewrites the parameter value 974, the parking position and trajectory in the drawing area 971 are updated, and the parking position and trajectory of the vehicle 9 are also updated. Note that the parameters are not limited to the above, and for example, the minimum turning radius of the vehicle 9 may be further included, or there may be only one parameter.
[0048] Further, the set value of the parameter input by the user may be fed back to the model generation system 7 to update the change point prediction unit 14. For example, when parameters can be set in the parking simulator 501, by setting the parameter value set by the user, teacher data reflecting the user's settings can be generated, and the change point prediction unit 14 generated using this teacher data reflects the user's settings. By transmitting this change point prediction unit 14 to the vehicle 9 again, the trajectory calculation device 10 can generate a trajectory 304 reflecting the user's settings.
[0049] (Modification 4) Gear data may also be input to the change point prediction unit 14. Gear data is data indicating the state of the gears installed in the vehicle 9, for example, whether it is in parking, reverse, drive, or low. In this case, the parking simulator 501 of the model generation system 7 also outputs gear data, and the model learning unit 508 uses the gear data for learning.
[0050] (Modification 5) In the first embodiment described above, the vehicle 9 was equipped with both the vehicle control device 3 and the support device 4. However, the vehicle 9 only needs to be equipped with at least one of the vehicle control device 3 and the support device 4.
[0051] (Modification 6) In the first embodiment described above, the change point prediction unit 14 calculated both the position of the change point 303 and the attitude of the vehicle 9 at the change point 303. However, the change point prediction unit 14 only needs to calculate the position of the change point 303 and does not necessarily need to calculate the attitude of the vehicle 9 at the change point 303.
[0052] (Modification 7) In the first embodiment described above, the track calculation device 10 generated a track for parking. However, the track generated by the track calculation device 10 is not limited to parking and may be used for other purposes. For example, it may calculate a track for passing through a specific gate near a toll booth on a highway, or it may calculate a track for changing lanes.
[0053] (Modification 8) In the first embodiment described above, the model generation system 7 is equipped with a user input acquisition unit 504. However, the model generation system 7 does not need to be equipped with a user input acquisition unit 504. In this case, if the parking simulator 501 is unable to generate a virtual trajectory, the corresponding position data 301 is not used for learning the change point prediction unit 14.
[0054] —Second Embodiment— A second embodiment of the track calculation device will be described with reference to Figures 10 to 11. In the following description, the same reference numerals are used for components that are the same as in the first embodiment, and the differences will be mainly explained. Points that are not specifically explained are the same as in the first embodiment. This embodiment differs from the first embodiment mainly in that it corrects the track based on the user's past driving tendencies.
[0055] Figure 10 shows the data exchange within the vehicle 9 in the second embodiment, and corresponds to Figure 4 in the first embodiment. The trajectory calculation device 10A in this embodiment further includes a change point correction unit 17 and a knowledge map 306 in addition to the configuration of the first embodiment. The change point correction unit 17 corrects the change point 303 to a corrected change point 303A using the knowledge map 306. In this modified example, the trajectory generation unit 15 generates the trajectory 304 using the corrected change point 303A. The knowledge map 306 is pre-generated for each combination of parking start position and parking end position.
[0056] Figure 11 shows an example of a knowledge map 306, where the point labeled 901 on the left is the parking start position and the point labeled 903 at the bottom is the parking end position. As shown in the upper right, the arrows in this figure indicate the direction of the vehicle, and the direction of the arrow is unrelated to the direction of travel of the vehicle. In this example, the vehicle moves forward from the parking start position to the vicinity of the point labeled 902 on the right side of the figure, and then reverses to reach the parking end position.
[0057] The change point correction unit 17 corrects the change points 303 using the knowledge map 306 as follows: The change point correction unit 17 extracts knowledge map change points 303M from the knowledge map 306, which are points where the direction of travel of the vehicle changes. If the knowledge map change point 303M is less than a predetermined distance from any of the change points 303, the change point correction unit 17 makes the change point 303 as is without making any corrections and makes it a corrected change point 303A. If the knowledge map change point 303M is at or above a predetermined distance from any of the change points 303, the change point correction unit 17 replaces the knowledge map change point 303M with the position of the closest change point 303 and makes it a corrected change point 303A, while the other change points 303 are made corrected change points 303A without changing their positions.
[0058] According to the second embodiment described above, the following effects can be obtained. (7) The track calculation device 10A includes a change point correction unit 17 that corrects the waypoints output by the machine learning model based on the past driving tendencies of the driver operating the vehicle 9. As a result, a track 304 that is close to the past tendencies of the driver can be generated.
[0059] (8) Past driving trends are recorded in a knowledge map 306 which contains a history of the vehicle's position and orientation from the start of parking to the end of parking.
[0060] (Modification 1 of the second embodiment) Knowledge map 306 may be used in generating the change point prediction unit 14. Figure 12 is a configuration diagram of the model generation system 7A in this modification, and corresponds to Figure 5 in the first embodiment. The model generation system 7A further comprises a change point correction unit 17A and a knowledge map 306. The difference between the change point correction unit 17 in the second embodiment and the change point correction unit 17A in this modification is the processing target, but the processing content is the same. That is, the change point correction unit 17A corrects the change points 303 extracted from the virtual trajectory 510 output by the parking simulator 501 as needed and outputs corrected change points 303A. The model learning unit 508 differs from the first embodiment in that it uses the corrected change points 303A output by the change point correction unit 17A, rather than the change points 303 extracted by the change point extraction unit 507. According to this modification, a change point prediction unit 14 that reflects the user's past driving tendencies recorded in the knowledge map 306 can be generated.
[0061] In the embodiments and modifications described above, the configuration of the functional blocks is merely an example. Several functional configurations shown as separate functional blocks may be integrated, or a configuration represented in one functional block diagram may be divided into two or more functions. Furthermore, some of the functions of each functional block may be provided by other functional blocks.
[0062] In the embodiments and modifications described above, the program is stored in ROM 42, but the program may be stored in a non-volatile storage device (not shown). Furthermore, the trajectory calculation device 10 may be equipped with an input / output interface (not shown), and the program may be read from another device via a medium available to the input / output interface and the trajectory calculation device 10 when needed. Here, the medium refers to, for example, a storage medium detachable from the input / output interface, or a communication medium, i.e., a wired, wireless, or optical network, or a carrier wave or digital signal propagating through such a network. Also, some or all of the functions realized by the program may be realized by hardware circuits or FPGAs.
[0063] The embodiments and modifications described above may be combined in any way. Although various embodiments and modifications have been described above, the present invention is not limited to these. Other embodiments that can be conceivable within the scope of the technical idea of the present invention are also included within the scope of the present invention.
[0064] 3: Vehicle control device 4: Support device 5: User interface 7, 7A: Model generation system 9: Vehicle 10, 10A: Trajectory calculation device 11: Current position calculation unit 12: Parking position calculation unit 13: Parking space estimation unit 14: Change point prediction unit 15: Trajectory generation unit 16: Occupancy map creation unit 17, 17A: Change point correction unit 303: Change point 303A: Corrected change point 304: Trajectory 306: Knowledge map 501: Parking simulator 502: Simulator management unit 503: Position data storage unit 507: Change point extraction unit 508: Model learning unit
Claims
1. A track calculation device for calculating the track of a vehicle, comprising: a machine learning model that takes at least the starting point of the vehicle and the destination point of the vehicle as input and outputs intermediate points which are points along the route from the starting point to the destination point; and a track generation unit that calculates the track from the starting point to the intermediate points and the track from the intermediate points to the destination point.
2. A trajectory calculation device according to claim 1, wherein the machine learning model is further input to the attitude of the vehicle at the starting point and the destination point, and the machine learning model further outputs the attitude of the vehicle at the waypoints.
3. A vehicle control support system comprising: a trajectory calculation device according to claim 1; and a support device that assists the driver of the vehicle in controlling the vehicle based on the trajectory calculated by the trajectory generation unit.
4. A vehicle control system comprising a trajectory calculation device according to claim 1, and a vehicle control device that controls the vehicle based on the trajectory calculated by the trajectory generation unit.
5. A trajectory calculation device according to claim 1, further comprising a correction unit for correcting the waypoints output by the machine learning model based on the past driving trends of the driver operating the vehicle.
6. A trajectory calculation device according to claim 5, wherein the past driving trends are a knowledge map in which the history of the vehicle's position and attitude from the start of parking to the end of parking is recorded.
7. A trajectory calculation device according to claim 1, wherein the starting point is a parking start point, the destination point is a parking end point, and the intermediate points are points where the direction of travel of the vehicle changes.
8. A trajectory calculation method for a computer to calculate the trajectory of a vehicle, comprising: inputting at least the starting point of the vehicle and the destination point of the vehicle into a machine learning model to obtain intermediate points which are points along the route from the starting point to the destination point; and calculating the trajectory from the starting point to the intermediate points and the trajectory from the intermediate points to the destination point.
9. A method for creating a machine learning model according to claim 1, which is executed by a computer, comprising: inputting the starting point and the destination point into a driving simulator and causing it to calculate a trajectory; extracting points in the trajectory where the angle changes significantly as change points; and performing supervised learning so that the change points are output in response to the input of the starting point and the destination point.