Patent Description:
<CIT> discloses a vehicle equipped with a driving device, which produces a driving force, a braking device, which produces a braking force, and an autonomous driving controller that executes an autonomous driving control. The autonomous driving controller calculates a feedback correction amount based on a deviation between a target acceleration of a vehicle and an actual acceleration of the vehicle, and a feedforward correction amount based on, for example, a road surface gradient. The autonomous driving controller controls the driving device and the braking device based on the feedback correction amount and the feedforward correction amount. Thus, even if the gradient of the road on which the vehicle is traveling changes, the autonomous driving controller can allow the vehicle actual acceleration to follow the target acceleration.

When the traveling speed of a vehicle is controlled automatically as in the above-described autonomous driving control, braking is requested to avoid collision with obstacles in some cases. In such a case, the vehicle is preferably stopped at an early stage.

<CIT> discloses a vehicle controller that automatically controls a traveling speed of a vehicle based on a request value provided by a driver assistance device, wherein the vehicle controller comprises a correction unit, when the vehicle is traveling on an uphill road, the correction unit executes a first correction process on the request value, when the vehicle is traveling on a downhill road, the correction unit executes a second correction process on the request value, the first correction process is a process that corrects the request value such that the traveling speed is higher than that in a case in which the first correction process is not executed, and the second correction process is a process that corrects the request value such that the traveling speed is lower than that in a case in which the second correction process is not executed.

In one general aspect, a vehicle controller automatically controls a traveling speed of a vehicle based on a request value provided by a driver assistance device. The vehicle controller includes a correction unit. When the vehicle is traveling on an uphill road, the correction unit executes a first correction process on the request value. When the vehicle is traveling on a downhill road, the correction unit executes a second correction process on the request value. The first correction process is a process that corrects the request value such that the traveling speed is higher than that in a case in which the first correction process is not executed. The second correction process is a process that corrects the request value such that the traveling speed is lower than that in a case in which the second correction process is not executed. If hard braking of the vehicle is requested by the driver assistance device when the first correction process is being executed, the correction unit sets a correction amount of the request value in the first correction process to a lower value than that in a case in which hard braking of the vehicle is not requested.

In another general aspect, a vehicle control method automatically controls a traveling speed of a vehicle based on a request value provided by a driver assistance device. The method includes: when the vehicle is traveling on an uphill road, executing a first correction process on the request value; and when the vehicle is traveling on a downhill road, executing a second correction process on the request value. The first correction process is a process that corrects the request value such that the traveling speed is higher than that in a case in which the first correction process is not executed. The second correction process is a process that corrects the request value such that the traveling speed is lower than that in a case in which the second correction process is not executed. The first correction process includes a process that, if hard braking of the vehicle is requested by the driver assistance device, sets a correction amount of the request value to a lower value than that in a case in which hard braking of the vehicle is not requested.

However, the examples described are thorough and complete, and convey the full scope of the invention to one of ordinary skill in the art.

A vehicle controller according to one embodiment will now be described with reference to the drawings. The vehicle controller is a travel controller <NUM> in the present embodiment. In the present embodiment, the travel controller <NUM> is mounted on a vehicle <NUM>, which is a battery electric vehicle.

As shown in <FIG>, the vehicle <NUM> includes wheels <NUM>, braking mechanisms <NUM>, a driving device <NUM>, a braking device <NUM>, a driver assistance device <NUM>, the travel controller <NUM>, a wheel speed sensor SE1, and a longitudinal acceleration sensor SE2. Some of the components of the vehicle <NUM> are omitted from <FIG>.

Each braking mechanism <NUM> includes a rotor <NUM>, which rotates integrally with the associated wheel <NUM>, frictional members <NUM>, which do not rotate integrally with the wheel <NUM>, and a wheel cylinder <NUM>, which displaces the frictional members <NUM> toward the rotor <NUM> in accordance with a hydraulic pressure.

As the hydraulic pressure of the wheel cylinder <NUM> increases, the braking mechanism <NUM> presses the frictional members <NUM> to the rotor <NUM> with a greater force. As the force with which the frictional members <NUM> are pressed against the rotor <NUM> increases, the braking mechanism <NUM> applies a greater frictional braking force Fbf to the wheel <NUM>. The braking mechanisms <NUM> are provided for the respective wheels <NUM>. For example, if the vehicle <NUM> is a four-wheel vehicle, the vehicle <NUM> is equipped with four wheels <NUM> and four braking mechanisms <NUM>.

