Patent ID: 12221099

EMBODIMENTS

Embodiments of the present disclosure will be described below with reference to the attached drawings.

1. First Embodiment

1-1. Outline of Path-Following Control by Autonomous Driving System

FIG.1is a conceptual diagram for explaining path-following control by an autonomous driving system according to the present embodiment. The autonomous driving system is mounted on a vehicle1and controls autonomous driving of the vehicle1. The path-following control is a kind of the autonomous driving control. More specifically, in the path-following control, the autonomous driving system periodically calculates a target path TP for the vehicle1, and controls travel of the vehicle1so as to follow the latest target path TP.

Here, let us define a vehicle coordinate system (X, Y). The vehicle coordinate system is a relative coordinate system fixed to the vehicle1and varies with motion of the vehicle1. That is, the vehicle coordinate system is defined by a position and an orientation of the vehicle1. In the example shown inFIG.1, the X-direction is a front direction of the vehicle1, and the Y-direction is a planar direction orthogonal to the X-direction. However, the vehicle coordinate system is not limited to the example shown inFIG.1.

The path-following control is performed based on the vehicle coordinate system. That is, the autonomous driving system periodically calculates the target path TP in the vehicle coordinate system. Then, the autonomous driving system controls travel of the vehicle1so as to follow the latest target path TP. Controlling the travel of the vehicle1so as to follow the target path TP is hereinafter referred to as “vehicle travel control”.

FIG.2is a conceptual diagram for explaining the vehicle travel control. An example of a positional relationship between the vehicle1and the target path TP in the vehicle coordinate system is shown inFIG.2. In the vehicle travel control, deviation of the vehicle1from the target path TP is controlled to be reduced in order to make the vehicle1follow the target path TP. For that purpose, for example, parameters such as a lateral deviation Ed, an orientation angle difference θd, a curvature of the target path TP, and the like are taken into consideration. The lateral deviation Ed is an Y-direction deviation of the vehicle1from the target path TP. The orientation angle difference θd is a difference in an angle of orientation between the vehicle1and the target path TP. The autonomous driving system can perform the vehicle travel control based on the lateral deviation Ed, the orientation angle difference θd, the curvature of the target path TP, and the like.

The inventors of the present application have recognized the following problem with regard to the path-following control. That is, in the path-following control, control delay may occur due to various factors. The control delay of the path-following control causes decrease in performance of following the target path TP, which is not preferable. The various factors for the control delay include an information communication time, a calculation processing time, an actuator response time, and so forth. Among them, what is considered to most contribute to the control delay is a calculation time required for calculating the target path T, that is, a target path calculation time.

FIG.3is a conceptual diagram for explaining the control delay due to the target path calculation time. At a first timing T1, the autonomous driving system acquires information necessary for calculating the target path TP. The information necessary for calculating the target path TP is hereinafter referred to as “necessary information”. Then, the autonomous driving system calculates a new target path TP based on the acquired necessary information. It takes some time to calculate the target path TP, and thus the calculation of the target path TP is completed at a second timing T2later than the first timing T1. A period from the first timing T1to the second timing T2corresponds to the target path calculation time.

InFIG.3, a first position P1is a position of the vehicle1at the first timing T1. A second position P2is a position of the vehicle1at the second timing T2. A first coordinate system (X1, Y1) is the vehicle coordinate system at the first timing T1, that is, at the first position P1. A second coordinate system (X2, Y2) is the vehicle coordinate system at the second timing T2, that is, at the second position P2. The first coordinate system and the second coordinate system are different from each other by an amount corresponding to the target path calculation time. Therefore, “appearance” of the target path TP differs between in the first coordinate system and in the second coordinate system.

FIG.4shows difference in appearance of the target path TP between the first coordinate system and the second coordinate system. InFIG.4, a first target path TP1represents the target path TP as seen from the first position P1, that is, the target path TP defined in the first coordinate system. On the other hand, a second target path TP2represents the target path TP as seen from the second position P2, that is, the target path TP defined in the second coordinate system. The first target path TP1and the second target path TP2are different from each other by an amount corresponding to the target path calculation time.

