Patent Description:
<CIT> and <CIT> each disclose an example of a controller that includes an arbiter unit. The arbiter unit arbitrates requests from application requesting units, which perform a driver assistance function. Based on a result of arbitration, the controller derives command values to be sent to controlling units that respectively control multiple actuators. <CIT> discloses a vehicle controller having the features of the preamble of claim <NUM> and a vehicle control method having the features of the preamble of claim <NUM>.

In some cases, the driver operates an accelerator even in a case in which the traveling speed of the vehicle is controlled based on a request from at least one of the application requesting units. If the driver requests acceleration of the vehicle through such an operation of the vehicle, such a request for acceleration by the driver needs to be reflected on the arbitration by the arbiter unit.

In one general aspect of the present invention, a vehicle controller controls a traveling speed of a vehicle based on request values related to a longitudinal acceleration of the vehicle when receiving the request values from a driver assistance device. The vehicle controller is configured to receive, as the request values, a request value that defines an upper limit of the longitudinal acceleration and a request value that defines a lower limit of the longitudinal acceleration from the driver assistance device. The vehicle controller includes a setting unit, a first arbiter unit, a second arbiter unit, and a commanding unit. When obtaining the request value that defines the upper limit of the longitudinal acceleration, the setting unit sets an upper limit request value to a value that corresponds to the obtained request value. When obtaining the request value that defines the lower limit of the longitudinal acceleration, the setting unit sets a lower limit request value to a value that corresponds to the obtained request value. When a driver of the vehicle is requesting acceleration of the vehicle through an operation of the vehicle, the setting unit sets an acceleration request value to a request value related to the longitudinal acceleration that corresponds to an amount of the operation of the vehicle. The first arbiter unit sets a first arbitration request value to a greater one of the lower limit request value and the acceleration request value. The second arbiter unit sets a second arbitration request value to a smaller one of the first arbitration request value and the upper limit request value. The commanding unit sets, to a value that corresponds to the second arbitration request value, a command value sent to an actuator that operates to adjust the traveling speed.

In another general aspect of the present invention, a vehicle control method controls a traveling speed of a vehicle based on request values related to a longitudinal acceleration of the vehicle, the request values being provided by a driver assistance device. The request values include a request value that defines an upper limit of the longitudinal acceleration and a request value that defines a lower limit of the longitudinal acceleration. The vehicle control method includes: when the request value that defines the upper limit of the longitudinal acceleration is obtained, setting an upper limit request value to a value that corresponds to the obtained request value; when the request value that defines the lower limit of the longitudinal acceleration is obtained, setting a lower limit request value to a value that corresponds to the obtained request value; when a driver of the vehicle is requesting acceleration of the vehicle through an operation of the vehicle, setting an acceleration request value to a request value related to the longitudinal acceleration that corresponds to an amount of the operation of the vehicle; setting a first arbitration request value to a greater one of the lower limit request value and the acceleration request value; setting a second arbitration request value to a smaller one of the first arbitration request value and the upper limit request value; and setting, to a value that corresponds to the second arbitration request value, a command value sent to an actuator that operates to adjust the traveling speed.

A vehicle controller according to one embodiment will now be described with reference to <FIG>.

<FIG> partially illustrates a vehicle <NUM> equipped with a travel controller <NUM>, which is one example of the vehicle controller.

The vehicle <NUM> includes wheels <NUM> and friction brakes <NUM>, of which the number is the same as that of the wheels <NUM>. The friction brakes <NUM> are braking mechanisms that generate frictional braking force at the wheels <NUM>. Each friction brake <NUM> includes a rotor <NUM>, which rotates integrally with the wheel <NUM>, frictional members <NUM>, and a wheel cylinder <NUM>. When a WC pressure, which is liquid pressure in the wheel cylinder <NUM>, is produced, the frictional members <NUM> are pressed against the rotor <NUM>. This applies frictional braking force to the wheel <NUM>. As the WC pressure increases, the force with which the frictional members <NUM> are pressed against the rotor <NUM> increases. Accordingly, the frictional braking force is increased.