The driving device <NUM> includes a motor-generator <NUM> and a drive controlling unit <NUM>, which controls the motor-generator <NUM>.

When the motor-generator <NUM> functions as an electric motor, the motor-generator <NUM> applies, to each wheel <NUM>, a driving force Fd for causing the vehicle <NUM> to travel. In this case, the motor-generator <NUM> functions as a drive source of the vehicle <NUM>. The drive controlling unit <NUM> causes the motor-generator <NUM> to generate the driving force Fd based on a request driving force Fdq requested by the travel controller <NUM>. For example, if the vehicle <NUM> is a four-wheel vehicle, the vehicle <NUM> preferably includes a motor-generator for the front wheels and a motor-generator for the rear wheels.

The braking device <NUM> includes a brake actuator <NUM>, which adjusts a hydraulic pressure of the wheel cylinder <NUM>, and a brake controlling unit <NUM>, which controls the brake actuator <NUM>.

The brake actuator <NUM> adjusts the amount of brake fluid supplied to the wheel cylinder <NUM> so as to adjust the hydraulic pressure of the wheel cylinder <NUM>. The brake actuator <NUM> is preferably capable of adjusting the hydraulic pressure of each of wheel cylinders <NUM> that respectively correspond to the wheels <NUM>. The brake controlling unit <NUM> causes the brake actuator <NUM> to generate the frictional braking force Fbf based on the request braking force Fbq requested by the travel controller <NUM>.

The driver assistance device <NUM> executes, as a driver assistance function, an autonomous driving control that causes the vehicle <NUM> to travel autonomously. As shown in <FIG> and <FIG>, the driver assistance device <NUM> calculates a request value Rc used in the autonomous driving control based on various types of driving information. In the present embodiment, the request value Rc is a request value for a longitudinal force that indicates a force that acts in the longitudinal direction of the vehicle <NUM>. When having a positive value, the request value Rc indicates that the driver assistance device <NUM> is requesting acceleration of the vehicle <NUM>. When having a negative value, the request value Rc indicates that the driver assistance device <NUM> is requesting deceleration of the vehicle <NUM>. Also, the driving information includes, for example, information related to the position of the vehicle <NUM>, information related to the environment of the vehicle <NUM>, and information related to the traveling state of the vehicle <NUM>.

The driver assistance device <NUM> has other driver assistance functions in addition to the autonomous driving control. Other driver assistance functions include emergency braking. The emergency braking is a function that requests braking of the vehicle <NUM> in order to avoid collision with obstacles such as a pedestrian or other vehicles in front of the vehicle <NUM>. In the present invention, braking by the braking device <NUM> includes hard braking, in which the braking force Fb of the vehicle <NUM> that the driver assistance device <NUM> requests the travel controller <NUM> to produce exceeds a specified determination value. The hard braking includes braking that is performed to avoid collision with an obstacle when the emergency braking is performed.

As shown in <FIG>, the travel controller <NUM> includes a vehicle speed calculating unit <NUM>, an actual acceleration calculating unit <NUM>, a target acceleration calculating unit <NUM>, an acceleration deviation calculating unit <NUM>, a slope resistance calculating unit <NUM>, a correction unit <NUM>, and a longitudinal force controlling unit <NUM>. The travel controller <NUM> controls the driving device <NUM> and the braking device <NUM> based on the request value Rc from the driver assistance device <NUM>, thereby automatically adjusting the traveling speed of the vehicle <NUM>. In the following description, the traveling speed of the vehicle <NUM> will be referred to as a vehicle speed Vb in some cases.

The vehicle speed calculating unit <NUM> calculates a wheel speed Vw based on a detection result of the wheel speed sensor SE1. The vehicle speed calculating unit <NUM> calculates the vehicle speed Vb of the vehicle <NUM> based on the wheel speed Vw.

