Patent Description:
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.

Without the creep torque function, when the vehicle comes to rest on a gradient, it may roll back in the opposite direction to the currently selected direction of travel. For example, when the driver has selected drive, rather than reverse, the vehicle may be driven forwards on an uphill gradient and stopped and allowed to roll backwards. Rolling backwards may be useful in some situations, for example when parking. The speed of the vehicle, when rolling against the selected direction of travel, can be limited by application of the brakes. However, a disadvantage of limiting speed in this way is that it can create poor NVH (noise vibration and harshness). It may also be difficult for the driver to control the movement of the vehicle, particularly if the vehicle is positioned on a very steep slope.

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

In <CIT>, a creeping-cut control apparatus for an electrically driven vehicle is described.

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 implementation there is provided a controller for a vehicle, the controller comprising: means to receive an indication of a user selected direction of travel; means to receive an indication of the direction of motion of the vehicle; means to determine a proposed torque value in dependence on the direction of motion being an opposite direction to the selected direction of travel; and means to provide an output signal configured to cause a motor to apply torque, in dependence on the proposed torque value, to oppose motion in said opposite direction.

This provides the advantage that a driver of the vehicle is able to allow the vehicle to roll in the opposite direction to the selected direction of travel without having to use the brakes to prevent the vehicle accelerating too quickly. Consequently, the NVH is reduced and also the speed of the vehicle is more easily controlled. For example, if the driver brings the vehicle to rest on an uphill gradient and allows the vehicle to roll backwards towards a parking space, the controller automatically causes torque to be applied to reduce acceleration of the vehicle as it rolls backwards. The driver is also free to modulate the speed of the vehicle by application of the brakes.

According to an implementation there is provided a controller for a vehicle, the controller being configured to: receive an indication of a user selected direction of travel; receive an indication of the direction of motion of the vehicle; determine a proposed torque value in dependence on the direction of motion being an opposite direction to the selected direction of travel; and provide an output signal configured to cause a motor to apply torque, in dependence on the proposed torque value, to oppose motion in said opposite direction.

According to an implementation there is provided a controller for a vehicle, the controller comprising: a port configured to receive an indication of a user selected direction of travel; a port configured to receive an indication of the direction of motion of the vehicle; 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 to determine a proposed torque value in dependence on the direction of motion being an opposite direction to the selected direction of travel; and an output port configured to provide an output signal configured to cause a motor to apply torque, in dependence on the proposed torque value, to oppose motion in said opposite direction.

In some embodiments the controller comprises means to receive signals indicative of user requests for torque received at an accelerator pedal, and the controller is configured to determine the proposed torque value in dependence on receiving no indication of a user request for torque in a period including the current time. This provides the advantage that, when the user is actuating the accelerator pedal, they remain in control of the torque provided by the motor.

In some embodiments the controller comprises means to receive a signal indicative of whether a creep mode has been selected, and provide the output signal only when creep mode is not selected.

In some embodiments the controller comprises means to receive an indication of speed of the vehicle; and the controller is configured to determine the proposed torque value in dependence on the speed of the vehicle. This provides the advantage that the torque provided by the motor may be arranged to limit speed of the vehicle in a controlled manner. For example, no torque may be provided at very low speeds and torque provided at higher speeds to prevent the vehicle rolling too quickly.

In some embodiments the proposed torque value is proportional to the speed of the vehicle.

In some embodiments the controller is configured to determine the proposed torque value in dependence on an indication of a rate of increase in speed of the vehicle and/or an indication of a gradient that the vehicle is positioned on. This provides the advantage that increased torque may be provided by the powertrain to resist rolling of the vehicle on steeper gradients where the acceleration of the vehicle would otherwise require high levels of brake torque.

In some embodiments the proposed torque value is arranged to be proportional to the rate of increase in speed of the vehicle and/or the gradient that the vehicle is positioned on.

In some embodiments the controller comprises means to receive an indication of speed of the vehicle; and the controller is configured to determine the indication of the rate of increase in speed of the vehicle.

In some embodiments the controller is a closed-loop controller having the speed of the vehicle as an input; and the controller is configured to determine proposed torque values that allow the speed of the vehicle to increase towards a predefined speed. This provides the advantage that the maximum speed that the vehicle will obtain will be quite predictable for the driver.