The braking device <NUM> of the vehicle <NUM> includes a brake actuator <NUM>, which supplies brake fluid to the wheel cylinders <NUM> of the friction brakes <NUM>, and a brake controlling unit <NUM>, which controls the brake actuator <NUM>. The brake controlling unit <NUM> controls the brake actuator <NUM> so as to adjust the WC pressure in each wheel cylinder <NUM>. That is, the brake controlling unit <NUM> adjusts the frictional braking force of the vehicle <NUM> by adjusting the WC pressure in the wheel cylinders <NUM>. The frictional braking force of the vehicle <NUM> is the sum of the frictional braking forces applied to the wheels <NUM>. In the present embodiment, the brake actuator <NUM> corresponds to an actuator that operates to adjust the frictional braking force of the vehicle <NUM>, and the brake controlling unit <NUM> corresponds to a controlling unit that controls an actuator for braking.

A driving device <NUM> of the vehicle <NUM> includes a motor-generator <NUM>, which is a drive source of the vehicle <NUM>, and a drive controlling unit <NUM>, which controls the motor-generator <NUM>. Driving force of the motor-generator <NUM> is transmitted to the wheels <NUM>, so that the vehicle <NUM> travels. As such, the motor-generator <NUM> corresponds to an actuator that operates to adjust the driving force of the vehicle <NUM>, and the drive controlling unit <NUM> corresponds to a controlling unit that controls an actuator for driving the vehicle <NUM>.

The vehicle <NUM> receives a longitudinal force when traveling. When the longitudinal force has a positive value, the vehicle <NUM> accelerates. When the longitudinal force has a negative value, the vehicle <NUM> decelerates. That is, the driving force of the vehicle <NUM> can be regarded as a positive longitudinal force, and the braking force of the vehicle <NUM> can be regarded as a negative longitudinal force. As such, the sum of the driving force and braking force of the vehicle <NUM> is referred to as a longitudinal force F in the present embodiment. When the absolute value of the driving force of the vehicle <NUM> is greater than the absolute value of the braking force so that the longitudinal force F has a positive value, the vehicle <NUM> accelerates. When the absolute value of the driving
force of the vehicle <NUM> is less than the absolute value of the braking force so that the longitudinal force F has a negative value, the vehicle <NUM> decelerates.

The vehicle <NUM> includes multiple sensors that form a detecting system. For example, the vehicle <NUM> includes a wheel speed sensor SE1, a longitudinal acceleration sensor SE2, an accelerator operated amount sensor SE3, and a brake operated amount sensor SE4. The wheel speed sensor SE1 detects a rotation speed of a wheel <NUM> as a wheel speed Vw. The longitudinal acceleration sensor SE2 detects a detected acceleration value Gs, which is a longitudinal acceleration of on the vehicle <NUM>. The accelerator operated amount sensor SE3 detects an accelerator operated amount Aa, which is an operated amount of an accelerator pedal <NUM> by the driver. The brake operated amount sensor SE4 detects a brake operated amount Ba, which is an operated amount of a brake pedal <NUM> by the driver. Signals corresponding to detected results of the sensors SE1 to SE4 are input to the travel controller <NUM>.

The vehicle <NUM> includes an interior monitoring system <NUM>, which is a detecting system. The interior monitoring system <NUM> monitors the condition of the driver of the vehicle <NUM>. The interior monitoring system <NUM> includes, for example, an image capturing device that captures an image of the driver's face. In this case, the interior monitoring system <NUM> analyzes images captured by the image capturing device, thereby estimating whether the driver is conscious. The interior monitoring system <NUM> outputs such analysis results to the travel controller <NUM>.

The analysis results by the interior monitoring system <NUM> are used to determine whether the driver has lost the ability to drive the vehicle <NUM>. The interior monitoring system <NUM> may include a device other than the image capturing device as long as the interior monitoring system <NUM> can output information used to perform the determination to the travel controller <NUM>.

The vehicle <NUM> includes a driver assistance device <NUM> in addition to the travel controller <NUM>.

The driver assistance device <NUM> includes a CPU, a first memory unit, and a second memory unit. The first memory unit includes a ROM that stores control programs executed by the CPU. The second memory unit stores calculation results of the CPU.

The driver assistance device <NUM> is not limited to processing circuitry that includes a CPU and a ROM and executes software processing. That is, the driver assistance device <NUM> may be modified as long as it has any one of the following configurations (a) to (c).