As shown in <FIG>, the actual acceleration calculating unit <NUM> calculates an actual acceleration Ga of the vehicle <NUM>. The actual acceleration calculating unit <NUM> then performs differentiation of the vehicle speed Vb, which has been calculated by the vehicle speed calculating unit <NUM>, thereby executing a computed acceleration calculating process, which calculates an acceleration. The acceleration obtained through this calculating process is referred to as a computed acceleration Ge. When the wheel speed Vw changes significantly in a short time, such as, when the wheel <NUM> slips, the computed acceleration Ge is likely to deviate from the actual acceleration of the vehicle <NUM>. In this regard, the actual acceleration calculating unit <NUM> causes the computed acceleration Ge to pass through a low-pass filter LPF, thereby extracting only a low-frequency component from the computed acceleration Ge.

The actual acceleration calculating unit <NUM> obtains an acceleration based on a detection result of the longitudinal acceleration sensor SE2. The acceleration obtained through this process is referred to as a detected acceleration Gx. When the vehicle <NUM> is on a sloped road, the longitudinal acceleration sensor SE2 is tilted with respect to the horizontal direction, so that the output value of the longitudinal acceleration sensor SE2 is offset by a value corresponding to the gradient of the road surface. In this regard, the actual acceleration calculating unit <NUM> causes the computed acceleration Ge to pass through a high-pass filter HPF, thereby extracting only a high-frequency component from the detected acceleration Gx.

The actual acceleration calculating unit <NUM> calculates the actual acceleration Ga based on a value obtained by causing the computed acceleration Ge to pass through the low-pass filter LPF and a value obtained by causing the detected acceleration Gx to pass through the high-pass filter HPF. For example, the actual acceleration calculating unit <NUM> uses the sum of the two values as the actual acceleration Ga. In this manner, the high-frequency component of the computed acceleration Ge, which has been removed by the low-pass filter LPF, is complemented by a high-frequency component of the detected acceleration Gx, and the low-frequency component of the detected acceleration Gx, which has been removed by the high-pass filter HPF, is complemented by a low-frequency component of the computed acceleration Ge.

As shown in <FIG>, the target acceleration calculating unit <NUM> calculates a target acceleration Gt of the vehicle <NUM> based on the request value Rc of the driver assistance device <NUM>. Specifically, the target acceleration calculating unit <NUM> calculates the target acceleration Gt based on the request value Rc, which is a longitudinal force, and the mass of the vehicle <NUM>. The target acceleration Gt has a positive value when acceleration of the vehicle <NUM> is requested. The target acceleration Gt has a negative value when deceleration of the vehicle <NUM> is requested.

The acceleration deviation calculating unit <NUM> subtracts the actual acceleration Ga, which is calculated by the actual acceleration calculating unit <NUM>, from the target acceleration Gt, which is calculated by the target acceleration calculating unit <NUM>, thereby calculating a deviation hG between the accelerations.

As shown in <FIG>, the slope resistance calculating unit <NUM> calculates a slope resistance Rn of the road surface on which the vehicle <NUM> is traveling. Specifically, the slope resistance calculating unit <NUM> executes a longitudinal force calculating process, a rolling resistance calculating process, an air resistance calculating process, and a slope resistance calculating process.

The longitudinal force calculating process obtains a longitudinal force Fq, which is calculated by the longitudinal force controlling unit <NUM>. The longitudinal force Fq includes the request driving force Fdq calculated by the longitudinal force controlling unit <NUM> and the request braking force Fbq.

The rolling resistance calculating process calculates a rolling resistance Rr acting on the vehicle <NUM>. The rolling resistance calculating process calculates, for example, the product of the weight of the vehicle <NUM> and the rolling resistance coefficient of the wheel <NUM> as the rolling resistance Rr. The weight of the vehicle <NUM> is the product of the mass of the vehicle <NUM> and the gravitational acceleration. Accordingly, the greater the weight, the greater the rolling resistance Rr becomes. Since the rolling resistance Rr acts in a direction opposite to the traveling direction of the vehicle <NUM>, the rolling resistance Rr has a negative value when the vehicle <NUM> is advancing.

