Patent Description:
Aspects of the invention relate to a controller, a system, a vehicle, a method, a computer program and a non-transitory computer-readable storage medium having instructions stored therein.

In vehicles with an internal combustion engine and an automatic transmission, it is common for a vehicle to have a "creep" function such that, without any torque being requested by the driver, a small amount of torque is provided to road wheels to cause movement of the vehicle by up <NUM> kilometres per hour. This "creep torque" can simplify low speed maneuvering because it allows a driver to modulate speed of the vehicle using just the brake pedal. The "creep" function originates from the behavior of the torque converter of the transmission of such vehicles, but it is not an inherent property of an electric vehicle. In some electric vehicles a creep function has been implemented in the powertrain controller, and in some of these vehicles the creep function is a selectable option to the driver. In other electric vehicles no such creep function is provided.

An advantage of having no creep torque is that the driver is able to modulate speed of the vehicle using only the accelerator pedal, particularly when off-accelerator regeneration is high.

A disadvantage of having no creep torque is that when the vehicle is brought to rest on a relatively flat road without applying braking torque, after a small period of time the vehicle may start to roll in either direction, possibly in a manner that is imperceptible to the driver.

<CIT> discloses a method and system for decelerating a vehicle, wherein when a driver request for a propelling torque is reduced, a brake torque is applied by means of an electric machine to decelerate the vehicle to a stationary state. A brake torque applied by the electric machine is continued to be applied after the vehicle has achieved a stationary state in order to keep the vehicle in the stationary state.

It is an aim of the present invention to address disadvantages of the prior art.

Aspects and embodiments of the invention provide a controller, a system, a vehicle, a method, a computer program and a non-transitory computer-readable storage medium as claimed in the appended claims.

According to an aspect of the invention there is provided a controller according to claim <NUM>.

This provides the advantage that if the vehicle is stopped on a slope with a small gradient and the brakes are not applied by the driver, the brakes will be automatically applied to hold the vehicle stationary. Consequently, excessive rolling of the vehicle without the driver being aware of such movement is avoided.

According to some embodiments, the controller comprises input means configured to receive the indication of a measured speed of the vehicle; processing means configured to determine whether the gradient on which the vehicle is located is less than the threshold gradient, and determine whether the received indication of the measured speed of the vehicle is less than the threshold speed; and output means configured to provide the output signal to cause the brake of the vehicle to be automatically applied to hold the vehicle stationary, in dependence on: the determination that the measured speed of the vehicle is less than the threshold speed; and the determination that the gradient is less than the threshold gradient, wherein the input means is configured to receive the indications of depressions of at least one user operable pedal, and the processing means is configured to, in dependence on the at least one user operable pedal being depressed, provide the output signal to cause the brake of the vehicle to be automatically applied only after the expiration of a first period of time having a first duration in which the indication of measured speed is within a first speed range including zero.

In some embodiments the input means and the output means are provided by a transceiver configured to enable communication over a data bus.

In some embodiments the controller is configured to determine whether the gradient is below the threshold gradient by monitoring the indication of measured speed of the vehicle over a first period of time. This provides the advantage that the gradient may be easily measured without the use of additional sensors such as an inertial measurement unit.

In some embodiments the controller is configured to determine whether the gradient is below the threshold gradient by determining whether the measured speed of the vehicle remains within a first speed range, including zero, for a first period of time that has a predefined first duration. This provides the advantage that the gradient may be easily measured, and also only allows the brakes to be applied after a period of time in which the vehicle has been at least approximately stationary.

In some embodiments the controller is configured to receive indications of depressions of at least one user operable pedal, and provide the output signal to cause the brake of the vehicle to be automatically applied after the expiration of the first period of time with the predefined first duration, only after a predefined pedal release period has elapsed during which the at least one user operable pedal is not depressed. This provides the advantage that if a user keeps the vehicle stationary, for example by resting their foot on the brake pedal, and then they release the pedal without taking any further action, the brakes may be automatically applied.

In some embodiments the controller is configured to provide the output signal in dependence on the measured speed of the vehicle either having crossed zero since the start of the first period of time or having been within a second range that is smaller than the first range and which includes zero since the start of the first period of time. This provides the advantage that, provided the second range is sufficiently small, the brakes are only automatically applied when the vehicle is, or has recently been, brought to a halt. Consequently, the vehicle may be driven at very low speeds without the brakes being automatically applied when they are not required.