In some embodiments the controller is configured to provide the output signal to cause a motor of the vehicle to automatically provide torque to oppose motion in the opposite direction to the selected direction of travel, in dependence on receiving an indication that brakes of the vehicle are not being applied.

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 to determine the proposed torque value.

In some embodiments the means to receive and/or the means to provide an output signal comprises a transceiver.

According to another implementation there is provided a system comprising the controller of any one of the previous paragraphs and a sensing means configured to sense speed of the vehicle and provide an indication of the speed to the controller.

In some embodiments the sensing means comprises a sensor configured to sense the rotational speed of an electric motor of the vehicle. This provides the advantage that accurate speeds for the vehicle may be obtained, even at very low speeds. Therefore the controller may be made aware of movement very soon after the vehicle rolls away from rest.

In some embodiments the system comprises an electric motor configured to produce torque in dependence on the proposed torque value provided by the controller.

In some embodiments the system comprises a user input device configured to provide a signal to the controller indicating selection or deselection of a creep mode in response to a corresponding user input.

In some embodiments the system comprises a user input device configured to provide a signal to the controller indicating a user selected direction of travel.

According to a further implementation 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 yet another implementation there is provided a method of controlling speed of a vehicle, the method comprising: receiving an indication of a user selected direction of travel; receiving an indication of the direction of motion of the vehicle; determining a proposed torque in dependence on the direction of motion being an opposite direction to the selected direction of travel; and causing a motor to apply the proposed torque to oppose motion in said opposite direction.

In some embodiments the method comprises determining the proposed torque in dependence on a determination that no user request for torque is currently being received.

In some embodiments the method comprises receiving a signal indicative of whether a creep mode has been selected, and provide the output signal only when creep mode is not selected.

In some embodiments the method comprises determining the proposed torque value in dependence on a measured speed of the vehicle.

In some embodiments the proposed torque value is proportional to the measured speed of the vehicle.

In some embodiments the method comprises determining the proposed torque value in dependence on an indication of a rate of increase in the measured speed of the vehicle.

In some embodiments the proposed torque value is arranged to be proportional to the rate of increase in speed of the vehicle.

In some embodiments the method comprises receiving an indication of the measured speed of the vehicle from a sensor sensing the rotational speed of an electric motor of the vehicle or from a sensing means sensing the rotational speed of a road wheel.

In some embodiments the method comprises bdetermining an indication of the speed of the vehicle from a received indication of a selected gear of a transmission system and an indication of measured speed received from a sensor sensing the rotational speed of an electric motor of the vehicle.

According to another implementation 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 yet another implementation 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.

According to a further implementation there is provided a method of controlling speed of a vehicle, the method comprising: receiving an indication of a user selected direction of travel; determining the direction of motion of the vehicle; and in dependence on the direction of motion being opposite to the selected direction of travel, providing an output signal to cause a motor to apply torque to oppose the motion of the vehicle.

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 (PCM) <NUM>. The vehicle <NUM> may also have 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 the front wheels <NUM> and/or the rear wheels <NUM>.

By way of example, the vehicle <NUM> is shown in <FIG> after having been driven up a hill and stopped on an uphill gradient of about <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 momentarily be stationary but due to the gradient it begins to roll backwards down the hill in the opposite direction to the selected direction of travel. However, the vehicle <NUM> is provided with a system (<NUM> shown in <FIG>) which automatically causes the first electric motor <NUM> and/or the second electric motor <NUM> to generate torque to oppose the backwards rolling of the vehicle <NUM>, such that the acceleration of the vehicle <NUM> down the hill is reduced from what it otherwise could be.