The driver assistance device <NUM> functions as several types of application requesting units by causing the CPU to execute control programs. The application requesting units are functional units that perform a driver assistance function for supporting the driver in driving the vehicle <NUM>. The application requesting units output request values for performing the driver assistance function to the travel controller <NUM>.

In the present embodiment, the driver assistance function adjusts the longitudinal acceleration of the vehicle <NUM>. The driver assistance function includes adaptive cruise control, downhill assist control, collision mitigation braking, and autonomous driving.

The request values output by the application requesting units are request values related to the longitudinal acceleration of the vehicle <NUM>. In the present embodiment, the application requesting units output a request value of the longitudinal force F as the request value related to the longitudinal acceleration. The request values output by the driver assistance device <NUM> to the travel controller <NUM> include a request value that determines an upper limit of the longitudinal acceleration of the vehicle <NUM> and a request value that determines a lower limit of the longitudinal acceleration of the vehicle <NUM>.

The application requesting units include a first application requesting unit, which outputs a request value R1. The application requesting units include a second application requesting unit, which outputs a request value R2.

The travel controller <NUM> includes a CPU, a first memory unit, and a second memory unit. The first memory unit includes a ROM that stores control programs executed by the CPU. The second memory unit stores calculation results of the CPU.

The travel controller <NUM> is not limited to a device that includes a CPU and a ROM and executes software processing. That is, the travel controller <NUM> may be modified as long as it has any one of the above-described configurations (a) to (c).

The travel controller <NUM> functions as several types of functional units by causing the CPU to execute control programs.

A functional configuration of the travel controller <NUM> will now be described with reference to <FIG>.

The travel controller <NUM> functions as a drive request value calculating unit <NUM>. The drive request value calculating unit <NUM> calculates a value greater than or equal to <NUM> as an acceleration request value Rx1. The drive request value calculating unit <NUM> calculates the acceleration request value Rx1 such that the acceleration request value Rx1 increases as the accelerator operated amount Aa increases.

The travel controller <NUM> functions as a braking request value calculating unit <NUM>. The braking request value calculating unit <NUM> calculates a value less than or equal to <NUM> as a deceleration request value Rz1. That is, the braking request value calculating unit <NUM> calculates the deceleration request value Rz1 such that the deceleration request value Rz1 decreases as the brake operated amount Ba increases.

The travel controller <NUM> functions as a determining unit <NUM>. The determining unit <NUM> determines whether the driver has lost the ability to drive the vehicle <NUM> based on information delivered by the interior monitoring system <NUM>. For example, the determining unit <NUM> determines that the driver has lost the ability to drive the vehicle <NUM> when the driver is unconscious such as when the driver is asleep.

The travel controller <NUM> functions as a setting unit <NUM>. The setting unit <NUM> sets an upper limit request value Rj, a lower limit request value Rk, an acceleration request value Rx, a deceleration request value Rz, and a replacement request value Rt.

With reference to <FIG>, a processing routine executed by the travel controller <NUM> functioning as the setting unit <NUM> will be described. This processing routine is executed at predetermined control cycles.

In the first step S11 of this processing routine, the setting unit <NUM> determines whether it has obtained an upper limit setting request value from the driver assistance device <NUM>. The upper limit setting request value defines an upper limit of the longitudinal acceleration of the vehicle <NUM>. If the setting unit <NUM> has obtained the upper limit setting request value from the driver assistance device <NUM> (S11: YES), the setting unit <NUM> advances the process to step S13. In step S13, the setting unit <NUM> sets the upper limit request value Rj to a value that corresponds to the upper limit setting request value, which has been obtained from the driver assistance device <NUM>. For example, if only one upper limit setting request value has been delivered from the driver assistance device <NUM>, the setting unit <NUM> sets the upper limit request value Rj to the upper limit setting request value. Also, if two or more upper limit setting request values have been delivered from the driver assistance device <NUM>, the setting unit <NUM> sets the upper limit request value Rj to the minimum value of the upper limit setting request values delivered from the driver assistance device <NUM>. The setting unit <NUM> then advances the process to step S15.

If the setting unit <NUM> has not obtained the upper limit setting request value from the driver assistance device <NUM> in step S11 (NO), the setting unit <NUM> advances the process to step S15 without setting the upper limit request value Rj.