In some embodiments the controller is configured to provide the output signal in dependence on the measured speed of the vehicle either having crossed zero or having been zero since the start of the first period of time. This provides the advantage that the brakes are only automatically applied when the vehicle is, or has recently been, brought to a halt. Consequently, the vehicle may be driven at very low speeds without the brakes being automatically applied when they are not required.

In some embodiments the controller is configured to receive indications of depressions of at least one user operable pedal, and in dependence on the at least one user operable pedal being depressed, provide an output signal to cause brakes of the vehicle to be automatically applied only after the expiration of a second period of time in which the indication of measured speed is within the first speed range; and the second period of time has a predefined second duration that is longer than the predefined first duration.

In some embodiments the controller is configured to: receive indications of torque demand; and provide an output signal to cause brakes of the vehicle to be automatically applied only after the expiration of the second period of time in dependence on receiving an indication of a torque demand being received.

In some embodiments the controller is configured to receive the indication of the measured speed of the vehicle from a sensing means configured to measure speed of rotation of an electric motor arranged to drive the vehicle.

In some embodiments the vehicle is an electric vehicle.

In some embodiments the controller is configured to: receive an indication of a selected direction of travel; and provide the output signal only when said indication is received.

In some embodiments the controller comprises an electronic memory device and having instructions stored therein; and an electronic processor electrically coupled to the electronic memory device and configured to access the electronic memory device and execute the instructions.

According to another aspect of the invention there is provided a system comprising the controller of any one of the previous paragraphs and a brake system configured to apply a brake in dependence on receiving the output signal from the controller.

In some embodiments the system comprises a sensor for providing the indication of measured speed of the vehicle and the sensor is arranged to measure rotational speed of a motor of the vehicle.

According to yet another aspect of the invention there is provided a vehicle comprising the controller of any one of the previous paragraphs or the system of any one of the previous paragraphs.

According to a further aspect of the invention there is provided a method according to claim <NUM>.

In some embodiments said determining whether the gradient is below the threshold gradient comprises monitoring the indication of measured speed of the vehicle over a first period of time.

In some embodiments said determining whether the gradient is below the threshold gradient comprises determining whether the measured speed of the vehicle remains within a first speed range, including zero, for a first period of time that has a predefined first duration.

In some embodiments the method comprises receiving indications of depressions of at least one user operable pedal, and providing the output signal to cause the brake of the vehicle to be automatically applied after the expiration of the first period of time with the predefined first duration, only after a pedal release period has elapsed during which the at least one user operable pedal is not depressed.

In some embodiments the method comprises providing the output signal in dependence on the measured speed of the vehicle either having crossed zero or having been within a second range that is smaller than the first range and which includes zero since the start of the first period of time.

In some embodiments the method comprises providing the output signal in dependence on the measured speed of the vehicle either having crossed zero or having been zero since the start of the first period of time.

In some embodiments the method comprises receiving indications of depressions of at least one user operable pedal, and in dependence on the at least one user operable pedal being depressed, providing an output signal to cause brakes of the vehicle to be automatically applied only after the expiration of a second period of time in which the indication of measured speed is within the first speed range; and the second period of time has a predefined second duration that is longer than the predefined first duration.

In some embodiments the method comprises receiving indications of torque demand; and providing an output signal to cause brakes of the vehicle to be automatically applied only after the expiration of the second period of time in dependence on receiving an indication of a torque demand being received.

In some embodiments the method comprises receiving the indication of the measured speed of the vehicle from a sensor which measures the rotational speed of an electric motor arranged to drive the vehicle.

In some embodiments the method comprises: receiving an indication of a selected direction of travel; and providing the output signal only when said indication is received.

According to yet another aspect of the invention there is provided a computer program which when executed by a processor causes the processor to perform the method according to any one of the previous paragraphs.

According to a further aspect of the invention there is provided a non-transitory computer-readable storage medium having instructions stored therein which when executed on a processor cause the processor to perform the method according to any one of the previous paragraphs.

Within the scope of this invention it is expressly intended that the various aspects, embodiments, examples and alternatives set out in the preceding paragraphs, in the claims and/or in the following description and drawings, and in particular the individual features thereof, may be taken independently or in any combination within the scope of the claims. That is, all embodiments and/or features of any embodiment can be combined in any way and/or combination within the scope of the claims, unless such features are incompatible.