The air resistance calculating process calculates an air resistance Ra acting on the vehicle <NUM>. The air resistance Ra is calculated based on the vehicle speed Vb, the frontal projected area of the vehicle <NUM>, the density of air, and the air resistance coefficient. For example, the greater the vehicle speed Vb, the greater the air resistance Ra becomes. Since the air resistance Ra acts in a direction opposite to the traveling direction of the vehicle <NUM>, the air resistance Ra has a negative value when the vehicle <NUM> is advancing.

The slope resistance calculating process calculates the slope resistance Rn based on an equation of motion representing the relationship between forces acting on the vehicle <NUM> and the acceleration of the vehicle <NUM>. Specifically, the slope resistance Rn is calculated by solving the following relational expression. In the relational expression, m represents the mass of the vehicle <NUM>.

The slope resistance Rn is a force that acts on the vehicle <NUM> due to the gradient of the road surface. In other words, the slope resistance Rn is a component of the weight of the vehicle <NUM> that acts along the road surface, the weight being the product of the mass of the vehicle <NUM> and the gravitational acceleration. When the vehicle <NUM> is advancing on an uphill road, the slope resistance Rn has a negative value. When the vehicle <NUM> is advancing on a downhill road, the slope resistance Rn has a positive value. In contrast, when the vehicle <NUM> is reversing on an uphill road, the slope resistance Rn has a positive value. When the vehicle <NUM> is reversing on a downhill road, the slope resistance Rn has a negative value. Further, the absolute value of the slope resistance Rn increases as the absolute value of the gradient of the road surface relative to a plane orthogonal to the direction of gravitational force increases. When the vehicle <NUM> traveling on a horizontal road, the slope resistance Rn is <NUM>.

As shown in <FIG>, the correction unit <NUM> includes a feedback correction unit <NUM>, a feedforward correction unit <NUM>, and a converting unit <NUM>.

The feedback correction unit <NUM> calculates a feedback correction amount Si for reducing the deviation hG. That is, the feedback correction amount Si is calculated through a feedback control that uses the deviation hG as an input. The feedback control includes, for example, a proportional control and an integral control. In this case, the feedback correction amount Si is obtained by adding the product of a proportional gain and the deviation hG to the product of an integral gain and the time integral of the deviation hG. The feedback control may include a derivative control.

The converting unit <NUM> converts the feedback correction amount Si, which has been calculated by the feedback correction unit <NUM>, into the same dimension as the request value Rc. In the present embodiment, the converting unit <NUM> converts the feedback correction amount Si, which is in the dimension of acceleration, into a feedback control amount in the dimension of longitudinal force. In the following description, the feedback correction amount after the conversion will be referred to as a feedback correction amount Rh. The feedback correction amount Rh is added to the request value Rc so as to correct the request value Rc.

The feedforward correction unit <NUM> calculates a feedforward correction amount Rf, which corresponds to the slope resistance Rn. The feedforward correction amount Rf is added to the request value Rc so as to correct the request value Rc. The feedforward correction amount Rf is thus in the same dimension as the request value Rc.

The feedforward correction unit <NUM> determines whether the road surface on which the vehicle <NUM> is traveling is an uphill road or a downhill road based on the magnitude of the slope resistance Rn. The feedforward correction unit <NUM> determines that the vehicle <NUM> is traveling on an uphill road if the slope resistance Rn is less than an uphill determination value Rn1. The uphill determination value Rn1 is a reference for determining whether the road surface is an uphill road by using the slope resistance Rn. The uphill determination value Rn1 is set to <NUM> or a value slightly less than <NUM>. The feedforward correction unit <NUM> also determines that the vehicle <NUM> is traveling on a downhill road if the slope resistance Rn is greater than a downhill determination value Rn2. The downhill determination value Rn2 is a reference for determining whether the road surface is a downhill road by using the slope resistance Rn. The downhill determination value Rn2 is set to <NUM> or a value slightly greater than <NUM>.

The feedforward correction unit <NUM> executes a first correction process when the vehicle <NUM> is traveling on an uphill road. In the first correction process, the feedforward correction unit <NUM> sets the feedforward correction amount Rf to a positive value. The feedforward correction unit <NUM> increases the feedforward correction amount Rf as the gradient of the uphill road increases, that is, as the slope resistance Rn increases. The feedforward correction amount Rf is added to the request value Rc, so that the request value Rc is increased. If the request value Rc is increased during acceleration of the vehicle <NUM>, the acceleration of the vehicle <NUM> increases. If the request value Rc is increased during deceleration of the vehicle <NUM>, the acceleration of the vehicle <NUM> decreases. Thus, when the first correction process is executed, the traveling speed of the vehicle <NUM> is higher than that in a case in which the first correction process is not executed.