In step S15, the setting unit <NUM> determines whether it has obtained a lower limit setting request value from the driver assistance device <NUM>. The lower limit setting request value defines a lower limit of the longitudinal acceleration of the vehicle <NUM>. If the setting unit <NUM> has obtained the lower limit setting request value from the driver assistance device <NUM> (S15: YES), the setting unit <NUM> advances the process to step S17. In step S17, the setting unit <NUM> sets the lower limit request value Rk to a value that corresponds to the lower limit setting request value, which has been obtained from the driver assistance device <NUM>. For example, if only one lower limit setting request value has been delivered from the driver assistance device <NUM>, the setting unit <NUM> sets the lower limit request value Rk to the lower limit setting request value. Also, if two or more lower limit setting request values have been delivered from the driver assistance device <NUM>, the setting unit <NUM> sets the lower limit request value Rk to the minimum value of the lower limit setting request values. The setting unit <NUM> then advances the process to step S19.

If the setting unit <NUM> has not obtained the lower limit setting request value from the driver assistance device <NUM> in step S15 (NO), the setting unit <NUM> advances the process to step S19 without setting the lower limit request value Rk.

In step S19, the setting unit <NUM> determines whether the driver has requested acceleration of the vehicle <NUM> through operation of the vehicle <NUM>. The setting unit <NUM> determines whether the driver has requested acceleration of the vehicle <NUM> through operation of the vehicle <NUM> based on at least one of the acceleration request value Rx1, which has been calculated by the drive request value calculating unit <NUM>, and the accelerator operated amount Aa. When determining that the driver has requested acceleration of the vehicle <NUM> through operation of the vehicle <NUM> (S19: YES), the setting unit <NUM> advances the process to step S21. In step S21, the setting unit <NUM> sets the acceleration request value Rx to the acceleration request value Rx1. The setting unit <NUM> then advances the process to step S23.

When determining that the driver has not requested acceleration of the vehicle <NUM> through operation of the vehicle <NUM> in step S19 (NO), the setting unit <NUM> advances the process to step S23 without setting the acceleration request value Rx.

In step S23, the setting unit <NUM> determines whether the driver has requested deceleration of the vehicle <NUM> through operation of the vehicle <NUM>. The setting unit <NUM> determines whether the driver has requested deceleration of the vehicle <NUM> through operation of the vehicle <NUM> based on at least one of the deceleration request value Rz1, which has been calculated by the braking request value calculating unit <NUM>, and the brake operated amount Ba. When determining that the driver has requested deceleration of the vehicle <NUM> through operation of the vehicle <NUM> (S23: YES), the setting unit <NUM> advances the process to step S25. In step S25, the setting unit <NUM> sets the deceleration request value Rz to the deceleration request value Rz1. The setting unit <NUM> then advances the process to step S27.

When determining that the driver has not requested deceleration of the vehicle <NUM> through operation of the vehicle <NUM> in step S23 (NO), the setting unit <NUM> advances the process to step S27 without setting the deceleration request value Rz.

In step S27, the setting unit <NUM> determines whether the determining unit <NUM> has determined that the driver has lost the ability to drive the vehicle <NUM>. If the determining unit <NUM> has determined that the driver has lost the ability to drive the vehicle <NUM> (S27: YES), the setting unit <NUM> advances the process to step S29. In step S29, the setting unit <NUM> sets the replacement request value Rt. The replacement request value Rt is set to a value that is unrelated to the amount of operation of the vehicle <NUM> by the driver. That is, even if the accelerator pedal <NUM> or the brake pedal <NUM> is operated by the driver, the replacement request value Rt is set to a value unrelated to the accelerator operated amount Aa or the brake operated amount Ba. For example, the replacement request value Rt is set to a value that allows the vehicle <NUM> to be stopped while ensuring the safety of the vehicle <NUM>. In this case, the setting unit <NUM> preferably sets the replacement request value Rt to a value that is determined by taking into consideration the type of the road on which the vehicle <NUM> is traveling and a traveling speed Vs of the vehicle <NUM>. The replacement request value Rt, which is set in the above-described manner, is related to the longitudinal acceleration of the vehicle <NUM>. Then, the setting unit <NUM> temporarily ends the current processing routine.

If the determining unit <NUM> has not determined that the driver has lost the ability to drive the vehicle <NUM> in step S27 (NO), the setting unit <NUM> temporarily ends the current processing routine without setting the replacement request value Rt.