A road vehicle <NUM> embodying the present invention is shown in <FIG>. In the present embodiment the vehicle <NUM> is a car having an electric motor <NUM> arranged to provide torque to front wheels <NUM> via a transmission system <NUM> under the control of a powertrain control module <NUM>. The vehicle <NUM> also has a second electric motor <NUM> arranged to provide torque to rear wheels <NUM> via a second transmission system <NUM>, but it will be appreciated that in other embodiments, the vehicle <NUM> may just have a single electric motor that drives either the front wheels <NUM> or the rear wheels <NUM>.

The vehicle <NUM> is shown in <FIG> after having been stopped on a road with a slight uphill gradient of <NUM> or <NUM> degrees to the horizontal. The vehicle <NUM> was brought to rest by the driver (not shown) releasing the accelerator pedal <NUM> and without depressing the brake pedal <NUM>. The vehicle <NUM> may be momentarily kept in its present position by frictional resistance to rolling, but the vehicle <NUM> may start to roll unexpectedly, for example, triggered by movement of people in the vehicle <NUM> or a gust of wind. If the driver is not paying attention, the movement of the vehicle <NUM> may go unnoticed. However, the vehicle <NUM> is provided with a system (<NUM> shown in <FIG>) which automatically causes the brakes (<NUM> in <FIG>) of the vehicle <NUM> to be applied to hold the vehicle <NUM> stationary and prevent undesirable movement of the vehicle <NUM>.

A schematic diagram of a system <NUM> for automatically causing brakes <NUM> of the vehicle <NUM> to be applied to hold the vehicle <NUM> stationary is shown in <FIG>. The system <NUM> comprises a controller <NUM>. The controller <NUM> comprises an electronic processor <NUM> and an electronic memory device <NUM> having instructions <NUM> stored therein. The electronic processor <NUM> is electrically coupled to the electronic memory device <NUM> and it is configured to access the electronic memory device <NUM> and execute the instructions <NUM>, to cause the controller <NUM> to perform the processes that will be described below.

The controller <NUM> comprises input/output means <NUM> to enable signals to be received by the controller <NUM> from other components of the vehicle <NUM> and to enable the controller <NUM> to transmit signals to other components of the vehicle <NUM>. In an embodiment, the input/output means <NUM> may be provided by a transceiver configured to enable communication over a data bus.

The controller <NUM> is configured to receive signals from a brake pedal sensor <NUM> configured to detect pressure being applied to the brake pedal <NUM> and provide a signal to the controller <NUM> indicative of whether or not the brake pedal <NUM> has been pressed.

The controller <NUM> is also configured to receive signals indicative of whether or not the driver of the vehicle <NUM> is requesting torque by depression of the accelerator pedal <NUM>. In the present embodiment, these signals are received from an accelerator pedal sensor <NUM> configured to detect the position of the accelerator pedal <NUM> and provide signals indicative of depression or release of the accelerator pedal <NUM> to the controller <NUM>.

The controller <NUM> is also configured to receive signals from a motor speed sensor <NUM> indicative of the rotational velocity of the electric motor <NUM>, which is also indicative of the speed of the vehicle <NUM>. Due to the gear ratio of the transmission system <NUM>, the electric motor <NUM> turns many times for each revolution of the driven wheels <NUM>. Consequently, measurement of the rotational velocity of the electric motor <NUM> provides a very accurate indication of speed of the vehicle <NUM>, even at very low speeds of the vehicle <NUM>. This enables the controller <NUM> to determine from the received signals when the vehicle <NUM> is stationary with a relatively small measurement error.

It is noted that the word "speed" generally refers to a scalar quantity equal to the magnitude of a velocity, and therefore it is always positive. However, "speed of the vehicle", "measured speed" or "vehicle speed" as used herein refers to a scalar quantity with a positive sign for forward motion of the vehicle <NUM> and a negative sign for backward motion of the vehicle.

The vehicle <NUM> comprises a user input device <NUM> configured to enable a user to select a direction of travel, i.e. drive or reverse (D or R), or alternatively neutral or park (N or P). The controller <NUM> is configured to receive signals indicative of whether a direction of travel is currently selected. In the present embodiment the indication of the selected direction of travel is received from the user input device <NUM> but in alternative embodiments it may be received from the powertrain control module <NUM>.