In some embodiments, the system (<NUM> shown in <FIG>) may be configured to cause the ratio of the torque automatically provided by the front wheels <NUM> to the torque automatically provided by the rear wheels <NUM> to be varied in dependence on the gradient on which the vehicle <NUM> is positioned. When the vehicle <NUM> is positioned on a slope, the proportion of the weight of the vehicle <NUM> that rests on the lowermost wheels <NUM> or <NUM> is increased and the weight that rests on the uppermost wheels <NUM> or <NUM> is decreased. The system (<NUM> shown in <FIG>) is configured to increase the proportion of the torque that is applied through the lowermost wheels <NUM> or <NUM> to increase the likelihood that the wheels <NUM> and <NUM> will be able to provide the required traction. The proportion of the torque provided by the lowermost wheels <NUM> or <NUM> may be arranged to be proportional to the gradient on which the vehicle <NUM> is positioned.

In the present embodiment, the driver is still able to modulate the speed of the vehicle <NUM> as it rolls back down the hill by depression of the brake pedal <NUM>, but the brake torque that is required to achieve a desired speed is reduced due to the torque provided by the electric motor(s) <NUM>, <NUM>. In dependence on the driver requesting brake torque that is above a threshold brake torque, the system (<NUM> shown in <FIG>) may be configured to reduce torque provided by the electric motor(s) <NUM>, <NUM>, so that the driver is provided with full control of the vehicle <NUM>. For example, the threshold brake torque may be equal to the torque currently provided by the motor(s) <NUM>, <NUM>.

In an alternative example to that shown in <FIG>, the vehicle <NUM> may come to rest after reversing up a hill and momentarily stop before rolling forwards down the hill, i.e. in the opposite direction to the selected backwards direction of travel. In such an example, the system (<NUM> shown in <FIG>) may automatically cause the first electric motor <NUM> and/or the second electric motor <NUM> to generate torque to oppose the forward rolling of the vehicle <NUM>, such that the acceleration of the vehicle <NUM> down the hill is reduced from what it otherwise could be.

A schematic diagram of a system <NUM> for automatically causing the electric motor <NUM> and/or the electric motor <NUM> of the vehicle <NUM> to generate torque when the vehicle <NUM> is rolling in the opposite direction to a selected direction of travel 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> may comprise receiving means <NUM> to enable it to receive signals from other components of the vehicle <NUM>. For example, the controller <NUM> may comprise a transceiver <NUM> having at least one port to enable the controller to communicate with other components of the vehicle <NUM> over a data bus such as a CAN (Controller Area Network) bus.

The system <NUM> includes a first user input device <NUM> configured to enable a driver of the vehicle <NUM> to select a direction of travel, i.e. either drive (forward) or reverse, or alternatively select neutral or park. The first user input device <NUM> therefore enables the driver to make selections in a similar manner to a gear selection device in a vehicle that has an internal combustion engine and selectable gears. The controller <NUM> may have a port configured to receive the indications of a user selected direction of travel from the first user input device <NUM>.

In some embodiments, the vehicle <NUM> does not have a creep function. However, in embodiments in which the vehicle <NUM> has a creep function, the system <NUM> may also comprise a second user input device <NUM> to enable the driver to select or deselect the creep function. In such embodiments the controller <NUM> may have a port configured to receive indications of whether or not the creep function is selected.

The system <NUM> may include an accelerator pedal sensor <NUM> configured to provide an indication to the controller <NUM> when the accelerator pedal <NUM> is being depressed.

The system <NUM> may also include a vehicle speed sensing means comprising a motor speed sensor <NUM>. The controller <NUM> may have a port configured to receive signals from the 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>. i.e. the speed of the vehicle <NUM> may be calculated from the rotational velocity and knowledge of the transmission system <NUM>.

In the present embodiment, due to the gear ratio of the transmission system <NUM>, the electric motor <NUM> may turn many times for each revolution of the driven wheels <NUM>. Consequently, measurement of the rotational velocity of the electric motor <NUM> may provide a very accurate indication of speed of the vehicle <NUM>, even at very low speeds of the vehicle <NUM>.

In an embodiment in which the transmission <NUM> has several different selectable gears each having a different gear ratio, the controller <NUM> may receive an indication of the currently selected gear and determine an indication of the speed of the vehicle <NUM> in dependence on the rotational velocity of the electric motor <NUM> and the currently selected gear.

It should be noted that the word "speed" in general use 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" and "vehicle speed" as used herein refer to a scalar quantity with a positive sign for forward motion of the vehicle <NUM> and a negative sign for backwards motion of the vehicle.