Here, let us consider the vehicle travel control (seeFIG.2) by the autonomous driving system. The vehicle travel control based on a new target path TP can be naturally started after the new target path TP is determined, that is, after the second position P2(the second timing T2). When the vehicle travel control is performed after the second position P2, higher control accuracy can be obtained by using the second target path TP2rather than the first target path TP1to perform the vehicle travel control. However, it is impossible to directly calculate the second target path TP2from the necessary information. The reason is that the necessary information is the information acquired at the first position P1(first timing T1). What can be calculated by the use of the necessary information acquired at the first position P1is only the first target path TP1defined in the first coordinate system.

When the first target path TP1defined in the first coordinate system is used to perform the vehicle travel control, control error becomes larger and control accuracy becomes lower as compared with a case where the second target path TP2defined in the second coordinate system is used. In other words, the performance of following the target path TP is decreased. When the path-following performance of the autonomous driving system is decreased, an occupant of the vehicle1feels senses of anxiety and strangeness, which leads to decrease in confidence in the autonomous driving system.

In view of the above, the autonomous driving system according to the present embodiment performs “target path correction processing” that corrects the first target path TP1to the second target path TP2.FIG.5is a conceptual diagram for explaining the target path correction processing in the present embodiment. As described above, the first target path TP1defined in the first coordinate system is calculated from the necessary information acquired at the first position P1(first timing T1). In the target path correction processing, the autonomous driving system performs “coordinate transformation” from the first coordinate system to the second coordinate system to correct (convert) the first target path TP1to the second target path TP2. Complicated computation processing is unnecessary for the coordinate transformation, and it is possible to easily obtain the second target path TP2.

FIG.6shows in a summarized manner the path-following control by the autonomous driving system according to the present embodiment. At the first timing T1(i.e. the first position P1), the autonomous driving system acquires the necessary information. After that, at the second timing T2(i.e. the second position P2), the autonomous driving system completes calculation of the target path TP based on the necessary information at the first position P1, that is, the first target path TP1. Furthermore, the autonomous driving system performs the target path correction processing to correct the calculated first target path TP1to the second target path TP2. Then, the autonomous driving system uses the second target path TP2as the target path TP to perform the vehicle travel control such that the vehicle1follows the second target path TP2.

1-2. Effects

As described above, the autonomous driving system according to the present embodiment performs the target path correction processing in the path-following control. More specifically, the autonomous driving system corrects the first target path TP1defined in the first coordinate system to the second target path TP2defined in the second coordinate system. Influence of the control delay is reduced by the target path correction processing. Therefore, when the second target path TP2after the correction is used to perform the vehicle travel control, the control error becomes smaller and the control accuracy becomes higher as compared with the case where the first target path TP1is used. In other words, the performance of following the target path TP is increased. When the path-following performance of the autonomous driving system is increased, the senses of anxiety and strangeness of the occupant of the vehicle1are reduced, which contributes to increase in confidence in the autonomous driving system.

It should be noted that, in the example shown inFIGS.3to6, the target path calculation time is considered as a representative factor for the control delay. However, the present embodiment is not limited to that. For example, the control delay due to another factor (the information communication time, the actuator response time, and so forth) may be taken into consideration. Alternatively, a part of the target path calculation time may be taken into consideration. When generalized, it is enough that the second timing T2is delayed from the first timing T1by a time corresponding to at least a part of the control delay. Even when the second timing T2is a little later than the first timing T1, the influence of the control delay is somewhat reduced by the target path correction processing according to the present embodiment.

Moreover, complicated computation processing is unnecessary for the target path correction processing according to the present embodiment. It is possible to easily obtain the second target path TP2by performing simple coordinate transformation from the first coordinate system to the second coordinate system.

As a comparative example, let us consider the technique disclosed in the above-mentioned Patent Literature 1. According to the technique, “prediction processing” is necessary for calculating the high-precision second control command value. More specifically, the vehicle motion state and the obstacle state detected by the sensors are used to predict future vehicle motion state and obstacle state. Then, the high-precision second control command value is calculated based on the predicted future vehicle motion state and obstacle state. However, such the prediction processing requires complicated computation processing, which causes increase in computation load, computation time, and computational resource.

On the other hand, according to the present embodiment, the prediction processing as in the comparative example is unnecessary. For example, there is no need to predict the necessary information to be acquired at the future second timing T2in order to calculate the high-precision second target path TP2. It is the necessary information acquired at the first timing T1that is used for calculating the target path TP. The first target path TP1is calculated from the necessary information acquired at the first timing T1, and then the second target path TP2is obtained by the simple coordinate transformation. Since complicated prediction processing is unnecessary, increase in the computation load, computation time, and computational resource is suppressed.