The controller <NUM> is configured to provide output signals to a brake system <NUM> to cause the brakes <NUM> of the vehicle <NUM> to be applied to hold the vehicle <NUM> stationary. The brake system <NUM> may be an antilock braking system. The output signals are provided by the controller <NUM> in dependence on the indications of speed received from the motor speed sensor <NUM> and a determination that the gradient on which the vehicle <NUM> is positioned is less than a threshold gradient. In the present embodiment, the controller <NUM> determines that the gradient is less than a threshold gradient when the magnitude of the speed of the vehicle <NUM> is less than a threshold speed throughout a predefined period of time. For example, the threshold speed may be set at <NUM> kilometre per hour. In some embodiments, the threshold speed is dependent on the direction of movement of the vehicle <NUM>, but in either case the controller <NUM> determines that the gradient is less than a threshold gradient when the speed of the vehicle <NUM> remains within a first range of speeds that includes zero during the predefined period. For example, in an embodiment the first range is from -<NUM> kilometer per hour to +<NUM> kilometer per hour.

The time at which the output signal is provided by the controller <NUM> depends on whether the brake pedal sensor <NUM> indicates that the brake pedal <NUM> is depressed and/or the accelerator pedal sensor <NUM> indicating that the accelerator pedal <NUM> is depressed.

In some embodiments, the powertrain control module <NUM> has a creep function that causes the motor <NUM> to provide a small amount of torque when drive is selected and the accelerator pedal is not depressed. In such an embodiment, the creep function may be switched on or off by a user input device, and the controller is only configured to automatically cause the brakes to be applied, when the creep function is switched off. Similarly, in some embodiments, the vehicle <NUM> has a driver assist function, such as an autonomous cruise control system, and a user input device to enable a user to switch on or off the driver assist function. In such an embodiment the controller <NUM> is only configured to automatically cause the brakes to be applied, when the driver assist function is switched off.

A functional flow block diagram illustrating operations performed by the controller <NUM> is shown in <FIG>. The controller <NUM> is configured to receive the measured speed of the vehicle <NUM> and perform a low speed detection function <NUM> to detect when the speed of the vehicle <NUM> is within a first range of speeds that includes zero. When the measured speed is within the first range of speeds, an indication of this is provided to a first timer <NUM> and also to a second timer <NUM>.

The first timer <NUM> and the second timer <NUM> are arranged to start only when they receive an indication that the measured speed is within the first range of speeds and that the drive or reverse directions of travel have been selected by the driver. If the measured speed goes outside of the first range of speeds and/or the drive or reverse are deselected, the timers <NUM> and <NUM> are stopped and reset.

The first timer <NUM> times a first period that has a predefined first duration and the second timer times a second period having a predefined second duration that is longer than the predefined first duration. Typically the predefined first duration is about <NUM> seconds.

The first timer <NUM> is arranged to provide an output to indicate when the first period has expired and the output is maintained by the first timer <NUM> while ever the measured speed remains within the first range of speeds and the drive/reverse selection is maintained. Similarly, the second timer <NUM> provides an output to indicate when the second period has expired and the output is maintained by the second timer while ever the measured speed remains within the first range of speeds and the drive/reverse selection is maintained.

The controller <NUM> is also configured to perform a zero speed detection function <NUM> in which the measured speeds received by the controller <NUM> are compared to a second range of speeds that includes zero. The second range of speeds is substantially smaller than the first range of speeds and is typically arranged to be approximately equal to zero plus or minus the measurement accuracy of the motor speed sensor <NUM>. For example, the second range of speeds may be from -<NUM> to +<NUM> kilometres per hour, or even smaller. The zero speed detection function <NUM> is configured to provide an output indicating that the vehicle <NUM> is stationary when a measured speed is within the second range of speeds.

In instances when the vehicle <NUM> is driven forwards and stopped, and then it rolls backwards, the measured speed changes from a positive value to a negative value indicating that the speed of the vehicle <NUM> has crossed zero. Similarly when the vehicle <NUM> is driven in reverse and stopped, and then it rolls forwards, the measured speed changes from a negative value to a positive value indicating that the speed of the vehicle <NUM> has crossed zero. The zero speed detection function <NUM> is also configured to detect when the speed of the vehicle <NUM> has crossed zero and provide an indication that the vehicle <NUM> is stationary when this is detected.

When the second timer <NUM> provides an output indicating that the second period of second duration has been exceeded and the zero speed detection function <NUM> indicates that the vehicle <NUM> is stationary, the controller <NUM> is configured to provide an output signal <NUM> to the brake system <NUM> to request that the brake system <NUM> to apply the brakes <NUM> to hold the vehicle <NUM> stationary.