In an alternative embodiment, the controller <NUM> may have a port configured to receive indications of speed of the vehicle <NUM> from an alternative vehicle speed sensing means, such as from an antilock braking system <NUM> of the vehicle <NUM>.

The controller <NUM> is operably connected to the powertrain control module <NUM> to enable it to provide output signals to the PCM <NUM> to request torque from the electric motor <NUM> when required. The controller <NUM> may be arranged to provide output signals to the PCM <NUM> via a port of the transceiver <NUM>.

Graphs illustrating an example of the operation of the system <NUM> are shown in <FIG> shows two graphs. The upper graph is a plot of torque generated by the electric motor <NUM> against time and the lower graph is a plot of speed of the vehicle <NUM> against time. The solid line <NUM> on the lower graph shows the actual speed of the vehicle <NUM> with the system <NUM> operational, and the dashed line <NUM> shows the speed that the vehicle <NUM> would have had if the system <NUM> were not operational.

Initially in the graphs of <FIG>, torque is generated by the motor <NUM> in response to a user demand for torque received at the accelerator pedal <NUM>, and the vehicle has motion in the selected direction of travel. At time t1 the accelerator pedal <NUM> is being released and the torque generated by the motor <NUM> begins to reduce. The speed of the vehicle <NUM> also reduces in a corresponding manner.

At time t2 the torque has reduced to zero and from then until t3, when the vehicle <NUM> becomes stationary, the torque provided by the motor <NUM> is negative; the negative torque assists with reducing the speed of the vehicle <NUM>. Between times t2 and t3, the negative torque reduces as the speed reduces, so that at t3, when the speed is zero, the torque is also zero. From time t3 onwards, the vehicle <NUM> rolls backwards, as indicated by the negative speed of the solid line <NUM> on the graph. However, in dependence on determining that the speed of the vehicle <NUM> is in the opposite direction to the selected direction of travel, the controller <NUM> has provided an output signal to the PCM <NUM> to cause the motor <NUM> to generate positive torque. Therefore, the increase in speed of the vehicle <NUM>, as shown by the line <NUM>, is less than it otherwise would be, as shown by the dashed line <NUM>.

A functional flow block diagram illustrating operations performable by the controller <NUM> is shown in <FIG>. The controller <NUM> is configured to receive an indication of the direction of motion of the vehicle <NUM> or an indication of the measured speed of the vehicle <NUM>, for example from the motor speed sensor <NUM>, and also configured to receive an indication of the direction of travel selected by the user, for example, from the user input device <NUM>. The controller <NUM> is configured to perform a roll-back detection function <NUM> to compare the direction of motion to the selected direction of travel and provide an output indicative of whether or not the direction of motion is the same as the selected direction of travel. That is, if the selected direction of travel is forwards (or drive is selected), the controller <NUM> provides an indication of whether or not the direction of motion is also forwards, and if the selected direction of travel is reverse, the controller <NUM> provides an indication of whether or not the direction of motion is also in reverse (backwards).

The controller <NUM> is also configured to perform a torque determination function <NUM> which receives the indication of the measured speed of the vehicle <NUM>. In dependence on the roll-back detection function <NUM> indicating that the direction of motion of the vehicle <NUM> is opposite to the selected direction of travel, the torque determination function <NUM> determines a proposed torque value and provides an output signal <NUM> to the PCM <NUM> to cause the electric motor(s) <NUM> and/or <NUM> to apply torque in dependence on the proposed torque value, to oppose the motion of the vehicle <NUM>.

The PCM <NUM> may be configured to cause the electric motor(s) <NUM>, <NUM> to generate torque in dependence on torque requests received from the accelerator pedal sensor <NUM>, and, in the absence of such a request, cause the electric motor(s) <NUM>, <NUM> to generate torque in dependence on proposed torque values received via the output signal <NUM> from the controller <NUM>.

In the present embodiment, the controller <NUM> also receives indications of requested torque from the accelerator pedal sensor <NUM> and indications of creep mode being selected. The controller <NUM> is configured to only determine a proposed torque value, and provide an output signal <NUM>, when: the creep mode is not selected; a torque request is not currently being received; and the roll-back detection function <NUM> determines that the direction of motion of the vehicle <NUM> is opposite to the selected direction of travel.