Referring to <FIG>, the travel controller <NUM> functions as an arbiter unit <NUM>. The arbiter unit <NUM> includes a first arbiter unit <NUM> and a second arbiter unit <NUM>.

The first arbiter unit <NUM> sets a first arbitration request value Ra based on the lower limit request value Rk, the acceleration request value Rx, and the replacement request value Rt. When the setting unit <NUM> has set the replacement request value Rt, the first arbiter unit <NUM> sets the first arbitration request value Ra to the replacement request value Rt.

When the setting unit <NUM> has not set the replacement request value Rt, the first arbiter unit <NUM> sets the first arbitration request value Ra to the lower limit request value Rk or the acceleration request value Rx as shown in <FIG>. That is, when both the lower limit request value Rk and the acceleration request value Rx are set, the first arbiter unit <NUM> sets the first arbitration request value Ra to the greater one of the lower limit request value Rk and the acceleration request value Rx. When the lower limit request value Rk is set, but the acceleration request value Rx is not set, the first arbiter unit <NUM> sets the first arbitration request value Ra to the lower limit request value Rk. Also, when the lower limit request value Rk is not set, but the acceleration request value Rx is set, the first arbiter unit <NUM> sets the first arbitration request value Ra to the acceleration request value Rx.

When none of the replacement request value Rt, the lower limit request value Rk, and the acceleration request value Rx is set, the first arbiter unit <NUM> does not set the first arbitration request value Ra.

Referring to <FIG>, the second arbiter unit <NUM> sets a second arbitration request value Rb based on the first arbitration request value Ra, the upper limit request value Rj, and the deceleration request value Rz. When the first arbitration request value Ra, the upper limit request value Rj, and the deceleration request value Rz are all set, the second arbiter unit <NUM> sets the second arbitration request value Rb to the minimum value of the first arbitration request value Ra, the upper limit request value Rj, and the deceleration request value Rz.

When only one of the first arbitration request value Ra, the upper limit request value Rj, and the deceleration request value Rz is set, the second arbiter unit <NUM> sets the second arbitration request value Rb to that one of the request values. When only two of the first arbitration request value Ra, the upper limit request value Rj, and the deceleration request value Rz are set, the second arbiter unit <NUM> sets the second arbitration request value Rb to the smaller one of the set request values. For example, when the first arbitration request value Ra and the upper limit request value Rj are set, but the deceleration request value Rz is not set, the second arbiter unit <NUM> sets the second arbitration request value Rb to the smaller one of the first arbitration request value Ra and the upper limit request value Rj as shown in <FIG>.

Referring to <FIG>, the travel controller <NUM> functions as a commanding unit <NUM>. The commanding unit <NUM> sets a command value Fq of the longitudinal force to a value that corresponds to the second arbitration request value Rb. The commanding unit <NUM> then outputs the command value Fq to the drive controlling unit <NUM> of the driving device <NUM> or the brake controlling unit <NUM> of the braking device <NUM>. The command value Fq includes a driving command value Fdq for the driving device <NUM> and a braking command value Fbq for the braking device <NUM>. For example, if the command value Fq of the longitudinal force has a positive value, the commanding unit <NUM> outputs the command value Fq to the drive controlling unit <NUM> as the driving command value Fdq. Also, for example, if the command value Fq of the longitudinal force has a negative value, the commanding unit <NUM> outputs the command value Fq to the brake controlling unit <NUM> as the braking command value Fbq.

Referring to <FIG>, a process for deriving the driving command value Fdq and the braking command value Fbq will be described.

The commanding unit <NUM> executes a target acceleration calculating process M11, which converts the second arbitration request value Rb, which is a request value of the longitudinal force F, to a request value of acceleration. In the target acceleration calculating process M11, the commanding unit <NUM> converts the second arbitration request value Rb into an acceleration, thereby calculating an arbitrated acceleration request value Gt.

Based on the wheel speed Vw, the commanding unit <NUM> executes an actual acceleration calculating process M12, which calculates an actual acceleration Ga of the vehicle <NUM>. That is, in the actual acceleration calculating process M12, the commanding unit <NUM> calculates the traveling speed Vs of the vehicle <NUM> based on the wheel speed Vw of each wheel <NUM>. The commanding unit <NUM> then performs temporal differentiation of the traveling speed Vs, thereby calculating the actual acceleration Ga. When the actual acceleration Ga is calculated in the above-described manner, the commanding unit <NUM> may use a detected acceleration value Gs in addition to the value obtained through temporal differentiation of the traveling speed Vs.

