Patent Description:
The present invention relates to an automated driving system installed on a vehicle.

A technique of performing automated driving control of a vehicle by using a machine learning model is known. Patent Literature <NUM> discloses a method for collecting training data that can be used for training of a machine learning model. In addition, the following Patent Literatures <NUM> and <NUM> are documents showing the technical level of the present technical field.

As a method for ex-post fact assessment of automated driving control of a vehicle, it is containable to store log data related to the automated driving control in an in-vehicle storage device. However, since the capacity of the in-vehicle storage device is limited, the capacity may be strained depending on the situation. If the capacity is strained, there is a possibility that necessary log data will not be able to be recorded.

An object of the present invention is, in view of the above problems, to provide a technique capable of suppressing the capacity of a storage device from being strained.

One aspect of the present invention is directed to an automated driving system.

The one or more processors are further configured to execute:.

According to the present invention, when the free capacity of the storage device is less than the threshold value, the control parameter is adjusted to restrict the traveling of the vehicle. This makes it possible to reduce the amount of log data stored in the storage device. In addition, it is possible to suppress the capacity of the storage device from being strained.

An automated driving system according to the present embodiment is installed in a vehicle and performs automated driving control of the vehicle.

<FIG> is a diagram showing an example of a configuration related to automated driving control of a vehicle <NUM> by an automated driving system according to the present embodiment. The automated driving is to automatically perform at least one of steering, acceleration, and deceleration of the vehicle <NUM> without depending on a driving operation performed by an operator. The automated driving control is a concept including not only complete automated driving control but also risk avoidance control, lane keep assist control, and the like. The operator may be a driver on board the vehicle <NUM> or may be a remote operator who remotely operates the vehicle <NUM>.

The vehicle <NUM> includes a sensor group <NUM>, a recognition unit <NUM>, a planning unit <NUM>, a control amount calculation unit <NUM>, and a travel device <NUM>.

The sensor group <NUM> includes a recognition sensor <NUM> used for recognizing a situation around the vehicle <NUM>. Examples of the recognition sensor <NUM> include a camera, a laser imaging detection and ranging (LIDAR), a radar, and the like. The sensor group <NUM> may further include a state sensor <NUM> that detects a state of the vehicle <NUM>, a position sensor <NUM> that detects a position of the vehicle <NUM>, and the like. Examples of the state sensor <NUM> include a speed sensor, an acceleration sensor, a yaw rate sensor, a steering angle sensor, and the like. As the position sensor <NUM>, a global navigation satellite system (GNSS) sensor is exemplified.

Sensor detection information SEN is information acquired by the use of the sensor group <NUM>. For example, the sensor detection information SEN includes image data captured (taken) by the camera. Alternatively, the sensor detection information SEN may include information (e.g., relative position, relative velocity, shape, and the like) regarding a specific object appearing in the image (e.g., a pedestrian, a preceding vehicle, a white line, a bicycle, a road sign, and the like). Also, for example, the sensor detection information SEN may include point group data acquired by the LIDAR. Also, for example, the sensor detection information SEN may include information on a relative position and a relative velocity of objects detected by the radar. The sensor detection information SEN may include vehicle state information indicating the state of the vehicle <NUM>. The sensor detection information SEN may include position information indicating the position of the vehicle <NUM>.

The recognition unit <NUM> receives the sensor detection information SEN. The recognition unit <NUM> recognizes a situation around the vehicle <NUM> based on the information acquired by the recognition sensor <NUM>. For example, the recognition unit <NUM> recognizes the position of an object around the vehicle <NUM> on the special map. Examples of the object include a pedestrian, another vehicle (e.g., a preceding vehicle, a parked vehicle, and the like), a white line, a road structure (e.g., a guard rail, a curb, and the like), a fallen object, a traffic light, an intersection, a sign, and the like. Furthermore, the recognition unit <NUM> may perform prediction of the behavior of an object around the vehicle <NUM>. Recognition result information RES indicates a result of recognition by the recognition unit <NUM>.

The planning unit <NUM> receives the recognition result information RES from the recognition unit <NUM>. In addition, the planning unit <NUM> may receive the vehicle state information, the position information, and map information generated in advance. The map information may be high-precision three-dimensional map information. The planning unit <NUM> generates a travel plan of the vehicle <NUM> based on the received information. The travel plan may be one for arriving at a destination set in advance. The travel plan may be one for avoiding a risk. The travel plan provides driving decisions such as, for example, maintaining a current travel lane, making a lane change, overtaking, making a right or left turn, steering, accelerating, decelerating, stopping, and the like. Further, the planning unit <NUM> generates a target trajectory TRJ required for the vehicle <NUM> to travel in accordance with the travel plan. The target trajectory TRJ includes a target position and a target velocity.