By not providing an output <NUM> when the accelerator pedal sensor <NUM> indicates that the user is depressing the accelerator pedal <NUM>, the driver is left in control of the torque provided by the electric motors <NUM> and <NUM> and so the driver may modulate the speed of the vehicle <NUM> using the accelerator pedal <NUM>.

In alternative embodiments that do not have a creep function, the controller <NUM> may be configured to only determine a proposed torque value, and provide an output signal <NUM>, when: a torque request is not currently being received; and the roll-back detection function <NUM> determines that the direction of motion of the vehicle <NUM> is opposite to the selected direction of travel.

In some embodiments, the controller <NUM> may be configured to receive indications of brake pressure applied by the braking system <NUM> caused by operation of the brake pedal <NUM>. The controller <NUM> may be configured to perform a brake pressure comparison function <NUM> to determine if the brake pressure is exceeding a threshold pressure, and the torque determination function <NUM> may be configured to only provide an output signal <NUM> to cause the motor(s) <NUM>, <NUM> to provide torque when the brake pressure is determined to be less than the threshold pressure. In addition, during periods when an output signal <NUM> is being provided to cause torque to be automatically provided by the motor(s) <NUM>, <NUM>, in response to receiving an indication that brake pressure is exceeding a threshold pressure, the controller <NUM> may be configured to cause the torque applied by the electric motor(s) <NUM>, <NUM> to be reduced, so that full control is handed back to the driver.

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 a selected direction of travel (either forward (drive) or reverse) is received. At block <NUM> an indication of the direction of motion of the vehicle <NUM> is received, for example, from the motor speed sensor <NUM>. At block <NUM> it is determined whether the direction of motion is an opposite direction to the selected direction of travel. If it is not, then blocks <NUM> to <NUM> are repeated.

If it is determined at block <NUM> that the direction of motion is an opposite direction to the selected direction of travel, then a proposed torque value is determined at block <NUM>. An output signal is then provided at block <NUM> that is configured to cause a motor <NUM>, <NUM> to apply a torque in dependence on the proposed torque value, to oppose motion in the opposite direction to the selected direction of travel.

In the present embodiment, the proposed torque value is determined at block <NUM> in dependence on the indication of measured speed of the vehicle <NUM>, and, as shown in <FIG>, the proposed torque value may be calculated from the indication of measured speed so that it is proportional to the measured speed. A graph of proposed torque value plotted against speed of the vehicle <NUM> is shown in <FIG>. In this embodiment the proposed torque value is directly proportional to the measured speed.

An alternative embodiment is illustrated by the graph shown in <FIG> in which the rate of increase of proposed torque value with respect to the measured speed increases with the measured speed up to a vehicle speed V1, at which the proposed torque value T1 is at a maximum. By such an arrangement, the speed of the vehicle <NUM> is generally maintained below the vehicle speed of V1.

Another alternative embodiment is illustrated in <FIG>, which shows alternative processes that are performed at block <NUM> of the method <NUM>. Within block <NUM>, at block <NUM>, a rate of increase of speed is determined from received indications of measured speed, and then at block <NUM> a proposed torque value is determined that is proportional to the rate of increase in speed of the vehicle. Thus, on a very steep gradient where the speed can increase rapidly, the torque values are also caused to rise rapidly. A graph illustrating such an embodiment is shown in <FIG>.

In further alternative embodiment, the proposed torque value at block <NUM> is determined in dependence on both the speed of the vehicle and the rate of increase of speed of the vehicle.

A further alternative controller 201A embodying the present invention is illustrated by a functional flow block diagram shown in <FIG>. The embodiment shown in <FIG> is similar to that shown in <FIG>. The controller 201A is arranged to perform a roll-back detection function <NUM> by comparing the selected direction of travel with a received indication of the direction of motion or the received indication of measured speed of the vehicle.

The controller 201A is configured to perform a torque determination function <NUM> when the accelerator pedal is not depressed and the roll-back detection function <NUM> indicates that the selected direction of travel is different to the direction of motion of the vehicle <NUM>.