The commanding unit <NUM> executes a difference calculating process M13, which calculates a difference hG between the arbitrated acceleration request value Gt and the actual acceleration Ga.

The commanding unit <NUM> executes an FB process M14, which performs a feedback control using the difference hG as an input. The value obtained through execution of the FB process M14 is referred to as an FB value Rh. The feedback control includes, for example, proportionality control and derivative control. The feedback control may include an integral control.

The commanding unit <NUM> executes an adding process M15, which calculates the sum of the second arbitration request value Rb and the FB value Rh as a final acceleration request value Rd.

The commanding unit <NUM> executes a command value deriving process M16, which converts the final acceleration request value Rd into a longitudinal force, thereby calculating the driving command value Fdq or the braking command value Fbq. In this manner, the driving command value Fdq and the braking command value Fbq are set to values that correspond to the second arbitration request value Rb.

With reference to <FIG>, a case will be described in which the driver is operating the accelerator pedal <NUM> with the upper limit request value Rj and the lower limit request value Rk being set. For illustrative purposes, <FIG> illustrates a situation in which the upper limit request value Rj and the lower limit request value Rk are respectively maintained at certain values.

When the driver is operating the accelerator pedal <NUM>, the acceleration request value Rx is set to a value that corresponds to the accelerator operated amount Aa. In this case, the second arbitration request value Rb is set based on the acceleration request value Rx, the upper limit request value Rj, and the lower limit request value Rk. Also, the driving command value Fdq or the braking command value Fbq is set to a value that corresponds to the second arbitration request value Rb. When the driving command value Fdq is output to the drive controlling unit <NUM>, the drive controlling unit <NUM> controls the motor-generator <NUM> based on the driving command value Fdq. Also, when the braking command value Fbq is output to the brake controlling unit <NUM>, the brake controlling unit <NUM> controls the brake actuator <NUM> based on the braking command value Fbq.

For example, when the acceleration request value Rx is less than both the lower limit request value Rk and the upper limit request value Rj as in the period prior to point in time t1, the first arbitration request value Ra is set to the lower limit request value Rk out of the lower limit request value Rk and the acceleration request value Rx. Also, the second arbitration request value Rb is set to the smaller one of the first arbitration request value Ra and the upper limit request value Rj. In the example shown in <FIG>, since the lower limit request value Rk is less than the upper limit request value Rj, the second arbitration request value Rb is set to the lower limit request value Rk. Thus, the driving command value Fdq or the braking command value Fbq is set to a value that corresponds to the lower limit request value Rk.

Also, in the example shown in <FIG>, the second arbitration request value Rb is set to the acceleration request value Rx in the period from point in time t1 to point in time t2 and in a period from point in time t3. As a result, the driving command value Fdq or the braking command value Fbq is set to a value that corresponds to the acceleration request value Rx.

In this manner, when the second arbitration request value Rb is set to the acceleration request value Rx, a change in the accelerator operated amount Aa due to operation of the accelerator pedal <NUM> by the driver changes the acceleration request value Rx and the second arbitration request value Rb. As a result, the driving command value Fdq or the braking command value Fbq is changed in conjunction with the change in the accelerator operated amount Aa. Accordingly, the traveling speed Vs of the vehicle <NUM> is changed in accordance with operation of the accelerator pedal <NUM> by the driver.

In the period from point in time t2 to point in time t3, the acceleration request value Rx is greater than the lower limit request value Rk and the upper limit request value Rj. In the example shown in <FIG>, the second arbitration request value Rb is set to the upper limit request value Rj. As a result, the driving command value Fdq or the braking command value Fbq is set to a value that corresponds to the upper limit request value Rj.

In the present embodiment, the second arbitration request value Rb is set based on the upper limit request value Rj, the lower limit request value Rk, and the acceleration request value Rx. If the accelerator operated amount Aa is changed when the second arbitration request value Rb is set to the acceleration request value Rx, the second arbitration request value Rb is changed in accordance with a change in the accelerator operated amount Aa. As a result, the driving command value Fdq or the braking command value Fbq is changed. That is, depending on the accelerator operated amount Aa, the command value Fq of the longitudinal force is set in accordance with the acceleration request value Rx, or the command value Fq of the longitudinal force is set in accordance with the upper limit request value Rj or the lower limit request value Rk.