The control amount calculation unit <NUM> receives the target trajectory TRJ from the planning unit <NUM>. The control amount calculation unit <NUM> calculates a control amount CON required for the vehicle <NUM> to follow the target trajectory TRJ. It can be also said that the control amount CON is a control amount required for reducing a deviation of the vehicle <NUM> from the target trajectory TRJ. The control amount CON includes at least one of a steering control amount, a driving control amount, and a braking control amount. Examples of the steering control amount include a target steering angle, a target steering torque, a target motor angle, a target motor drive current, and the like. Examples of the driving control amount include a target driving force, a target engine torque, and the like. Examples of the braking control amount include a target braking force, a target braking torque, and the like.

The travel device <NUM> includes a steering device <NUM>, a driving device <NUM>, and a braking device <NUM>. The steering device <NUM> steers wheels of the vehicle <NUM>. For example, the steering device <NUM> includes an electric power steering (EPS) device. The driving device <NUM> is a power source that generates a driving force. Examples of the driving device <NUM> include an engine, an electric motor, an in-wheel motor, and the like. The braking device <NUM> generates a braking force. The travel device <NUM> receives the control amount CON from the control amount calculation unit <NUM>. The travel device <NUM> operates the steering device <NUM>, the driving device <NUM>, and the braking device <NUM> in accordance with the steering control amount, the driving control amount, and the braking control amount, respectively. Thus, the vehicle <NUM> travels so as to follow the target trajectory TRJ.

The recognition unit <NUM> includes at least one of a rule-based model and a machine learning model. The rule-based model performs the recognition process based on a predetermined rule group. Examples of the machine learning model include a neural network (NN), a support vector machine (SVM), a regression model, a decision tree model, and the like. The NN may be a convolutional neural network (CNN), a recurrent neural network (RNN), or a combination of CNN and RNN. The type of each layer, the number of layers, and the number of nodes in the NN are arbitrary. The machine learning model is generated in advance through machine learning. The recognition unit <NUM> performs the recognition process by inputting the sensor detection information SEN into the model. The recognition result information RES is output from the model or generated based on the output from the model.

Similarly, the planning unit <NUM> also includes at least one of a rule-based model and a machine learning model. The planning unit <NUM> performs the planning process by inputting the recognition result information RES into the model. The target trajectory TRJ is output from the model or generated based on the output from the model.

Similarly, the control amount calculation unit <NUM> also includes at least one of a rule-based model and a machine learning model. The control amount calculation unit <NUM> performs the control amount calculation process by inputting the target trajectory TRJ into the model. The control amount CON is output from the model or generated based on the output from the model.

Two or more of the recognition unit <NUM>, the planning unit <NUM>, and the control amount calculation unit <NUM> may have an integrated architecture. All of the recognition unit <NUM>, the planning unit <NUM>, and the control amount calculation unit <NUM> may have an integrated architecture (End-to-End architecture). For example, the recognition unit <NUM> and the planning unit <NUM> may have an integrated architecture that generates and outputs the target trajectory TRJ directly from the sensor detection information SEN. Even in the case of the integrated architecture, intermediate products such as the recognition result information RES and the target trajectory TRJ may be output. For example, in a case where the recognition unit <NUM> and the planning unit <NUM> have an integrated architecture based on a NN, the recognition result information RES may be an output from an intermediate layer of the NN.

The recognition unit <NUM>, the planning unit <NUM>, and the control amount calculation unit <NUM> constitute an "automated driving control unit" that controls the automated driving of the vehicle <NUM>. The automated driving control unit has a control parameter related to the processing content for each of the recognition unit <NUM>, the planning unit <NUM>, and the control amount calculation unit <NUM>. Examples of the control parameter related to the recognition unit <NUM> include a parameter for determining a type of an object to be recognized, a parameter for determining a range in which recognition is performed, a parameter for determining a prediction period of the prediction of behavior, and the like. Examples of the control parameter related to the planning unit <NUM> include a parameter for determining the maximum vehicle speed of the vehicle <NUM>, a parameter for determining an inter-vehicle distance in the automated driving control, a parameter for determining a type of driving decisions given in a travel plan, and the like. Examples of the control parameter related to the control amount calculation unit <NUM> include a parameter for determining an upper limit of an acceleration, a deceleration, a steering angular acceleration, and the like of the vehicle <NUM>.

The automated driving control unit performs the automated driving control of the vehicle <NUM> in accordance with the set control parameter. For example, the automated driving control unit switches models to function depending on the control parameter. Also, for example, the automated driving control unit is configured such that the model functions with reference to the control parameter.