On the other hand, the feedforward correction unit <NUM> executes a second correction process when the vehicle <NUM> is traveling on a downhill road. In the second correction process, the feedforward correction unit <NUM> sets the feedforward correction amount Rf to a negative value. The feedforward correction unit <NUM> decreases the feedforward correction amount Rf as the gradient of the downhill road increases, that is, as the slope resistance Rn decreases. The feedforward correction amount Rf is added to the request value Rc, so that the request value Rc is reduced. If the request value Rc is reduced during acceleration of the vehicle <NUM>, the acceleration of the vehicle <NUM> decreases. If the request value Rc is reduced during deceleration of the vehicle <NUM>, the deceleration of the vehicle <NUM> increases. That is, when the second correction process is executed, the traveling speed of the vehicle <NUM> is lower than that in a case in which the second correction process is not executed.

The first correction process and the second correction process can be regarded as the same process in that both processes add, to the request value Rc, the feedforward correction amount Rf that corresponds to the slope resistance Rn. The difference between the first correction process and the second correction process is that the signs of the feedforward correction amount Rf, which is added to the request value Rc, are opposite to each other.

When the first correction process and the second correction process are executed, the absolute value of the feedforward correction amount Rf increases as the absolute value of the gradient of the road surface on which the vehicle <NUM> is traveling increases. In order to associate the absolute value of the feedforward correction amount Rf to the absolute value of the gradient of the road surface on which the vehicle <NUM> is traveling as described above, the feedforward correction unit <NUM> preferably sets the feedforward correction amount Rf to a value obtained by reversing the sign of the slope resistance Rn.

Thus, when the vehicle <NUM> is traveling on an uphill road, in other words, when the slope resistance Rn acts as a force that decelerates the vehicle <NUM>, the feedforward correction amount Rf is a force that accelerates the vehicle <NUM>. Likewise, when the vehicle <NUM> is traveling on a downhill road, in other words, when the slope resistance Rn acts as a force that accelerates the vehicle <NUM>, the feedforward correction amount Rf is a force that decelerates the vehicle <NUM>. The feedforward correction amount Rf can thus be regarded as a force that cancels the slope resistance Rn.

When executing a driver assistance function that automatically adjusts the vehicle speed Vb such as an autonomous driving control, the driver assistance device <NUM> executes a driver assistance function that requires a hard braking if another vehicle cut in front of the vehicle <NUM>. The driver assistance device <NUM> then outputs the request value Rc that requests hard braking to the travel controller <NUM>. In this case, the request value Rc has a negative value of which the absolute value is large. When the driver assistance function that requires hard braking is executed, the vehicle <NUM> is preferably stopped promptly. However, if the feedforward correction amount Rf is set to a positive value simply because the vehicle <NUM> is traveling on an uphill road, the force that decelerates the vehicle <NUM> will be reduced. Thus, if hard braking of the vehicle <NUM> is requested when the vehicle <NUM> is traveling on an uphill road, the feedforward correction amount Rf is preferably reduced.

In this regard, if hard braking of the vehicle <NUM> is requested by the driver assistance device <NUM> when the first correction process is being executed, the feedforward correction unit <NUM> sets the feedforward correction amount Rf to a lower value than that in a case in which hard braking of the vehicle <NUM> is not requested. This reduces the correction amount of the request value Rc based on the feedforward correction amount Rf in the first correction process. In the present embodiment, even if the first correction process is being executed, the feedforward correction unit <NUM> sets the feedforward correction amount Rf to <NUM> when hard braking of the vehicle <NUM> is requested.

The feedforward correction unit <NUM> determines whether hard braking of the vehicle <NUM> is requested based on whether the request value Rc is less than a hard braking request value Rchb. The hard braking request value Rchb is a negative value and corresponds the magnitude of the braking force Fb applied to the vehicle <NUM> at hard braking of the vehicle <NUM>. The value of the braking force Fb that corresponds to the hard braking request value Rchb is defined as the specified determination value. When the request value Rc is less than the hard braking request value Rchb, the request braking force Fbq that the driver assistance device <NUM> requests the travel controller <NUM> to produce will exceed the specified determination value.