However, the controller 201A of <FIG> differs from controller <NUM> of <FIG> in that, instead of receiving the indication of the measured speed, the torque determination function <NUM> receives an indication of the gradient on which the vehicle <NUM> is positioned from a gradient sensing means <NUM>. The gradient sensing means <NUM> may comprise an inertial measurement unit (IMU). The torque determination function <NUM> is configured to determine proposed torque values in dependence on the received indication of gradient. A graph of proposed torque values generated by the controller 201A plotted against gradient is shown in <FIG>. In this embodiment the proposed torque value is proportional to the gradient, so that the torque requested by the output signal <NUM> increases as the gradient increases.

A further alternative controller 201B embodying the present invention is illustrated by a functional flow block diagram shown in <FIG>. Like the controller <NUM> of <FIG>, the controller 201B is arranged to perform a roll-back detection function <NUM> by comparing the selected direction of travel with a received indication of the direction of motion or the received indication of measured speed of the vehicle. An indication that torque should be requested is received by the torque determination function <NUM>, when both the accelerator pedal <NUM> is not being depressed and the direction of motion of the vehicle <NUM> is not the selected direction of travel, as determined by the roll-back detection function <NUM>.

The controller 201B is a negative feedback controller arranged to allow the vehicle <NUM> to roll-back with speeds up to a predefined speed that may be a default speed or a speed selected by the driver, and to cause the speed at which the vehicle <NUM> rolls back to be reduced if it exceeds the predefined speed. The controller 201B is configured to subtract the magnitude of the received measured speed from the predefined speed to determine an error value <NUM> that is provided to the torque determination function <NUM>. The torque determination function <NUM> is configured to determine proposed torque values that increase as the error values become increasingly negative, and provide no output signal <NUM> requesting torque (or only determine proposed torque values that are relatively small), when the error value <NUM> is positive. In an embodiment, the determined torque values are also arranged to increase in dependence on the rate at which the negative error is increasing.

Another alternative controller 201C embodying the present invention is illustrated by a functional flow block diagram shown in <FIG>. The controller 201C in <FIG> is a negative feedback controller that is similar to the controller 201B illustrated in <FIG>. Thus, it is arranged to allow the vehicle <NUM> to roll-back with speeds up to a predefined speed, and cause the speed at which the vehicle <NUM> rolls back to be reduced if it exceeds the predefined speed.

In the embodiment of <FIG>, the torque determination function <NUM> is configured to determine proposed torque values when the roll-back detection function <NUM> determines that the direction of motion of the vehicle <NUM> is in the opposite direction to the selected direction of travel. However, unlike the controller 201B of <FIG>, the controller 201C of <FIG> is arranged to provide an output signal <NUM> indicative of the proposed torque values even when the accelerator pedal <NUM> is being depressed. The advantage of such an arrangement is that when the vehicle <NUM> rolls down a slope in an opposite direction to the selected direction of travel, a driver of the vehicle <NUM> may attempt to control the speed of the vehicle <NUM> using the accelerator pedal <NUM>. However, at times when the depression of the accelerator pedal <NUM> results in an insufficient request for torque from the motor(s) <NUM>, <NUM> to maintain the magnitude of the speed of the vehicle below the predefined speed, the controller 201C provides an output signal <NUM> to request torque to reduce the speed back to the predefined speed.

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, and therefore, the present disclosure is not intended to be limited to any particular arrangement. 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>, <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 for a vehicle, the controller comprising:
means (<NUM>) to receive an indication of a user selected direction of travel;
means (<NUM>) to receive an indication of the direction of motion of the vehicle;
means (<NUM>) to determine a proposed torque value in dependence on the direction of motion being an opposite direction to the selected direction of travel; and
means to provide an output signal (<NUM>) configured to cause a motor to apply an applied torque, in dependence on the proposed torque value, to oppose motion in said opposite direction;
wherein the vehicle is allowed to roll back in the opposite direction while the applied torque reduces the acceleration of the vehicle in the opposite direction; and
wherein the controller is configured to determine the proposed torque value in dependence on an indication of a rate of increase in speed of the vehicle and/or an indication of a gradient that the vehicle is positioned on.