<FIG> is a diagram showing an example of a hardware configuration of an automated driving system <NUM> according to the present embodiment. The automated driving system <NUM> has at least the function of the automated driving control unit described above. The automated driving system <NUM> may further include the sensor group <NUM> and the travel device <NUM>.

The automated driving system <NUM> includes one or more processors <NUM> (hereinafter, simply referred to as a processor <NUM> or processing circuitry) and one or more storage devices <NUM> (hereinafter, simply referred to as a storage device <NUM>).

The processor <NUM> executes a variety of processing. The processor <NUM> may be configured with a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and the like. The storage device <NUM> stores a variety of information necessary for the processor <NUM> to execute processing. The storage device <NUM> may be configured with a read only memory (ROM), a random-access memory (RAM), a hard disk drive (HDD), a solid state drive (SSD), and the like.

The storage device <NUM> stores a computer program <NUM>, a control parameter <NUM>, and log data LOG.

A computer program <NUM> is executed by the processor <NUM>. The variety of processing by the automated driving system <NUM> may be implemented by a cooperation of the processor <NUM> executing the computer program <NUM> and the storage device <NUM>. In particular, a recognition unit <NUM>, a planning unit <NUM>, and a control amount calculation unit <NUM> may be implemented. In this case, the model included in the recognition unit <NUM>, the planning unit <NUM>, and the control amount calculation unit <NUM> may be a part of the computer program <NUM>. The recognition unit <NUM>, the planning unit <NUM>, and the control amount calculation unit <NUM> may be implemented by a single processor <NUM> or may be respectively implemented by separate processors <NUM>.

The control parameter <NUM> is a parameter related to the processing content of the automated driving control unit as described above. The processor <NUM> executes the computer program <NUM> with reference to the control parameter <NUM>. Thereby, the automated driving control unit that performs automated driving control of the vehicle <NUM> in accordance with the control parameter <NUM> is realized.

While performing the automated driving control, the processor <NUM> acquires "log data LOG" related to the automated driving control. The processor <NUM> stores the acquired log data LOG in the storage device <NUM>. It is expected that the stored log data LOG is used for verification of the automated driving control. The log data LOG may include the sensor detection information SEN that is input to the automated driving control unit. The log data LOG may include the control amount CON that is output from the automated driving control unit. The log data LOG may include the recognition result information RES that is output from the recognition unit <NUM>. The log data LOG may include the target trajectory TRJ that is output from the planning unit <NUM>. The log data LOG may include a reason for determination in the recognition process performed by the recognition unit <NUM>. The log data LOG may include a reason for determination in the planning process performed by the planning unit <NUM>. The log data LOG may include presence or absence of an operator's intervention in the automated driving control.

As described above, in the automated driving system <NUM>, the processor <NUM> stores the log data LOG related to the automated driving control in the storage device <NUM> for subsequent verification of the automated driving control. In order to appropriately verify the automated driving control in the event that some situation occurs, it is desirable that all stored log data LOG be retained until one process of autonomous driving is completed. However, the capacity of the storage device <NUM> provided in the vehicle <NUM> is limited. Therefore, the capacity may be strained depending on the situation of the automated driving control. If the capacity is strained, there is a possibility that necessary log data LOG will not be able to be recorded.

Therefore, in the automated driving system <NUM> according to the present embodiment, the processor <NUM> adjusts the control parameter to restrict the traveling of the vehicle <NUM> when the free capacity of the storage device <NUM> is less than a predetermined threshold value.

It is known that the amount of data in the log data LOG collected while performing the automated driving control is relatively small when the vehicle <NUM> is traveling steadily. But conversely, the amount of data in the log data LOG collected while performing the automated driving control becomes significantly larger when some event occurs in the automated driving control. This is because when an event occurs, data associated with the execution of processing corresponding to the event is collected as the log data LOG. Examples of the event that occurs in the automated driving control include when it is determined that it is necessary to avoid an object, when it is determined that it is necessary to operate a collision avoidance system, when it is determined that it is necessary to overtake a preceding vehicle, when it is determined that a lane change is necessary, and the like.

Such an event is considered to be more likely to occur as the change in the traveling state or the traveling environment of the vehicle <NUM> is larger. For example, when the vehicle <NUM> suddenly accelerates or suddenly steers, an event associated with the sudden appearance of a recognized object is more likely to occur. Therefore, by restricting the traveling of the vehicle <NUM>, it is possible to suppress the occurrence of an event in which the amount of data in the log data LOG increases. The automated driving system <NUM> according to the present embodiment can suppress the capacity of the storage device <NUM> from being strained based on the above viewpoint.

<FIG> is a flowchart showing an example of processing executed by the processor <NUM>. The processor <NUM> may be configured to repeatedly execute the processing according to the flowchart shown in <FIG> at a predetermined processing cycle while performing the automated driving control.