In contrast, when the vehicle <NUM> is traveling on a downhill road, the feedforward correction amount Rf has a negative value. Thus, when the vehicle <NUM> is traveling on a downhill road, the feedforward correction unit <NUM> does not perform correction of the feedforward correction amount Rf based on a request for hard braking of the vehicle <NUM>.

The longitudinal force controlling unit <NUM> controls the driving device <NUM> and the braking device <NUM> based on the sum of the request value Rc, the feedback correction amount Rh, and the feedforward correction amount Rf (the sum will also be referred to as a corrected request value Rt). For example, when the corrected request value Rt has a positive value, the longitudinal force controlling unit <NUM> requests the driving device <NUM> to generate the request driving force Fdq that corresponds to the magnitude of the corrected request value Rt. In this case, the driving force Fd that corresponds to the request driving force Fdq is applied to the vehicle <NUM>. In contrast, when the corrected request value Rt has a negative value, the longitudinal force controlling unit <NUM> requests the braking device <NUM> to generate the request braking force Fbq that corresponds to the magnitude of the corrected request value Rt. In this case, the frictional braking force Fbf that corresponds to the request braking force Fbq is applied to the vehicle <NUM>.

As described above, the slope resistance calculating unit <NUM> calculates the slope resistance Rn using the request driving force Fdq and the request braking force Fbq, which are calculated by the longitudinal force controlling unit <NUM>. However, due to the responsiveness of the motor-generator <NUM>, the request driving force Fdq at the calculation of the slope resistance Rn may be deviated from the driving force Fd applied to the vehicle <NUM> by the motor-generator <NUM>. Likewise, due to the responsiveness of the brake actuator <NUM>, the request braking force Fbq at the calculation of the slope resistance Rn may be deviated from the frictional braking force Fbf applied to the vehicle <NUM> by the brake actuator <NUM>. In this regard, the slope resistance calculating unit <NUM> preferably takes the responsiveness of the motor-generator <NUM> and the brake actuator <NUM> into consideration when calculating the slope resistance Rn. For example, the slope resistance calculating unit <NUM> preferably calculates the slope resistance Rn based on values obtained through a gradual change process such as a primary delay process executed on the request driving force Fdq and the request braking force Fbq, which are calculated by the longitudinal force controlling unit <NUM>.

The slope resistance calculating unit <NUM> is also capable of calculating the slope resistance Rn without using the request driving force Fdq and the request braking force Fbq. For example, if the hydraulic pressure of the wheel cylinder <NUM> is detectable, the slope resistance calculating unit <NUM> may obtain the braking force Fb acting on the vehicle <NUM> based on the hydraulic pressure of the wheel cylinder <NUM>. The slope resistance calculating unit <NUM> may also calculate the slope resistance Rn using the obtained braking force Fb, instead of the request braking force Fbq. If the current value through the motor-generator <NUM> is detectable, the slope resistance calculating unit <NUM> may obtain the driving force Fd acting on the vehicle <NUM> based on the current value. The slope resistance calculating unit <NUM> may also calculate the slope resistance Rn using the obtained driving force Fd, instead of the request driving force Fdq.

Next, with reference to the flowchart shown in <FIG>, the flow of a process executed by the feedforward correction unit <NUM> when calculating the feedforward correction amount Rf will be described. This process is executed at predetermined control cycles while the vehicle <NUM> is traveling.

As shown in <FIG>, the feedforward correction unit <NUM> determines whether the slope resistance Rn, which is calculated by the slope resistance calculating unit <NUM>, is greater than the downhill determination value Rn2 (S11). If the slope resistance Rn is greater than the downhill determination value Rn2 (S11: YES), in other words, if the vehicle <NUM> is traveling on a downhill road, the feedforward correction unit <NUM> calculates the feedforward correction amount Rf that corresponds to the slope resistance Rn (S12). Thereafter, the feedforward correction unit <NUM> ends the present process.