As described above, the autonomous driving system according to the present embodiment can increase the path-following performance with suppressing increase in the computation load. Hereinafter, a concrete configuration example of the autonomous driving system according to the present embodiment will be described.

1-3. Configuration Example of Autonomous Driving System

FIG.7is a block diagram showing a configuration example of the autonomous driving system100according to the present embodiment. The autonomous driving system100is mounted on the vehicle1and controls the autonomous driving of the vehicle1. More specifically, the autonomous driving system100is provided with a GPS (Global Positioning System) receiver10, a map database20, a surrounding situation sensor30, a vehicle state sensor40, a communication device50, a travel device60, and a control device70.

The GPS receiver10receives signals transmitted from a plurality of GPS satellites and calculates a position and an orientation of the vehicle1based on the received signals. The GPS receiver10sends the calculated information to the control device70.

Information indicating a boundary position of each lane on a map is beforehand recorded in the map database20. The boundary position of each lane is represented by a point group or a line group. The map database20is stored in a predetermined storage device.

The surrounding situation sensor30detects a situation around the vehicle1. The surrounding situation sensor30is exemplified by a LIDAR (Laser Imaging Detection and Ranging), a radar, a camera, and the like. The LIDAR uses laser lights to detect a target around the vehicle1. The radar uses radio waves to detect a target around the vehicle1. The camera images a situation around the vehicle1. The surrounding situation sensor30sends the detected information to the control device70.

The vehicle state sensor40detects a travel state of the vehicle1. The vehicle state sensor40is exemplified by a vehicle speed sensor, a steering angle sensor, a yaw rate sensor, a lateral acceleration sensor, and the like. The vehicle speed sensor detects a speed of the vehicle1. The steering angle sensor detects a steering angle of the vehicle1. The yaw rate sensor detects a yaw rate of the vehicle1. The lateral acceleration sensor detects a lateral acceleration of the vehicle1. The vehicle state sensor40sends the detected information to the control device70.

The communication device50performs a V2X communication (i.e. a vehicle-to-vehicle communication and a vehicle-to-infrastructure communication). More specifically, the communication device50performs a V2V communication (a vehicle-to-vehicle communication) with another vehicle. In addition, the communication device50performs a V2I communication (a vehicle-to-infrastructure communication) with a surrounding infrastructure. Through the V2X communication, the communication device50can acquire information on an environment around the vehicle1. The communication device50sends the acquired information to the control device70.

The travel device60includes a steering device, a driving device, a braking device, a transmission, and so forth. The steering device turns wheels. The driving device is a power source that generates a driving force. The driving device is exemplified by an engine and an electric motor. The braking device generates a braking force.

The control device70performs autonomous driving control that controls the autonomous driving of the vehicle1. Typically, the control device70is a microcomputer including a processor, a memory device, and an input/output interface. The control device70is also called an ECU (Electronic Control Unit). The control device70receives a variety of information through the input/output interface. The control device70performs the autonomous driving control based on the received information.

More specifically, the control device70includes an information acquisition unit71and an autonomous driving control unit72as functional blocks. These functional blocks are achieved by the processor of the control device70executing a control program stored in the memory device. The control program may be recorded on a computer-readable recording medium. The information acquisition unit71performs information acquisition processing. The autonomous driving control unit72performs autonomous driving control processing.

FIG.8is a block diagram for explaining the information acquisition processing according to the present embodiment. In the information acquisition processing, the information acquisition unit71acquires information necessary for the autonomous driving control. The information acquisition processing is repeatedly executed every certain cycle.

More specifically, the information acquisition unit71acquires, from the GPS receiver10, position-orientation information81indicating current position and orientation of the vehicle1.

Moreover, the information acquisition unit71reads the information regarding lanes from the map database20to generate lane information82. The lane information82includes a geometry (i.e. position, shape, and orientation) of each lane on a map. Based on the lane information82, the information acquisition unit71can recognize lane merging, lane branching, lane intersecting, and the like. Besides, the information acquisition unit71can also calculate a lane curvature, a lane width, and the like based on the lane information82.