First, in step S110, the processor <NUM> acquires the free capacity of the storage device <NUM>.

Next, in step S120, the processor <NUM> determines whether or not the free capacity of the storage device <NUM> is less than a predetermined threshold value. The threshold value may be set to, for example, a value at which it is expected that the log data LOG cannot be recorded if some event occurs. The processor <NUM> may be configured to change the threshold value depending on the expected traveling time or the traveling environment.

When the free capacity is equal to or greater than the threshold value (step S120; No), the processor <NUM> ends the current process without adjusting the control parameter <NUM>. When the free capacity is less than the threshold value (step S120; Yes), the processing proceeds to step S130.

In step S130, the processor <NUM> adjusts the control parameter <NUM> to restrict the traveling of the vehicle <NUM>. After step S130, the processor <NUM> ends the current process.

Regarding the adjustment of the control parameter <NUM>, the following embodiments can be considered.

The first embodiment is to adjust a parameter that defines an upper limit of an acceleration or a steering angular acceleration of the vehicle <NUM>. In this case, the processor <NUM> adjusts the control parameter <NUM> to decrease the upper limit depending on the free capacity of the storage device <NUM>. In particular, the processor <NUM> may be configured to decrease the upper limit to be smaller as the free capacity decreases. The processor <NUM> may adjust the control parameter <NUM> according to a map that provides a set value of the upper limit with respect to the free capacity, for example. <FIG> is a diagram showing an example of a map for providing a set value of the upper limit with respect to the free capacity. According to the map shown in <FIG>, the processor <NUM> continuously decreases the set value of the upper limit as the free capacity decreases within a certain range in which the free capacity is less than the threshold value. However, the processor <NUM> may be configured to decrease the set value of the upper limit in a stepwise manner.

By decreasing the upper limit of the acceleration or the steering angular acceleration, it is possible to restrict the vehicle <NUM> from being suddenly accelerated or suddenly steered in the automated driving control. As a result, the occurrence of an event can be effectively suppressed.

The second embodiment is to adjust a parameter that determines a maximum vehicle speed of the vehicle <NUM>. In this case, the processor <NUM> adjusts the control parameter <NUM> to decrease the maximum vehicle speed depending on the free capacity of the storage device <NUM>. In particular, the processor <NUM> may be configured to decrease the upper limit to be smaller as the free capacity decreases. Similar to the first embodiment, the processor <NUM> may adjust the control parameter <NUM> according to a map for providing a set value of the maximum vehicle speed with respect to free capacity, for example.

By decreasing the maximum vehicle speed, the vehicle <NUM> can travel slowly in the automated driving control. As a result, the occurrence of an event can be effectively suppressed.

The third embodiment is to adjust a parameter that defines an inter-vehicle distance in the automated driving control. In this case, the processor <NUM> adjusts the control parameter <NUM> to increase the inter-vehicle distance depending on the free capacity of the storage device <NUM>. In particular, the processor <NUM> may be configured to increase the inter-vehicle distance to be larger as the free capacity decreases. The processor <NUM> may adjust the control parameter <NUM> according to a map for providing a set value of the inter-vehicle distance with respect to the free capacity, for example. <FIG> is a diagram showing an example of a map for providing a set value of the inter-vehicle distance with respect to the free capacity. According to the map shown in <FIG>, the processor <NUM> continuously increases the set value of the inter-vehicle distance as the free capacity decreases in a certain range in which the free capacity is less than the threshold value. However, the processor <NUM> may be configured to increase the set value of the inter-vehicle distance in a stepwise manner.

By increasing the inter-vehicle distance, it is possible to allow the vehicle <NUM> to travel with a margin in the automated driving control. As a result, the occurrence of an event can be effectively suppressed.

As described above, according to the present embodiment, when the free capacity of the storage device <NUM> is less than the predetermined threshold value, the control parameter is adjusted to restrict the traveling of the vehicle <NUM>. It is thus possible to suppress the occurrence of an event that increases the amount of data in the log data LOG. As a result, it is possible to suppress the capacity of the storage device <NUM> from being strained.

Claim 1:
An automated driving system (<NUM>) comprising:
one or more processors (<NUM>) configured to perform automated driving control of a vehicle (<NUM>) in accordance with a control parameter (<NUM>); and
one or more storage devices (<NUM>), wherein
the one or more processors (<NUM>) are further configured to execute:
storing log data (LOG) related to the automated driving control in the one or more storage devices (<NUM>) while performing the automated driving control; and
characterized in that:
when a free capacity of the one or more storage devices (<NUM>) is less than a threshold value, adjusting the control parameter (<NUM>) to restrict traveling of the vehicle (<NUM>).