Therefore, if the driver requests acceleration of the vehicle <NUM> through operation of the accelerator pedal <NUM> when the vehicle <NUM> is traveling in accordance with a request from the driver assistance device <NUM>, the longitudinal acceleration of the vehicle <NUM> is controlled with the request for acceleration by the driver taken into account.

The present embodiment further has the following advantages.

The above-described embodiment may be modified as follows. The above-described embodiment and the following modifications can be combined as long as the combined modifications remain technically consistent with each other.

In the above-described embodiment, when the replacement request value Rt is set because of the determination that the driver has lost the ability to drive the vehicle <NUM>, the second arbitration request value Rb may be set to the replacement request value Rt regardless whether the replacement request value Rt is greater than the upper limit request value Rj.

The replacement request value Rt may be set to a predetermined value that is determined in advance.

The travel controller <NUM> does not necessarily need to function as the determining unit <NUM>. For example, the driver assistance device <NUM> may function as the determining unit <NUM>. In such a case, when the driver assistance device <NUM> receives information indicating that the driver has lost the ability to drive the vehicle <NUM>, the travel controller <NUM> sets the replacement request value Rt.

The travel controller <NUM> may include an ECU that functions as the brake controlling unit <NUM>. Also, an ECU that functions as the brake controlling unit <NUM> may include part of the functional units of the travel controller <NUM>. In this case, the ECU that functions as the drive controlling unit <NUM> may have the remaining functional units of the travel controller <NUM>.

The above-described embodiment describes a case in which the travel controller <NUM> receives a request value of the longitudinal force from the driver assistance device <NUM>. However, the request value delivered from the driver assistance device <NUM> to the travel controller <NUM> does not necessarily need to be the request value of the longitudinal force as long as the request value is related to the longitudinal acceleration of the vehicle <NUM>. For example, the request value delivered from the driver assistance device <NUM> to the travel controller <NUM> may be a request value of the longitudinal acceleration.

The driving device <NUM> may include an engine in addition to the motor-generator <NUM> as a drive source of the vehicle <NUM>. Also, the driving device <NUM> does not necessarily include the motor-generator <NUM> if it includes an engine as a drive source of the vehicle <NUM>.

Claim 1:
A vehicle controller that controls a traveling speed (Vs) of a vehicle (<NUM>) based on request values (R1, R2) related to a longitudinal acceleration of the vehicle (<NUM>) when receiving the request values (R1, R2) from a driver assistance device (<NUM>), wherein
the vehicle controller is configured to receive, as the request values (R1, R2), a request value that defines an upper limit of the longitudinal acceleration and a request value that defines a lower limit of the longitudinal acceleration from the driver assistance device (<NUM>), and
the vehicle controller comprises:
a setting unit (<NUM>) that,
when obtaining the request value that defines the upper limit of the longitudinal acceleration, the setting unit (<NUM>) sets an upper limit request value (Rj) to a value that corresponds to the obtained request value,
when obtaining the request value that defines the lower limit of the longitudinal acceleration, the setting unit (<NUM>) sets a lower limit request value (Rk) to a value that corresponds to the obtained request value, and
when a driver of the vehicle (<NUM>) is requesting acceleration of the vehicle (<NUM>) through an operation of the vehicle (<NUM>), the setting unit (<NUM>) sets an acceleration request value (Rx) to a request value related to the longitudinal acceleration that corresponds to an amount of the operation of the vehicle (<NUM>);
characterized by further comprising
a first arbiter unit (<NUM>) that sets a first arbitration request value (Ra) to a greater one of the lower limit request value (Rk) and the acceleration request value (Rx);
a second arbiter unit (<NUM>) that sets a second arbitration request value (Rb) to a smaller one of the first arbitration request value (Ra) and the upper limit request value (Rj); and
a commanding unit (<NUM>) that sets, to a value that corresponds to the second arbitration request value (Rb), a command value (Fdq, Fbq) sent to an actuator (<NUM>, <NUM>) that operates to adjust the traveling speed (Vs).