The request for brakes to be applied is latched until any one of a second set of requirements is met. The second set of requirements may comprise: the brake system <NUM> confirming that the brakes <NUM> have been applied; selection of neutral (rather than drive or reverse); confirmation that the park pawl is engaged when park is selected (rather than drive or reverse); a driver pressing the accelerator pedal to cause the vehicle to be moved in the selected direction of travel; a driver pressing the brake pedal, which indicates that the driver is taking control of the vehicle; creep function or a driver assist function being switched on.

The controller <NUM> is also configured to receive a signal from the accelerator pedal sensor <NUM> indicative of when the accelerator pedal <NUM> is being depressed, and, in the present embodiment, receive a signal from the brake pedal sensor <NUM> indicative of when the brake pedal <NUM> is being depressed. The controller <NUM> comprises a pedal release timer <NUM> arranged to: start when these signals both indicate that the pedals <NUM> and <NUM> have gone from a pressed state to a released state; and stop and reset when the signals indicate that either of the pedals <NUM> and <NUM> has gone from a released state to a pressed state.

The pedal release timer <NUM> is configure to provide an output when the period from it being started exceeds a predefined pedal release duration, and to maintain the output while ever both the accelerator pedal <NUM> and the brake pedal <NUM> continue to be released. In the present embodiment, the predefined pedal release duration is about <NUM> seconds.

The controller <NUM> is also configured to provide a low torque detection function <NUM>, in which a received signal indicating the current powertrain torque demand is compared to a small threshold value and to indicate when the powertrain torque demand is low, i.e. less than that threshold value.

The controller <NUM> is configured to provide an output signal <NUM> to the brake system <NUM> to cause the brake system <NUM> to apply the brakes <NUM> to hold the vehicle <NUM> stationary when: the first timer <NUM> provides an output indicating that the first period of first duration has been exceeded; the zero speed detection function <NUM> indicates that the vehicle <NUM> is stationary; the pedal release timer <NUM> indicates that the pedals <NUM> and <NUM> have been released for at least the predefined pedal release duration; and the low torque detection function <NUM> indicates that the powertrain torque demand is low.

Thus, the controller <NUM> is configured to automatically provide an output signal <NUM> to the brake system <NUM> to cause the brake system <NUM> to apply the brakes <NUM> to hold the vehicle <NUM> stationary, after a period of time of defined duration has elapsed beginning when the measured speed is within the first range of speeds. If the powertrain torque demand is low, and the accelerator pedal <NUM> and the brake pedal <NUM> are both released, the output signal <NUM> may be provided after a relatively short first period of time measured by the first timer <NUM>. Alternatively, if either of the pedals <NUM> and <NUM> is depressed and/or the torque demand of the powertrain is high, the output signal <NUM> may be provided only after a relatively longer second period of time measured by the second timer <NUM>.

It may be noted that if the brake pedal <NUM> and accelerator pedal <NUM> are both released and the speed of the vehicle <NUM> remains less than a threshold speed for the duration of the first period, timed by the first timer <NUM>, this indicates that the gradient on which the vehicle <NUM> is positioned is less than a threshold gradient. i.e. if the vehicle <NUM> were on a steeper slope it would accelerate more rapidly and its speed would not remain within the first range of speeds used by the low speed detection function <NUM> for the whole period measured by the first timer <NUM>.

In an alternative embodiment, the controller <NUM> is configured to receive a signal from a gradient sensing means which may comprise an inertial measurement unit. The gradient sensing means or the controller <NUM> may be configured to determine when the gradient measured by the gradient sensing means is less than a predefined threshold gradient. The controller <NUM> may then be arranged to provide the output signal <NUM> to the brake system <NUM> when: the sensed gradient is below the threshold gradient; the measured speed is below a threshold speed (or within a first range); and a direction of travel (drive/reverse) is selected. Therefore, in such an embodiment, the first timer <NUM> is not necessary. It will be understood that the implementation of the second timer is also optional.

In alternative embodiments, the second timer <NUM> is omitted and the controller <NUM> only provides an output signal when: the first timer <NUM> has exceeded its predefined duration; the measured speed remains within the first range; the measured speed has been zero or crossed zero since the first timer was started; a direction of travel (drive/reverse) is selected; and at least the accelerator pedal is not depressed. In other alternative embodiments, the first timer <NUM> is omitted and the controller <NUM> only provides an output signal when: the second timer <NUM> has exceeded its predefined duration; the measured speed remains within the first range; the measured speed has been zero or crossed zero since the second timer <NUM> was started; and a direction of travel (drive/reverse) is selected.