If the slope resistance Rn is less than or equal to the downhill determination value Rn2 in step S11, the feedforward correction amount Rf determines whether the slope resistance Rn is less than the uphill determination value Rn1 (S13). If the slope resistance Rn is less than the uphill determination value Rn1 (S13: YES), the feedforward correction unit <NUM> determines whether the request value Rc is less than the hard braking request value Rchb (S14). If the request value Rc is greater than or equal to the hard braking request value Rchb (S14: NO), in other words, if the driver assistance device <NUM> is not requesting hard braking of the vehicle <NUM>, the feedforward correction unit <NUM> advances the process to step S12. In this case, the feedforward correction amount Rf that corresponds to the slope resistance Rn is calculated.

If the request value Rc is less than the hard braking request value Rchb in step S14 (S14: YES), in other words, if the driver assistance device <NUM> is requesting hard braking of the vehicle <NUM>, the feedforward correction unit <NUM> sets the feedforward correction amount Rf to <NUM> (S15). Thereafter, the feedforward correction unit <NUM> ends the present process. If the slope resistance Rn is greater than or equal to the uphill determination value Rn1 in step S13 (S13: NO), that is, if the vehicle <NUM> is traveling on a horizontal road surface, the feedforward correction unit <NUM> advances the process to step S15. In this case, since the vehicle <NUM> is not traveling on a slope, the feedforward correction amount Rf is set to <NUM>.

When the vehicle <NUM> is traveling on an uphill road and when the vehicle <NUM> is traveling on a downhill road, the request value Rc is corrected in the first correction process and the second correction process based on the feedforward correction amount Rf that corresponds to the slope resistance Rn. Specifically, when the vehicle <NUM> is traveling on an uphill road, the feedforward correction amount Rf has a value greater than <NUM>. If the vehicle <NUM> is traveling on a downhill road, the feedforward correction amount Rf has a value less than <NUM>. That is, when the vehicle <NUM> is traveling on an uphill road, the request value Rc is increased by the first correction process, so that the corrected request value Rt is calculated. In contrast, when the vehicle <NUM> is traveling on a downhill road, the request value Rc is reduced by the second correction process in order to calculate the corrected request value Rt. Since the driving device <NUM> and the braking device <NUM> operate based on the corrected request value Rt, the actual acceleration Ga of the vehicle <NUM> is prevented from deviating from the target acceleration Gt, which corresponds to request value Rc of the driver assistance device <NUM>.

However, even when the vehicle <NUM> is traveling on an uphill road, the feedforward correction amount Rf used in the first correction process is set to <NUM> if the driver assistance device <NUM> is requesting hard braking of the vehicle <NUM>. That is, the correction amount of the request value Rc in the first correction process is less than that in a case in which hard braking is not requested. In this case, as forces that decelerate the vehicle <NUM>, the braking force Fb and the slope resistance Rn that correspond to the request value Rc act on the vehicle <NUM>. In other words, the force that decelerates the vehicle <NUM> is increased by the amount corresponding to the reduction in the feedforward correction amount Rf. This readily stops the vehicle <NUM>.

When the vehicle <NUM> is traveling on a downhill road, the feedforward correction amount Rf is not set to <NUM> even if the driver assistance device <NUM> is requesting hard braking of the vehicle <NUM>. This readily stops the vehicle <NUM> while allowing the actual acceleration Ga to follow the target acceleration Gt.

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.

The travel controller <NUM> may include a slope resistance calculating unit <NUM> shown in <FIG> in place of the slope resistance calculating unit <NUM> shown in <FIG>. The slope resistance calculating unit <NUM> executes a computed acceleration calculating process, a road surface gradient calculating process, and a slope resistance calculating process, thereby calculating the slope resistance Rn. Like the actual acceleration calculating unit <NUM> in the above-described embodiment, the computed acceleration calculating process calculates the computed acceleration Ge. The road surface gradient calculating process calculates the gradient of the road surface on which the vehicle <NUM> is traveling (hereinafter, also referred to as a road surface gradient θ) based on the computed acceleration Ge and the detected acceleration Gx. The road surface gradient θ has a positive value in a case of an upward gradient, and has a negative value in a case of a downward gradient. The slope resistance calculating process calculates the slope resistance Rn based on the mass of the vehicle <NUM>, the gravitational acceleration, and the road surface gradient θ.