Moreover, the information acquisition unit71generates surrounding situation information83based on the information detected by the surrounding situation sensor30. The surrounding situation information83includes target information regarding the target around the vehicle1. The target is exemplified by a white line, a roadside structure, a surrounding vehicle, and so forth.

Moreover, the information acquisition unit71generates vehicle state information84based on the information detected by the vehicle state sensor40. The vehicle state information84includes information on the speed, the steering angle, the yaw rate, the lateral acceleration, and so forth of the vehicle1.

Moreover, the information acquisition unit71receives delivery information85through communication by the communication device50. The delivery information85is information delivered from the infrastructure and the surrounding vehicle. The delivery information85is exemplified by roadwork section information, accident information, and so forth.

All of the position-orientation information81, the lane information82, the surrounding situation information83, the vehicle state information84, and the delivery information85as exemplified above indicate driving environment for the vehicle1. Information indicating such the driving environment for the vehicle1is hereinafter referred to as “driving environment information80”. That is to say, the driving environment information80includes the position-orientation information81, the lane information82, the surrounding situation information83, the vehicle state information84, and the delivery information85.

It can be said that the information acquisition unit71of the control device70has a function of acquiring the driving environment information80. As shown inFIG.8, the information acquisition unit71together with the GPS receiver10, the map database20, the surrounding situation sensor30, the vehicle state sensor40, and the communication device50constitute an “information acquisition device110”. The information acquisition device110as a part of the autonomous driving system100performs the information acquisition processing described above.

FIG.9is a block diagram for explaining the autonomous driving control processing according to the present embodiment. The autonomous driving control unit72performs autonomous driving control based on the above-described driving environment information80. In particular, the autonomous driving control unit72performs the path-following control as a part of the autonomous driving control. In the path-following control, the autonomous driving control unit72calculates the target path TP of the vehicle1and controls travel of the vehicle1so as to follow the target path TP. The travel of the vehicle1can be controlled by appropriately actuating the travel device60.

The autonomous driving control unit72and the travel device60constitute a “path-following control device120”. The path-following control device120as a part of the autonomous driving system100performs the path-following control. Hereinafter, the path-following control by the path-following control device120according to the present embodiment will be described in more detail.

1-4. Path-Following Control Device

FIG.10is a block diagram showing a functional configuration of the path-following control device120according to the present embodiment. The path-following control device120includes a necessary information acquisition unit121, a target path determination unit122, and a vehicle travel control unit126. The target path determination unit122includes a target path calculation unit123and a target path correction unit124.

FIG.11is a flow chart showing the path-following control by the path-following control device120according to the present embodiment. The path-following control by the path-following control device120according to the present embodiment will be described with reference toFIGS.10and11.

Step S10:

The necessary information acquisition unit121periodically acquires necessary information90through the information acquisition device110. The necessary information90is information necessary for calculating the target path TP and is a part of the driving environment information80described above. For example, the necessary information90includes the position-orientation information81, the lane information82, the surrounding situation information83, and the delivery information85. A timing when the necessary information acquisition unit121acquires the necessary information90is the first timing T1(seeFIGS.3and6). The necessary information acquisition unit121acquires the necessary information90and outputs the necessary information90to the target path determination unit122every first timing T1.

Step S20:

The target path determination unit122determines the target path TP based on the necessary information90acquired at Step S10. More specifically, Step S20includes the following Steps S30to S50.

Step S30:

First, the target path calculation unit123performs target path calculation processing. More specifically, the target path calculation unit123calculates the target path TP based on the necessary information90acquired at Step S10. Various methods of calculating the target path TP have been proposed. In the present embodiment, the method of calculating the target path TP is not limited in particular. The necessary information90is one acquired at the first position P1, and the target path TP calculated based on the necessary information90is the first target path TP1(seeFIG.4) defined in the first coordinate system. That is to say, the target path calculation unit123calculates the first target path TP1based on the necessary information90.

Step S40:

After the first target path TP1is calculated, the target path correction unit124performs the target path correction processing (seeFIG.5). More specifically, the target path correction unit124performs coordinate transformation from the first coordinate system to the second coordinate system to correct (convert) the first target path TP1to the second target path TP2defined in the second coordinate system.