In addition or alternatively, the controller <NUM> may not include the zero speed detection function <NUM> and it may be configured to provide the output signal <NUM> whenever drive or reverse are selected and either the second timer <NUM> has timed out or the first timer <NUM> and the pedal release timer <NUM> have timed out.

In an alternative embodiment, the pedal release timer <NUM> is started in dependence on receiving an indication of the accelerator pedal <NUM> being released and does not depend on the brake pedal <NUM> being released.

Graphs illustrating some examples of the behavior of the controller <NUM> are shown in <FIG>. Each one of <FIG> shows four graphs with time along the horizontal axis. Along the vertical axis the graphs show, from top graph to bottom graph: vehicle speed; accelerator pedal pressure; brake pedal pressure; and the output signal <NUM> from the controller <NUM> to the brake system <NUM> to request application of the brakes <NUM>.

In <FIG>, the vehicle <NUM> is slowing down from a speed of <NUM> kilometres per hour. When the speed becomes less than a threshold speed of <NUM> kilometre per hour at time t1, the first timer <NUM> is started and it continues to run as the speed remains below the <NUM> kilometre per hour threshold speed. At time t2 the first timer exceeds its predefined first duration, in this case <NUM> seconds, and the vehicle <NUM> is still not stationary. Consequently, in terms of <FIG>, the zero speed detection function <NUM> has not yet provided a necessary output to enable the controller <NUM> to provide its output signal <NUM> to the brake system <NUM>. Shortly after t2, at time t3 the vehicle <NUM> becomes stationary as determined by the zero speed detection function <NUM>. The brake pedal <NUM> and the accelerator pedal <NUM> are never depressed during this example, and therefore when the vehicle <NUM> becomes stationary at t3, the controller <NUM> provides an output signal <NUM> to request the brake system <NUM> to apply the brakes <NUM>.

In <FIG>, the vehicle <NUM> is slowing down from a speed of <NUM> kilometres per hour. When the speed becomes less than a threshold speed of <NUM> kilometre per hour at time t4, the first timer <NUM> is started and it continues to run as the speed remains below the <NUM> kilometre per hour threshold speed. In less than <NUM> seconds of t4, at time t5, the speed goes through <NUM> kilometres per hour and becomes negative as the vehicle <NUM> rolls backwards in the opposite direction to its initial direction of travel. Therefore, in terms of <FIG>, the zero speed detection function <NUM> detects that the speed has crossed zero at time t5 and provides an output signal to indicate this. Then at time t6, the first timer <NUM> reaches its predefined duration of <NUM> seconds, and because the accelerator pedal <NUM> and the brake pedal <NUM> have not been depressed, and the magnitude of the speed of the vehicle <NUM> has been below the threshold speed of <NUM> kilometre per hour since the first timer started at time t4, the controller <NUM> provides an output signal <NUM> at time t6. The application of the brakes <NUM> at t6, caused by the output signal <NUM>, slows the vehicle <NUM> back down to zero kilometres per hour at time t7.

In <FIG>, the graphs illustrate the vehicle <NUM> slowing down on an uphill gradient while a small input is received at the accelerator pedal <NUM>. The speed of the vehicle <NUM> goes below a threshold speed of the <NUM> kilometre per hour at time t8 and the first and second timers <NUM> and <NUM> are started. The speed then becomes at time t9, and remains at <NUM> kilometres per hour because the torque generated by the electric motor <NUM> is just sufficient to hold the vehicle <NUM> stationary on the uphill gradient. Following t9, at t10, which is <NUM> seconds after time t8, the first timer <NUM> times out but the controller <NUM> is unable to provide an output signal <NUM> to the brake system <NUM> because the driver is still pressing the accelerator pedal <NUM> to keep the vehicle <NUM> stationary. Later, at t11 the second timer <NUM> times out and consequently the controller <NUM> provides the output signal <NUM> to the brake system.

In <FIG>, the vehicle <NUM> is slowing down while a small input is received at the accelerator pedal. The speed of the vehicle <NUM> goes below a threshold speed of the <NUM> kilometre per hour at time t12, but it never becomes stationary. Consequently in terms of <FIG>, the zero speed detection function <NUM> does not provide an output indicating that the vehicle <NUM> is stationary and so the controller <NUM> is not enabled to provide an output signal <NUM>. The driver is therefore able to drive the vehicle <NUM> at very low speeds without interference of automatic brake application.