When the vehicle <NUM> is traveling on an uphill road, the feedforward correction unit <NUM> may set the feedforward correction amount Rf to a constant value regardless of the magnitude of the gradient of the uphill road. Also, when the vehicle <NUM> is traveling on an uphill road, the feedforward correction unit <NUM> may set the feedforward correction amount Rf to a value that changes in a stepwise manner in accordance with the magnitude of the gradient of the uphill road. The same applies to a case in which the vehicle <NUM> is traveling on a downhill road.

The feedforward correction unit <NUM> may calculate the feedforward correction amount Rf by reversing the sign of the slope resistance Rn and multiplying the resultant by a coefficient, the coefficient being a value between <NUM> and <NUM>, inclusive. In this case, the feedforward correction unit <NUM> preferably sets the coefficient to a lower value in a case in which hard braking is requested than that in a case in which hard braking is not requested. As an example, the feedforward correction unit <NUM> may set the coefficient to <NUM> in a case in which hard braking is requested, so that the feedforward correction amount Rf will be one tenth of the original value.

The request value Rc of the driver assistance device <NUM> may be modified as long as it is a value that correlates with the longitudinal force. For example, the request value Rc of the driver assistance device <NUM> may be an acceleration. In this case, the travel controller <NUM> does not need to calculate the target acceleration Gt and thus does not need to include the target acceleration calculating unit <NUM>. Also, the travel controller <NUM> does not need to convert the dimension of the feedback correction amount Si and thus does not need to include the converting unit <NUM>.

The driver assistance device <NUM> may be divided into a device that executes an autonomous driving control and a device that executes an emergency braking control. In this case, the travel controller <NUM> may determine whether hard braking of the vehicle <NUM> is requested based on whether a signal requesting hard braking has been delivered from the device that executes the emergency braking control.

The driving device <NUM> may include an internal combustion engine. In this case, the slope resistance calculating unit <NUM> may obtain the driving force Fd acting on the vehicle <NUM> based on a throttle opening degree and an engine rotation speed. The slope resistance calculating unit <NUM> may calculate the slope resistance Rn using the driving force Fd.

The motor-generator <NUM> may apply, to the wheels <NUM>, a regenerative braking force Fbr, which decelerates the vehicle <NUM>. In this case, the travel controller <NUM> preferably controls the driving device <NUM> and the braking device <NUM> such that the sum of the regenerative braking force Fbr and the frictional braking force Fbf becomes the request braking force Fbq.

The braking device <NUM> may be an electro-mechanical brake (EMB).

The number of the wheels <NUM> of the vehicle <NUM> may be changed. For example, the vehicle <NUM> may be a two-wheel vehicle or a four-wheel vehicle.

The travel controller <NUM> is not limited to processing circuitry that includes a CPU and a ROM and executes software processing. For example, the travel controller <NUM> may include a dedicated hardware circuit that executes at least part of the processes executed in the above-described embodiment. The dedicated hardware circuits include, for example, an application specific integrated circuit (ASIC). That is, the travel controller <NUM> may be modified as long as it has any one of the following configurations (a) to (c).

Claim 1:
A vehicle controller (<NUM>) that automatically controls a traveling speed of a vehicle (<NUM>) based on a request value (Rc) provided by a driver assistance device (<NUM>), wherein
the vehicle controller (<NUM>) comprises a correction unit (<NUM>),
when the vehicle (<NUM>) is traveling on an uphill road, the correction unit (<NUM>) executes a first correction process on the request value (Rc),
when the vehicle (<NUM>) is traveling on a downhill road, the correction unit (<NUM>) executes a second correction process on the request value (Rc),
the first correction process is a process that corrects the request value (Rc) such that the traveling speed is higher than that in a case in which the first correction process is not executed,
the second correction process is a process that corrects the request value (Rc) such that the traveling speed is lower than that in a case in which the second correction process is not executed, and
characterized in that
if hard braking of the vehicle (<NUM>) is requested by the driver assistance device (<NUM>) when the first correction process is being executed, the correction unit (<NUM>) sets a correction amount of the request value (Rc) in the first correction process to a lower value than that in a case in which hard braking of the vehicle (<NUM>) is not requested.