| CPC B60L 58/14 (2019.02) [B60L 15/2045 (2013.01); B60W 10/08 (2013.01); B60W 20/13 (2016.01); B60L 2240/429 (2013.01); B60L 2240/549 (2013.01)] | 20 Claims |

|
1. A vehicle comprising:
a drive motor;
a battery pack;
at least one processor;
a non-transitory computer-readable storage medium; and
program instructions stored on the non-transitory computer-readable storage medium that are executable by the at least one processor to cause the vehicle to:
generate a first curve that defines, for a first range of rotational velocities of the drive motor, a first relationship between a charge level of the battery pack and a first drive current limit of the vehicle;
generate a second curve that defines, for a second range of rotational velocities of the drive motor, a second relationship between the charge level of the battery pack and a second drive current limit of the vehicle, wherein the second range of rotational velocities does not overlap with, and is higher than, the first range of rotational velocities;
determine, at a given time, a rotational velocity of the drive motor that is within the first range of rotational velocities;
determine a charge level of the battery pack at the given time;
based on (i) the determined rotational velocity of the drive motor within the first range of rotational velocities and (ii) the charge level of the battery pack at the given time, determine a first drive current limit of the vehicle using the first curve;
convert a discharge current from the battery pack to a drive current subject to the determined first drive current limit; and
supply the drive current to the drive motor.
|