A flowchart illustrating a method <NUM> performable by the controller <NUM> is shown in <FIG>. At block <NUM> of the method <NUM>, an indication of measured speed of the vehicle <NUM> is received. At block <NUM> it is determined whether the measured speed is in a first range of speeds that includes zero. If the measured speed is not in the first range, then the processes at blocks <NUM> and <NUM> are repeated. If the measured speed is determined to be in the first range at block <NUM>, an output signal is provided to a brake system <NUM> at block <NUM> in dependence on a determination that a gradient on which the vehicle <NUM> is positioned is less than a threshold gradient. The method <NUM> may then be repeated.

A flowchart illustrating a second method <NUM> performable by the controller <NUM> is shown in <FIG>, in which the determination that the gradient is less than a threshold gradient is achieved by monitoring speed of the vehicle <NUM>. At block <NUM> of the method <NUM>, an indication of measured speed of the vehicle <NUM> is received. At block <NUM> it is determined whether the measured speed is in a first range of speeds that includes zero. If the measured speed is not in the first range, then the processes at blocks <NUM> and <NUM> are repeated.

If the measured speed is determined to be in the first range at block <NUM>, a first timer is started at block <NUM> and another indication of measured speed is received at block <NUM>. At block <NUM> it is determined if the measured speed is still in the first range and if it is not the processes at blocks <NUM> and <NUM> are repeated until the speed is once again in the first range.

If it is determined at block <NUM> that the speed is still in the first range, it is determined at block <NUM> whether the first timer <NUM> has exceeded a first duration. If it has not, then the processes at blocks <NUM>, <NUM> and <NUM> are repeated until it is determined at block <NUM> that the first timer has exceeded the first duration. When that happens, at block <NUM> an output signal is provided to the brake system <NUM> to cause it to apply the brakes <NUM>.

A flowchart illustrating a third method <NUM> performable by the controller <NUM> is shown in <FIG> and <FIG>. At block <NUM> of the method <NUM>, an indication of measured speed of the vehicle <NUM> is received. At block <NUM> it is determined whether the measured speed is in a first range of speeds that includes zero. If the measured speed is not in the first range, then the processes at blocks <NUM> and <NUM> are repeated.

If the measured speed is determined to be in the first range at block <NUM>, a first timer <NUM> and a second timer <NUM> are reset and started at block <NUM> and a zero speed flag is reset to zero at block <NUM>. A pedal release timer <NUM> is then reset to zero and started at block <NUM>. At block <NUM> it is determined whether a pedal is depressed. As described above with reference to <FIG>, the pedal concerned may be the accelerator pedal but in the present embodiment it is determined at block <NUM> whether either of the accelerator pedal or the brake pedal is depressed. If the pedals concerned are both released, then it is determined at block <NUM> whether or not drive or reverse has been selected by the driver. If the drive or reverse has been deselected, for example if the user has selected neutral or park, the method <NUM> returns to block <NUM>.

Otherwise, if drive or reverse are found to be selected at block <NUM>, it is determined at block <NUM> whether the current measured speed is zero or if the measured speed has crossed zero, i.e. the measured speed has changed sign indicating a change in direction of the vehicle <NUM>. If the current measured speed is zero or if the measured speed has crossed zero, the zero speed flag is set to <NUM> at block <NUM>.

At block <NUM> it is determined whether the current measured speed is still in the first range, and if it is not then the method returns to block <NUM>. If the current measured speed is still in the range, then at block <NUM> it is determined whether the zero speed flag is set to <NUM>. If it is, then it is determined at block <NUM> whether the pedal release timer <NUM> has exceeded a pedal timer duration, i.e. it is determined whether a predefined pedal release period (for example, with a duration of <NUM> seconds) has elapsed since the pedal release timer <NUM> was started at block <NUM>. If it has, then it is determined at block <NUM> whether the first timer has exceeded a first duration. If it has, then an output signal is provided at block <NUM>, for example to the brake system <NUM> to cause application of brakes <NUM>.

If any of the determinations at blocks <NUM>, <NUM> or <NUM> give a negative result, then the processes at blocks <NUM> to <NUM> are repeated as necessary. If during the repeating of the processes at blocks <NUM> and <NUM> it is determined that the drive or reverse are no longer selected, or the speed is no longer within the first range, then the method <NUM> returns to block <NUM>.