The first coordinate system is the vehicle coordinate system at the first timing T1when the necessary information90is acquired. The second coordinate system is the vehicle coordinate system at the second timing T2later than the first timing T1. A difference between the first coordinate system and the second coordinate system can be calculated, for example, from the position-orientation information81at both the first timing T1and the second timing T2. Alternatively, a difference between the first coordinate system and the second coordinate system can be calculated based on the vehicle state information84(the vehicle speed, the yaw rate, and the like) at the first timing T1and a delay time from the first timing T1to the second timing T2.

It is preferable that the delay time from the first timing T1to the second timing T2is predetermined. In this case, setting information indicating the delay time is beforehand stored in the memory device of the control device70. The target path correction unit124can recognize the delay time and the second timing T2by reference to the setting information. When the delay time from the first timing T1to the second timing T2is predetermined, the target path correction processing is further simplified, which is preferable.

For example, the delay time from the first timing T1to the second timing T2is set to correspond to the target path calculation time (i.e. the time required for the target path calculation unit123to calculate the target path TP). In this case, performing the target path correction processing makes it possible to reduce influence of the control delay caused by the target path calculation time.

Step S50:

The target path determination unit122sets the second target path TP2obtained at Step S40as the target path TP. Then, the target path determination unit122outputs the target path TP to the vehicle travel control unit126.

Step S60:

The vehicle travel control unit126performs the vehicle travel control that controls the travel of the vehicle1so as to follow the target path TP (seeFIGS.2and6). More specifically, based on the parameters such as the lateral deviation Ed, the orientation angle difference θd, the curvature of the target path TP and the like, the vehicle travel control unit126calculates a vehicle control amount for reducing the deviation of the vehicle1from the target path TP. Then, the vehicle travel control unit126actuates the travel device60in accordance with the calculated vehicle control amount.

For example, the travel device60includes a power steering device (EPS: Electric Power Steering) for turning wheels of the vehicle1. It is possible to turn the wheels by performing driving control of a motor of the power steering device. The vehicle travel control unit126calculates a target steering angle required for following the target path TP. In addition, the vehicle travel control unit126acquires an actual steering angle from the vehicle state information84. Then, the vehicle travel control unit126calculates a motor current command value according to a difference between the actual steering angle and the target steering angle, and drives the motor in accordance with the motor current command value. In this manner, the vehicle travel control is achieved.

1-5. Modification Example

The delay time from the first timing T1to the second timing T2is not necessarily limited to the target path calculation time. For example, the delay time from the first timing T1to the second timing T2may be set in consideration of the information communication time, the actuator response time, and the like.

When the delay time from the first timing T1to the second timing T2is the target path calculation time, the delay time may be actually measured, instead of giving a predetermined value as the delay time. More specifically, at the above-described Step S30, the target path calculation unit123measures a processing time of the target path calculation processing and outputs the measurement result to the target path correction unit124. The target path correction unit124can recognize the second timing T2and the second coordinate system based on the measurement result.

2. Second Embodiment

2-1. Outline

The necessary information90necessary for calculating the target path TP is periodically acquired and updated. Every time the necessary information90is updated, the target path TP is determined and updated as well. In the following description, a suffix “k−1” represents the previous and a suffix “k” represent the latest.

FIGS.12and13show an example of updating of the necessary information90and the target path TP. At the previous first timing T1(k−1), the previous necessary information90is acquired. At the previous second timing T2(k−1), the previous target path TP(k−1) is obtained. At the first timing T1(k), the new necessary information90is acquired. At the second timing T2(k), the new target path TP(k) is obtained. That is, the target path TP is updated.

During a period from the first timing T1(k) to the second timing T2(k), the new target path TP(k) is under calculation and not yet determined. Therefore, during the period from the first timing T1(k) to the second timing T2(k), the vehicle travel control is performed based on the previous target path TP(k−1). At the second timing T2(k), the new target path TP(k) is determined. After that, the vehicle travel control can be performed based on the new target path TP(k).

Here, let us consider a case where the previous target path TP(k−1) and the new target path TP(k) are irrelevant to each other and not continuous, as shown inFIG.13. In this case, the vehicle control amount in the vehicle travel control changes discontinuously at a timing when the target path TP is switched. The discontinuous change in the vehicle control amount causes sudden change and disturbance in vehicle behavior and thus gives the occupant of the vehicle1senses of strangeness and anxiety. In view of the above, the second embodiment of the present disclosure proposes target path calculation processing that can suppress the discontinuous change in the vehicle control amount.

FIG.14is a conceptual diagram for explaining the target path calculation processing in the second embodiment. According to the second embodiment, the new target path TP(k) is determined so as to partially overlap the previous target path TP(k−1). More specifically, as shown inFIG.14, the new target path TP(k) is determined such that a certain section from the beginning of the new target path TP(k) overlaps the previous target path TP(k−1). The certain section includes at least a section from the first position P1(k) at the first timing T1(k) to the second position P2(k) at the second timing T2(k).

Due to the target path calculation processing described above, the new target path TP(k) and the previous target path TP(k−1) are connected smoothly. In particular, the new target path TP(k) overlaps the previous target path TP(k−1) in the section from the first position P1(k) to the second position P2(k). Therefore, at the second position P2(k), there is no discontinuity between the previous target path TP(k−1) and the new target path TP(k). Thus, the discontinuous change in the vehicle control amount is suppressed when the target path TP is switched. As a result, sudden change and disturbance in the vehicle behavior are suppressed.

2-2. Path-Following Control Device

FIG.15is a block diagram showing a functional configuration of the path-following control device120according to the second embodiment. An overlapping description with the first embodiment shown inFIG.10will be omitted as appropriate. The path-following control device120according to the second embodiment includes a target path determination unit122A in place of the target path determination unit122. The target path determination unit122A includes a target path calculation unit123A.

FIG.16is a flow chart showing the path-following control by the path-following control device120according to the second embodiment. An overlapping description with the first embodiment shown inFIG.11will be omitted as appropriate. In the second embodiment, Step S20is replaced by Step520A.

Step520A:

The target path determination unit122A determines the target path TP based on the necessary information90acquired at Step S10. More specifically, Step520A includes the following Step530A.

Step S30A:

The target path calculation unit123A performs the target path calculation processing based on the necessary information90and the previous target path TP(k−1). More specifically, the target path calculation unit123A calculates the new target path TP(k) such that a certain section from the beginning of the new target path TP(k) overlaps the previous target path TP(k−1). The certain section includes at least the section from the first position P1(k) to the second position P2(k).

The target path determination unit122A outputs the target path TP(k) calculated at Step530A to the vehicle travel control unit126. The target path TP is switched from the previous target path TP(k−1) to the new target path TP(k), and the vehicle travel control unit126starts the vehicle travel control based on the new target path TP(k). At the switching timing, discontinuous change in the vehicle control amount is suppressed. As a result, sudden change and disturbance in the vehicle behavior are suppressed.

3. Third Embodiment

A third embodiment of the present disclosure is a combination of the first embodiment and the second embodiment. An overlapping description with the first embodiment or the second embodiment will be omitted as appropriate.

FIG.17is a block diagram showing a functional configuration of the path-following control device120according to the third embodiment. The path-following control device120according to the third embodiment includes a target path determination unit122B in place of the target path determination unit122. The target path determination unit122B includes a target path calculation unit123B and a target path correction unit124B.

FIG.18is a flow chart showing the path-following control by the path-following control device120according to the third embodiment. In the third embodiment, Step S20is replaced by Step520B.

Step520B:

The target path determination unit122B determines the target path TP based on the necessary information90acquired at Step S10. More specifically, Step520B includes the following Steps530B to550B.

Step530B:

The target path calculation unit123B performs the target path calculation processing based on the necessary information90and the previous target path TP(k−1). More specifically, the target path calculation unit123B calculates the new target path TP(k) such that a certain section from the beginning of the new target path TP(k) overlaps the previous target path TP(k−1). The certain section includes at least the section from the first position P1(k) to the second position P2(k). The target path TP(k) calculated at Step530B is the first target path TP1(k) defined in the first coordinate system.

Step540B:

After the latest first target path TP1(k) is calculated, the target path correction unit124B performs the target path correction processing (seeFIG.5). More specifically, the target path correction unit124B performs coordinate transformation from the first coordinate system to the second coordinate system to correct the first target path TP1(k) to the second target path TP2(k) defined in the second coordinate system.

Step550B:

The target path determination unit122B sets the second target path TP2(k) obtained at Step540B as the target path TP. Then, the target path determination unit122B outputs the target path TP to the vehicle travel control unit126.

According to the third embodiment, both of the effects by the first embodiment and the effects by the second embodiment are obtained.