In an alternative embodiment, if it is determined at block <NUM> that a pedal is depressed, then the method <NUM> simply returns to block <NUM>. However, in the present embodiment, if it is determined at block <NUM> that a pedal is depressed, then a process at block <NUM> is performed, which is shown on <FIG>. At block <NUM> it is determined whether the current measured speed is still in the first range and, if it is, it is determined at block <NUM> whether drive or reverse are selected. If it is, then the process at block <NUM> is performed. However, if either of the processes at blocks <NUM> and <NUM> provide a negative result, then the method <NUM> returns to block <NUM> (<FIG>).

At block <NUM> it is determined whether a pedal is still being depressed and, if it is, it is determined at block <NUM> whether the current measured speed is zero or if the speed has crossed zero. The process at block <NUM> is therefore like that of block <NUM>. If the current measured speed is zero or if the speed has crossed zero then the zero speed flag is set to <NUM> at block <NUM>.

At block <NUM> it is determined whether the zero speed flag is set to <NUM> and, if it is, it is determined at block <NUM> if the second timer <NUM> has exceed a second duration. As mentioned above, the second duration is longer than the first duration. If the second timer <NUM> has exceeded the second duration, then the output is provided at block <NUM> to cause the brakes <NUM> to be applied. If the processes at blocks <NUM> or <NUM> provide a negative result, the method returns to block <NUM> and the processes at blocks <NUM> to <NUM> and <NUM> are repeated.

If it is determined at block <NUM> that no pedal is being depressed then the pedal release timer <NUM> is reset and started at block <NUM> (shown in <FIG>) and the method <NUM> may continue with the processes of blocks <NUM> to <NUM> as described above. When returning to block <NUM> from block <NUM> it is possible that the first timer has already timed out and that the vehicle <NUM> has been noted as being stationary at blocks <NUM> and <NUM>. In such a case, the expiry of the pedal release timer <NUM> may be all that is still required for the output signal to be provided at block <NUM>. Therefore, for example, if the pedal timer duration is <NUM> seconds, then the brakes <NUM> may be automatically applied in accordance with block <NUM>, <NUM> seconds after the pedals are released.

For purposes of this disclosure, it is to be understood that the controller(s) described herein can each comprise a control unit or computational device having one or more electronic processors. A vehicle and/or a system thereof may comprise a single control unit or electronic controller or alternatively different functions of the controller(s) may be embodied in, or hosted in, different control units or controllers. A set of instructions could be provided which, when executed, cause said controller(s) or control unit(s) to implement the control techniques described herein (including the described method(s)). The set of instructions may be embedded in one or more electronic processors, or alternatively, the set of instructions could be provided as software to be executed by one or more electronic processor(s). For example, a first controller may be implemented in software run on one or more electronic processors, and one or more other controllers may also be implemented in software run on or more electronic processors, optionally the same one or more processors as the first controller. It will be appreciated, however, that other arrangements are also useful. In any event, the set of instructions described above may be embedded in a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium) that may comprise any mechanism for storing information in a form readable by a machine or electronic processors/computational device, including, without limitation: a magnetic storage medium (e.g., floppy diskette); optical storage medium (e.g., CD-ROM); magneto optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM or EEPROM); flash memory; or electrical or other types of medium for storing such information/instructions.

The blocks illustrated in the <FIG> may represent steps in a method and/or sections of code in the computer program <NUM>. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some steps to be omitted.

Claim 1:
A controller (<NUM>) for a vehicle (<NUM>), the controller (<NUM>) being configured to:
receive an indication of a measured speed of the vehicle (<NUM>);
determine whether a gradient on which the vehicle (<NUM>) is located is below a threshold gradient; and
provide an output signal to cause a brake (<NUM>) of the vehicle (<NUM>) to be automatically applied to hold the vehicle (<NUM>) stationary, in dependence on:
the received indication of the measured speed of the vehicle (<NUM>) being below a threshold speed; and
the determination that the gradient is below the threshold gradient,
characterized in that the controller (<NUM>) is configured to receive indications of depressions of at least one user operable pedal (<NUM>, <NUM>), and in dependence on the at least one user operable pedal (<NUM>, <NUM>) being depressed, provide the output signal to cause the brake (<NUM>) of the vehicle (<NUM>) to be automatically applied only after the expiration of a first period of time having a first duration in which the indication of measured speed is within a first speed range including zero.