ELECTRIC VEHICLES WITH BATTERY MANAGEMENT AND SENSORS

Electric vehicles with battery management and sensors are provided. An electric vehicle may be configured to charge individual main batteries using individual intermediate batteries while the electric vehicle is in operation via suitable control of switches. An electric vehicle may be configured to charge batteries using a regeneration current based on sensor data from sensors, such one or more of a camera, an accelerometer, a gyroscope an atmospheric pressure sensor and a Hall sensor. An electric vehicle may be configured to avoid rear end collisions based on images from a rear-facing camera.

BACKGROUND

Electric vehicles are becoming a popular mode of transportation. Such electric vehicles generally include batteries that degrade over time. Furthermore, such electric vehicles may encounter dangerous situations.

DETAILED DESCRIPTION

Electric vehicles are becoming a popular mode of transportation. Such electric vehicles generally include batteries that degrade over time. Furthermore, such electric vehicles may encounter various environments that may cause regeneration power to be generated and/or may cause dangerous situations to occur, but the electric vehicles may not be configured to respond accordingly. Furthermore, in many electric vehicles, only an entire battery pack is charged; individual batteries are not charged while other batteries are used to power the electric vehicles, which may lead to uneven charging and/or uneven charging degradation of batteries in a battery pack.

FIG.1andFIG.2schematically depict a side and top view of an electric vehicle100. The electric vehicle100is interchangeably referred to hereafter as the vehicle100.

With reference toFIG.1andFIG.2, as depicted, the vehicle100comprises a cart and/or a golf cart, and the like, that includes steering wheel101(depicted in perspective inFIG.1to show details thereof), a seat103for an operator (not depicted), front and rear wheels104, and a chassis106(e.g. in the form of platform, and the like, for the cart). For clarity, inFIG.1andFIG.2, front, back, left and right directions of the vehicle100are indicated; for example, the steering wheel101is located towards the front at the vehicle100, and the left and right sides are relative to an operator sitting on the seat103facing the front of the vehicle100. Put another way, the vehicle100and/or the chassis106is understood to include a front end and rear end. It is understood that not all parts of the chassis106, are depicted; for example, parts of the chassis106, such as panels, covers, and the like, are removed inFIG.1andFIG.2to show certain components of the vehicle100as described hereafter.

For example, as best seen inFIG.2, as the vehicle100is electric, the vehicle100further comprises at least one electric motor111; for example, as depicted the vehicle100comprises three electric motors111that are attached to the chassis106, with one rear electric motor111driving the rear wheels104, and two front electric motors111driving the front wheels104, for example one front electric motor111per front wheel104. However, the vehicle100may include as few as one electric motor111and/or any suitable number of electric motors111. Hence, while hereafter references will be made to one electric motor111at the vehicle100, it is understood that the vehicle100may comprise any suitable number of electric motors111, with processes and methods described hereafter being used to control the any suitable number of electric motors111. Furthermore, hereafter, the electric motor111is interchangeably referred to hereafter as the motor111.

As depicted, the vehicle100further comprise a motion controller113(e.g. an actuator) for controlling the motor111, as well as a brake controller115for controlling brakes117(e.g. as depicted, disc brakes at the wheels103) of the vehicle100. As depicted, the motion controller113and the brake controller115are located adjacent the seat100(e.g. under the steering wheel101), and may be in the form of pedals, and the like, and may be manually operated by an operator of the vehicle100.

While not depicted inFIG.1andFIG.2, it is understood that the vehicle100further comprises a motor controller, a controller and/or processor, and/or any other suitable components for controlling the motor. Such components will be described in more detail with respect toFIG.3. However, it is understood that such components may be at least partially be contained at a housing119in a portion of the chassis106, with wiring to the motor111(and/or motors111) through the chassis106and/or in any suitable position (e.g. outside and/or through the chassis106, and the like). Furthermore, as schematically depicted inFIG.1andFIG.2, batteries303,305may be contained in the housing119, the batteries for powering the vehicle100(e.g. the motor111and/or motors111), as described in more detail with respect toFIG.3.

While depicted as a cart, the vehicle100may comprise any other suitable type of electric vehicle, which may be operated by an operator and/or operated autonomously. For example, the vehicle100may include, but is not limited to, a car (of any suitable type), a truck, a van, a delivery vehicle, the depicted bicycle, a tricycle, a quadracycle, a golf cart, an all-terrain vehicle (ATV), a motorcycle, an e-bike, a snowmobile, a farming vehicle, an agricultural vehicle, a construction vehicle, a boat, a submarine, an airplane, and/or any other suitable vehicle for human transportation that includes an electric power source (e.g. batteries) and an electric motor, and the like; however, the vehicle100may alternatively comprise vehicles with electric power source that are not for human transportation including, but not limited to, a land-based drone, a flying drone, a boat drone, a submarine drone, a robot, an industrial robot, an agricultural robot, a cleaning robot, a personal assistant robot and/or robot, and the like. Furthermore, components that move the vehicle100may include wheels, treads, propellers, propulsion devices, robotic legs, and the like, for example driven by the electric motor111.

As such, the depicted components may be replaced by any suitable components depending on a type of the vehicle100. For example, the steering wheel101may be replaced with handlebars, the motion controller113and brake controller115replaced with hand-operated devices, etc. (and/or the motion controller113and the brake controller115may be optional when the vehicle100is autonomous).

As best seen inFIG.2, the vehicle100further comprises one or more sensors121(e.g. rear sensor(s)121-R and front sensor(s)121-F) which may comprise one or more of a camera, an accelerometer, a gyroscope, an atmospheric pressure sensor and a Hall sensor. The sensors121may be provided in any suitable combination to generally to sense an environment around the vehicle100and/or motion of the vehicle100, including, but not limited to, landscape and/or elevation around the vehicle100, objects (e.g. such as other vehicles, persons, baby carriages, animals, and the like) around the vehicle100, as well as acceleration, velocity, and the like of the vehicle100. Furthermore while all the sensors121are depicted in given locations (e.g. at a front and rear of the vehicle), sensors121of the vehicle100may be provided in any suitable location; for example, one or more Hall sensors may be located at the motor111of the vehicle100. Similarly, the one or more of the motion controller113and the brake controller115may comprise sensors (e.g. an acceleration sensor and a braking sensor) to detect deceleration (or acceleration) and/or braking of the vehicle100.

In a particular example, the one or more sensors121comprise a rear-facing camera123-R (e.g. a digital camera, a charge-coupled device (CCD) based camera, Complementary metal-oxide-semiconductor (CMOS) based camera, and the like) having a field of view that enables the rear-facing camera123-R to acquire images in a rearward direction and which may include, but are not limited to, images of other vehicles approaching the vehicle100from behind. However, it is understood that the field of view of the rear-facing camera123-R generally includes a “visual angle” and may depend on lenses (e.g. focal lengths thereof), sizes of imaging sensors (e.g. a size of a CCD and/or a CMOS sensor), and the like of the rear-facing camera123-R; in a particular example, the rear-facing camera123-R may image at an angle of up to 35° on either side of a normal to a front lens of the rear-facing camera123-R, however the rear-facing camera123-R may image at any suitable angle.

As depicted, the one or more sensors121may further comprise a front-facing camera123-F having a field of view that enables the front-facing camera123-F to acquire images in a forward direction and/or a direction of movement of the vehicle100(e.g. presuming the vehicle100is not reversing, in which case the rear-facing camera123-R acquire images in a rearward direction and/or a rearward direction of movement of the vehicle100). The front-facing camera123-F may image in a similar manner, at a same, or different angle as the rear-facing camera123-R. The cameras123-R,123-F are interchangeably referred to hereafter, collectively, as the cameras123and, generically, as a camera123; a similar convention will be used throughout the present specification.

The cameras123may include, but are not limited to, one or more of, Red-Green-Blue (RGB) cameras, depth cameras, stereoscopic cameras, thermal cameras, infrared (IR) cameras, and the like.

In a particular example, the one or more sensors121may comprise the cameras123(and/or at least the rear-facing camera123-R), and a combination of sensors that includes one or more of an accelerometer, a gyroscope an atmospheric pressure sensor, a Hall sensor, a braking sensor, and an acceleration sensor; sensor data from such a combination may enable processors, and the like, at the vehicle to determine speed, acceleration, changes in elevation, and the like, of the vehicle100(e.g. without relying on a more costly Global Positioning System (GPS) device, and/or any other suitable location determining device, and the like, however the sensors121may include such a location determining device, and the like).

The one or more sensors121may include any other suitable sensors including, but not limited to, any suitable combination of ultrasonic sensors, radar (Radio Detection and Ranging) devices, laser devices (e.g. Light Detection and Ranging (LiDAR) devices), and the like.

While not depicted inFIG.1(however seeFIG.3), the vehicle100may further comprise notification devices, such as microphones, display screens, haptic devices, and the like, for notifying an operator of the vehicle100of various states of the vehicle100and/or of an environment of the vehicle and/or objects around the vehicle. Alternatively, the vehicle100may further comprise a communication interface for wirelessly communicating with a notification device (e.g. a mobile device, a cell phone and the like) operated by a user of the vehicle100, for example to wirelessly transmit notifications of various states of the vehicle100, and the like, to the notification device.

As will next be described, the vehicle100is generally configured to manage batteries303,305thereof, for example to increase a life of the batteries and/or to maintain a similar state of charge between such batteries. The vehicle100may be further configured to control regeneration charging of the batteries303,305based on sensor data from the one or more sensors121. The vehicle100may be further configured to predict collisions with other vehicles approaching from the rear, using images from the rear-facing camera123-R and accelerate away from the other vehicles.

Attention is next directed toFIG.3which depicts a schematic block diagram of electronic components of the electric vehicle100, a portion of which may be contained in the housing119.

For clarity, data connections between components inFIG.3are depicted as double-ended arrows, while electrical/power connections are depicted as lines (e.g. without arrows).

As depicted, the vehicle100comprises a motor controller301electrically connected to the motor111via “UVW” connections (e.g. to different phases of the motor111). As depicted, the motor controller301comprises electrically positive (“+”) and negative (“−”) connectors which connect to batteries, as described hereafter.

In general, motor controller301is configured to: control the motor111; and detect when the motor111is generating current, for example when the vehicle100is coasting (e.g. with power not being supplied to the motor111), rolling down hill, and the like. Put another way, the motor controller301may provide power to the motor111and/or the motor controller301may receive power (and/or current) from the motor111. When the motor111is generating power (and/or current), such power (and/or current) may be used to charge batteries of the vehicle100and may be referred to as regeneration power (and/or regeneration current).

For example, as depicted, vehicle100further comprises main batteries303-1,303-2. . .303-N (e.g. main batteries303and/or a main battery303) configured to: provide power to the motor111via the motor controller301; and monitor respective states of charge thereof, as well as any other suitable parameters. While three main batteries303are depicted (e.g. “N”=3), the vehicle100may comprise any suitable number of main batteries303.

However, as depicted, vehicle100further comprises intermediate batteries305-1,305-2. . .305-M (e.g. intermediate batteries305and/or an intermediate battery305) configured to: store regeneration power generated via current generated by the motor111. While three intermediate batteries305are depicted (e.g. “M”=3), the vehicle100may comprise any suitable number of intermediate batteries305, which may be a same number, or different number of the main batteries303(e.g. “N” and “M” may be the same or different). The batteries303,305are understood to correspond to the batteries in the housing119depicted inFIG.1andFIG.2.

As depicted, the vehicle100further comprises various switches307-1,307-2, . . .307-N (e.g. switches307and/or a switch307),309-1,309-2, . . .309-N (e.g. switches309and/or a switch309),311-1,311-2, . . .311-N (e.g. switches311and/or a switch311),313,315. The switches307are to respectively control power to and from the main batteries303, the switches311are to respectively control power to and from the intermediate batteries305, and the switches311are to respectively control power between individual main batteries303and the intermediate batteries305. The switch313, which may be optional, is to control power between the main batteries303and the intermediate batteries305on a primary power line317, and the switch315, which may be optional, is to control power between the main batteries303and the intermediate batteries305on a secondary power line319.

As represented inFIG.3, a switch307,309,311,313,315is understood to be closed when a line is through a switch307,309,311,313,315, and open when a line is not through a switch307,309,311,313,315. For example, as depicted the switches307are all closed, and the switches309,311,313,315are all open; as such, the main batteries303are understood to be providing power to the motor controller301on the primary power line317, which provides the power to the motor111, and the intermediate batteries305are understood to be isolated from the primary power line317, the main batteries303and the motor controller111. The primary power line317is hence understood to provide power to (and from) the motor controller301, and the secondary power line319is understood to provide power between the batteries303,305(e.g. to use the intermediate batteries305to charge the main batteries303while the vehicle is in operation).

As depicted, the main batteries303are connected in parallel with each other and the motor controller301, the intermediate batteries305are connected in parallel with each other, and, as a group, the intermediate batteries305are connected in parallel with the main batteries303and the motor controller301.

Furthermore, as the switches307are provided in series with, and in a one-to-one correspondence with, respective main batteries303(e.g. there are “N” switches307, one for each of the main batteries303). Similarly, the switches311are provided in series with, and in a one-to-one correspondence with, respective intermediate batteries305(e.g. there are “M” switches307, one for each of the intermediate batteries305). Hence, at least the switches307,311may be controlled to connect and disconnect the batteries303,305with each other and/or the motor controller301on the primary power line319.

Similarly, as the switches309are provided in series with, and in a one-to-one correspondence with, respective main batteries303(e.g. and in parallel with the switches307), at least the switches309,311may be controlled to connect and disconnect individual batteries303,305with each other on the secondary power line319.

Furthermore, a switch307may be controlled (e.g. opened) to isolate a corresponding main battery303from the primary power line317, while a corresponding switch309may be controlled (e.g. closed) to connect the corresponding main battery303to the secondary power line319and hence to one or more of the intermediate batteries305, for example via the switch313being open, and one or more of the switches311being closed.

However, the switch313may be controlled to connect and disconnect the batteries303,305with each other and/or to connect and disconnect the intermediate batteries305with the motor controller301on the primary power line319.

Similar, the switch315may be controlled to connect and disconnect the batteries303,305with each other on the secondary power line319.

The batteries303,305may comprise any suitable batteries and/or power cells, and the like, including, but not limited to, lithium batteries and/or cells, and the like. Furthermore, the main batteries303may be provided as a main battery pack, and the intermediate batteries305may be provided as an intermediate battery pack; the various switches307,309,311may be provided as components of suitable battery packs and/or external to such battery packs.

Regardless of a format of the batteries303,305, it is understood that the batteries303,305may be exchangeable for other respective batteries303,305. Hence, the batteries303,305may comprise removable and/or exchangeable batteries.

In some examples, the main batteries303may have a higher energy storage capacity than the intermediate batteries305. As will be described hereafter, the main batteries generally provide a main source of power to the motor controller301, and the intermediate batteries305may be used to store regeneration power, which may be used to dynamically charge the main batteries303, for example while the vehicle100is in operation via controlling various switches307,309,311,313,315. For example, when the motor111is producing regeneration power, one or more of the switches311may be closed, the switch313may also be closed, and the remaining switches307,309,315may be opened to direct the regeneration power to one or more the intermediate batteries305; which switches311are closed or open, to charge or not, respective intermediate batteries305may depend on a state of charge of the intermediate batteries305, as described below.

When the motor111stops producing the regeneration power, closed switches311may be open, the switch313may also be open, and the switches307may be closed such that the main batteries303again direct power to the motor controller301.

In some examples, all regeneration power may be directed to one or more of the intermediate batteries311by controlling the switches307,309,311,313,315accordingly, for example to also prevent regeneration power being used to charge the main batteries303; such examples may be implemented to prevent the main batteries303from being damaged by charging via regeneration power. In other examples, however, the regeneration power may alternatively be directed to one or more of the main batteries303to charge them by suitably controlling various switches307,309,311,313,315to close (or open).

As depicted the vehicle100further comprises a controller321to control, amongst other possibilities described herein, the various switches307,309,311,313,315. The controller321may comprise a processor and/or a plurality of processors, including but not limited to one or more central processors (CPUs), one or more microprocessors, and/or one or more graphics processing units (GPUs) and/or one or more processing units. Regardless, the controller321comprises a hardware element and/or a hardware processor. Indeed, in some implementations, the controller321can comprise an ASIC (application-specific integrated circuit) and/or an FPGA (field-programmable gate array) specifically configured for implementing functionality as described herein. Hence, the controller321may not be a generic controller, but a device specifically configured to implement specific functionality as described herein. For example, the controller321can specifically comprise a computer executable engine configured to implement functionality of blocks of the methods described with respect toFIG.4, and/orFIG.7and/orFIG.9and/orFIG.11.

As depicted the controller321is communicatively coupled to various components of the vehicle100, for example via wired (or wireless) communication links and/or a computer bus, and the like.

For example, as depicted, the controller321is communicatively coupled to the motion controller113, the braking controller115, the sensors121, the cameras123, as well as a memory322storing one or more applications323-1,323-2,323-3(e.g. applications323and/or an application323), a communication interface324, a location determining device326, at least one notification device328, and data interfaces335,335of the batteries303,305and interfaces of the switches307,309,311,313,315. As depicted, the memory322further stores one or more given models325for the main batteries303, as described in more detail below.

The memory322may comprise a non-volatile storage unit (e.g. Erasable Electronic Programmable Read Only Memory (“EEPROM”), Flash Memory) and a volatile storage unit (e.g. random-access memory (“RAM”)). However, the memory322may be provided in any suitable manner including, but not limited to, as a cloud-based memory. Programming instructions that implement the functional teachings of the controller321as described herein are typically maintained, persistently, in the memory322and used by the controller321which makes appropriate utilization of volatile storage during the execution of such programming instructions. Those skilled in the art recognize that the memory322is an example of computer readable media that can store programming instructions executable on the controller321. Furthermore, the memory322is also an example of a memory unit and/or memory module and/or a non-volatile memory.

The communication interface324comprises any suitable wired or wireless communication interface including, but not limited to a, WiFi™ communication interface, a Bluetooth™ communication interface, a cell phone communication interface, and the like.

Communication between the controller321, data interfaces333,335of the batteries303,305and interfaces of the switches307,309,311,313,315are next described.

In particular, the batteries303,305generally comprise “smart” batteries configured to monitor various electrical parameters thereof, including, but not limited to, charge capacity, stored power and/or voltage, current, and the like. Such parameters may generally be related to “health” and/or lifetime of a battery303,305. The batteries303,305are hence understood to include respective data interfaces333,335which may report such parameters to the controller321. While data interfaces333,335of the batteries303,305are depicted as being separate from the batteries303,305, such data interfaces333,335are understood to be components of the batteries303,305. Furthermore, while the data interfaces333for the main batteries303are depicted as bundled together, it is understood that there may be a data interface333for each of the main batteries303, though, in other examples, there may be one or more data interfaces333for a battery pack of the main batteries303. Similarly, while the data interfaces335for the intermediate batteries305are depicted as bundled together, it is understood that there may be a data interface335for each of the intermediate batteries305, though, in other examples, there may be one or more data interfaces335for a battery pack of the intermediate batteries305.

Similarly, the switches307,309,311,313,315comprise respective data interfaces to the controller321, and the controller321may open and close a switch307,309,311,313,315via a respective data interface. Similar to the data interfaces333,335, while data interfaces of the switches307,309,311,313,315are depicted as being separate from the switches307,309,311,313,315, such data interfaces are understood to be components of the switches307,309,311,313,315.

For example, the switches307,309,311,313,315may comprise power field effect transistors (PFETs) and the various interfaces347,349,351,353,355may comprise gates of the PFETs and opening and closing of the switches307,309,311,313,315may comprise the controller321removing and applying power to the gates to open or close electrical connections between a source and gate thereof. As such, it is understood that the electrical components of the vehicle100may be powered by the main batteries303(and/or the intermediate batteries305) using electrical connections not depicted herein (and/or the batteries303,305may power their own respective switches). However, the switches307,309,311,313,315may include any suitable types of switches.

As mentioned above, the memory322stores applications323that, when processed by the controller321, enables the controller321to implement specific functionality and/or different functionality.

For example, the application323-1may comprise a battery management application that, when processed by the controller321, enables the controller321to: based on the respective states of charges of the main batteries303(e.g. reported to the controller321via the data interface333), control the switches307,309,311,313,315(and/or a subset thereof) to: disconnect one or more of the main batteries303from the motor controller301while a given number of the main batteries303continue to provide the power to the motor111via the motor controller301; and connect the one or more of the main batteries303to the intermediate batteries305until the respective states of charges of the main batteries303are within a given range.

The application323-2may comprise a sensor-based battery charging application that, when processed by the controller321, enables the controller321to: receive sensor data from the one or more sensors121; and based on the sensor data meeting one or more given conditions, control the switches307,309,311,313,315(and/or a subset thereof) into a regeneration state, such that one or more of the batteries303,305is being charged via current generated by the motor111, wherein such charging brakes the motor111.

The application323-3may comprise a rear collision avoidance application that, when processed by the controller321, enables the controller321to: receive images from the rear camera123-R; determine, from the images, that an other vehicle (e.g. a second vehicle with the vehicle100being a first vehicle) is approaching a rear end of the chassis106and/or the vehicle100; predict, from the images, a possible collision with the other vehicle at the rear end of the chassis106and/or the vehicle100; and, in response, control the motor111to accelerate the chassis106and/or the vehicle100away from the other vehicle to one or more of avoid and minimize the possible collision.

It is further understood that as few as one of the applications323may be implemented at the vehicle100, and/or another vehicle, and/or any suitable combination of the applications323may be implemented at the vehicle100, and/or another vehicle, with hardware components thereof adapted accordingly. For example, when the application323-1is implemented at a vehicle, and not the applications323-2,323-3, the sensors121may be optional.

The applications323may include respective numerical algorithms, and/or programmed algorithms, predetermined algorithms, and/or static algorithms configured to determine when to charge batteries and/or accelerate a vehicle.

Alternatively, and/or in addition to numerical algorithms, and/or programmed algorithms, predetermined algorithms, and/or static algorithms, the applications323may include machine learning models and/or algorithms, and the like, which have been trained when to charge batteries and/or accelerate a vehicle. Furthermore, in these examples, the application323may initially be operated by the controller321in a training mode to train the machine learning models and/or algorithms of the application323to perform the above described functionality and/or generate classifiers therefor.

The one or more machine learning models and/or algorithms of the application323may include, but are not limited to: a deep-learning based algorithm; a neural network; a generalized linear regression algorithm; a random forest algorithm; a support vector machine algorithm; a gradient boosting regression algorithm; a decision tree algorithm; a generalized additive model; evolutionary programming algorithms; Bayesian inference algorithms, reinforcement learning algorithms, and the like.

However, as data stored by the controller321may later be used in court proceedings, generalized linear regression algorithms, random forest algorithms, support vector machine algorithms, gradient boosting regression algorithms, decision tree algorithms, generalized additive models, and the like may be preferred in present examples over neural network algorithms, deep learning algorithms, evolutionary programming algorithms, and the like. In particular, generalized linear regression algorithms, random forest algorithms, support vector machine algorithms, gradient boosting regression algorithms, decision tree algorithms, generalized additive models, and the like may be preferred in some public safety environments, such as courts. Regardless, any suitable machine learning algorithm and/or deep learning algorithm and/or neural network is within the scope of present examples.

Attention is now directed toFIG.4which depicts a flowchart representative of a method400for battery management. The operations of the method400ofFIG.4correspond to machine readable instructions that are executed by the controller321. In the illustrated example, the instructions represented by the blocks ofFIG.4are stored at the memory322for example, as the application323-1. The method400ofFIG.4is one way in which the controller321and/or the vehicle100may be configured. Furthermore, the following discussion of the method400ofFIG.4will lead to a further understanding of the vehicle100, and its various components.

The method400ofFIG.4need not be performed in the exact sequence as shown and likewise various blocks may be performed in parallel rather than in sequence. Accordingly, the elements of method400are referred to herein as “blocks” rather than “steps.” The method400ofFIG.4may be implemented on variations of the vehicle100ofFIG.1, as well.

Furthermore, the controller321is described hereafter as controlling the switches307,309,311,313,315(and/or a subset thereof) which is understood to occur via respective interfaces347,349,351,353,355. Similarly, the controller321is described hereafter as receiving information from the batteries303,305which is understood to occur via respective interfaces333,335.

It is furthermore assumed hereafter that, initially, the switch309,311,313,315are open, and the switches307are closed, as depicted inFIG.4.

At a block402, the controller321, based on the respective states of charges of the main batteries303, control the switches307,309,311,313,315(and/or a subset thereof) to: disconnect one or more of the main batteries303from the motor controller301while a given number of the main batteries303continue to provide the power to the motor111via the motor controller301.

For example, a respective states of charge of a main battery303may be less than a threshold value and/or less than a respective state of charge of others of the main batteries303. In particular, it may be desirable that the states of charge of the main batteries303not fall below a given threshold state of charge, such as 50%, 60%, and/or any other suitable threshold value. Similarly, it may be desirable that states of charge of the main batteries303be maintained within a threshold range of each other, such as 5%, 10%, 15%, and/or any other suitable threshold range. Hence, when a given main battery303falls below a threshold state of charge and/or falls below a threshold range of states of charge of the other main batteries303, the given main battery303may be disconnected from the motor controller301and connected to the intermediate batteries305for charging. Hence, it is further understood herein that one or more of the intermediate batteries305store power to charge the main batteries303.

At a block404, the controller321, based on the respective states of charges of the main batteries303, connects the one or more of the main batteries303(e.g. disconnected from the motor controller301at the block402) to the intermediate batteries305(e.g. to charge the one or more of the main batteries303) until the respective states of charges of the main batteries303are within a given range.

The given range may be based on the states of charge of the other main batteries303that are not being charged. For example, the given range of the block404may comprise 5%, 10%, 15%, and/or any other suitable given range of the average states of charge of the other main batteries303that are not being charged. Furthermore, as the one or more of the main batteries303connected to the intermediate batteries305are being charged, the states of charge of the other main batteries303that are not being charged may fall, lowering the given range throughout the charging process. Hence, the given range may be dynamic, with a goal of maintaining, when possible, all the main batteries303with a given range so they maintain similar states of charge, during operation of the vehicle100.

At the block402, to disconnect one or more of the main batteries303from the motor controller301while a given number of the main batteries303continue to provide the power to the motor111via the motor controller301, the controller321may open respective switches307of the one or more of the main batteries303that are being disconnected from the motor controller301, while leaving closed the respective switches307of the given number of the main batteries303that continue to provide the power to the motor111via the motor controller301.

Similarly, at the block404, to connect the one or more of the main batteries303(e.g. disconnected from the motor controller301at the block402) to the intermediate batteries305, the controller321closes the respective switches309of the one or more of the main batteries303, and further closes the switch315and one or more of the switches311. Similarly, to reconnect the one or more of the main batteries303to the motor controller301, the controller321opens the respective switches309of the one or more of the main batteries303that were closed at the block404and closes the respective switches307of the one or more of the main batteries303that were opened at the block402. In reconnecting, the switches311,315may be open or closed, however the switch313remained open throughout the method400.

Certain implementation details of the method400are next described, and it is understood that controlling the switches307,309,311,313,315to connect/disconnect batteries303,305occurs as described above.

In a particular example, the controller321may implement a requirement that a given number of the main batteries303are to be used at any given time. For example, when there are ten main batteries303, such a given number may be that six the main batteries303are to be used at any given time. Hence, when three of the main batteries303are at a relatively higher state-of-charge and seven of the main batteries303are at a relatively lower state-of-charge, the controller321may determine which three of the seven of the main batteries303, having the lower state-of-charge, have a closest state of charge to the three of the main batteries303, having the higher state-of-charge, and leave these main batteries303connected to the motor controller301, while charging the rest of the main batteries303of having the lower state-of-charge. Put another way, when a given number of the main batteries303are to remain connected to the motor controller301, the controller321charges the main batteries303having lower states of charge first to maintain the given number.

In some examples, in response to determining that a given main battery303, of the main batteries303, has a respective state of charge below a threshold state of charge (e.g. as stored in the application323-1and/or as determined by the controller321) the controller321may control the switches307,309,311,313,315to: disconnect the given main battery303from the motor controller301; connect the given main battery303to the intermediate batteries305until the state of charge of the given main battery303is within the given range; and thereafter, reconnect the given main battery303to the motor controller301. In some examples, the threshold state of charge at which the given main battery303is charged is different from the given range at which the is reconnected to the motor controller301as the given range may be based on the states of charge of the other main batteries303which may decrease the given battery303is charged, as described above.

Put another way, in some examples, the given range may be based on respective current states of charges of the given number of the main batteries303that continue to provide the power to the motor111via the motor controller301while the one or more main batteries are being charged.

In some examples, the controller321, in response to determining that the motor111is not generating a regeneration current, controls the switches307,309,311,313,315to connect the main batteries303to the motor controller301and disconnect the intermediate batteries305from the motor controller301. Put another way, when no regeneration power and/or current is being generated by the motor111, no charging of the intermediate batteries305via such regeneration power and/or current, received via the motor controller301, may occur, so the intermediate batteries305are isolated from the motor controller301.

However, in some examples, the controller321, in response to determining that the motor111is generating a regeneration current, and that the regeneration current being generated is below a threshold current, may control the switches307,309,311,313,315to connect one or more of the main batteries303and the intermediate batteries305to the motor controller301to charge one or more of the main batteries303and the intermediate batteries305. Put another way, when regeneration power and/or current is being generated by the motor111, the intermediate batteries305(and/or the main batteries303) may be charged via such regeneration power and/or current, received via the motor controller301, so the intermediate batteries305may be connected to the motor controller301to charge them. Such charging may occur in tandem with charging of the main batteries303.

However, such charging may depend on a size of the regeneration current. For example, certain currents, when received at a battery303,305, may damage a battery303,305. Hence, a battery303,305may report such a respective threshold current to the controller321(e.g. as stored at a memory of a battery303,305) and/or such a threshold current may be preconfigured at the application323-1. The motor controller321may report a size of a regeneration current to the controller321, and the controller321may control the switches307,309,311,313,315accordingly, to prevent regeneration currents, that are above a threshold current, from damaging the batteries303,305.

However, in some of these examples, regeneration current may be used to charge intermediate batteries305but not any main batteries303; for example, the intermediate batteries305may be generally configured to accept larger currents and/or more power for charging than the main batteries303and, as such, in some examples, to protect the main batteries303from surges in regeneration current, the controller321may control the switches307,309,311,313,315accordingly, to prevent regeneration currents, from charging the main batteries305(e.g. regardless of a size of the regeneration current).

Similarly, some batteries303,305may be prevented from being charged when their respective states of charge and/or respective current capacities, are at respective values for example 100%, 95%, and/or any other state of charge and/or capacity. Put another way, when batteries303,305are already fully charged, or close to fully charge, exposing them to regeneration current may damage them. Hence the controller321may control the switches307,309,311,313,315accordingly, to prevent certain batteries303,305, at high states, from being further charged, to prevent damaging the batteries303,305

Put another way, in some examples, the controller321, in response to determining that the motor111is generating a regeneration current, may control the switches307,309,311,313,315to charge one or more of the main batteries303and the intermediate batteries305based on respective current capacities of the main batteries303and the intermediate batteries305.

In some examples, the controller321, based on the respective states of charge of the main batteries303meeting one or more given conditions: communicate with the motor controller301to reduce the power used by the motor111. For example, in some examples one or more of the main batteries303may fail and, despite attempts to charge such main batteries303, as described above, such states of charge of such main batteries303may not reach the given range of the block404. In these examples, the controller321may control the switches307,309,311,313,315to isolate such main batteries303, for example when they do not reach the given range of the block404within a given time period and/or when they do not charge at a given rate and/or according to a given model325and the like. With regards to the given model325, it is understood that certain battery types, such as lithium batteries, may charge (and/or discharge) according to well understood conditions and/or models which may be provided, as the given model325, to the controller321by a main battery303and/or may be preconfigured at the application323-1.

Hence, a given condition for reducing power usage by the motor111may comprise a given number of the main batteries303failing such that, when the given number of the main batteries303fail, the controller321may transmit a command to the motor controller301to reduce power usage by the motor111to preserve stored power of the remaining batteries. Similarly, another given condition for reducing power usage by the motor111may comprise a given number of the main batteries303charging in manner that differs from a respective given model325. However, the main batteries303meeting any suitable given condition may be used to reduce power usage by the motor111; for example, another given condition for determining when a main battery303is failing may comprise determining, based monitored states of charge whether a main battery303is discharging (e.g. powering the motor111) in manner that differs from a respective given model325.

Similarly, the controller321may determine when a given intermediate battery305is failing based on whether, or not, an intermediate battery305is charging, or discharging, based on a respective given model325. An intermediate battery305may be disconnected and/or prevented from charging by opening a respective switch311.

Hence, in general, the controller321and/or the vehicle100may be generally configured to determine: when batteries303,305are failing, or not, using given models325; when the main batteries303are to be charged; when the batteries303,305are to be taken out of service; amongst other possibilities.

In some of these examples, the controller321, based on the respective states of charge of the main batteries303meeting one or more given conditions, may control a notification device328and/or another notification device, such as a cell phone of a user of the vehicle100, to provide a notification of the one or more given conditions that is met. For example, such a notification may indicate which of the main batteries303have failed and hence should be replaced. The notification device328may comprise one or more microphones, display screens, haptic devices, and the like.

Attention is next directed toFIG.5andFIG.6which respectively depict an example of charging a main battery303during operation of the vehicle100and charging the intermediate batteries305.FIG.5andFIG.6are similar toFIG.3with like components having like numbers.

InFIG.5, the controller321is depicted determining that a state of charge of the main battery303-1has fallen below a threshold, and further determining that the intermediate battery305-1has failed. As such, the controller321has controlled the switches309-1,311-2,311-3,315to close and has controlled the switch307-1to open. As such, the main battery303-1is electrically connected to the intermediate batteries305-2,305-3which charge the main battery303-1until the state of charge of the main battery303-1is within a given range, as described above, at which point the controller321controls the switches307,309,311,313,315to return to the same state as depicted inFIG.3. However, inFIG.5, the main battery303-1is isolated from the primary power line317(e.g. as the switch307-1is open), as are the intermediate batteries305(e.g. as the switch313is open). Furthermore, as the intermediate battery305-1has failed, the switch311-1is open. Such changes to states of the switches307,309,311,313,315may be via suitable signals501and/or voltages to the interfaces347,349,351,353,355of the switches307,309,311,313,315.

InFIG.6, the controller321has determined that the motor111is generating regeneration current (e.g. based on information received from the motor controller301) and, compared toFIG.4, opens the switches307,315to isolate the main batteries303from the motor controller301(e.g. and the intermediate batteries305), and closes the switches311,313to charge the intermediate batteries305. While the switch311-1is depicted as closed to attempt to charge the intermediate battery305-1, when the intermediate battery305-1is determined to be failing, the controller321may open the switch311-1to isolate the intermediate battery305-1. Such changes to states of the switches307,309,311,313,315may be via suitable signals601and/or voltages to the interfaces347,349,351,353,355of the switches307,309,311,313,315.

In particular the state of the switches307,309,311,313,315inFIG.6may be referred to as a regeneration state as the switches307,309,311,313,315are controlled to connect one or more of the intermediate batteries305to the motor controller301to charge the one or more of the intermediate batteries305using regeneration current. In some examples, a regeneration state of the switches307,309,311,313,315may include the switches307,309,311,313,315being in a state where one or more of the main batteries303are charged using regeneration current; the switches307may be opened, one or more of the switches309may be closed, and the switches313,315may be closed. However, any state where one or more of the batteries303,305are charged using regeneration current is understood to be a regeneration state. Furthermore a regeneration state may change with time. For example, the intermediate batteries305may initially be charged, however, as they respectively reach a threshold charge capacity, respective switches311may be opened, the switch315may be closed, and respective switches309may be closed to charge one or more of the main batteries303(e.g. until they reach a threshold charge capacity).

Other conditions may be used to place the switches307,309,311,313,315into a regeneration state.

For example, attention is now directed toFIG.7which depicts a flowchart representative of a method700for sensor-based battery charging. The operations of the method700ofFIG.7correspond to machine readable instructions that are executed by the controller321. In the illustrated example, the instructions represented by the blocks ofFIG.7are stored at the memory322for example, as the application323-2. The method700ofFIG.7is one way in which the controller321and/or the vehicle100may be configured. Furthermore, the following discussion of the method700ofFIG.7will lead to a further understanding of the vehicle100, and its various components.

The method700ofFIG.7need not be performed in the exact sequence as shown and likewise various blocks may be performed in parallel rather than in sequence. Accordingly, the elements of method700are referred to herein as “blocks” rather than “steps.” The method700ofFIG.7may be implemented on variations of the vehicle100ofFIG.1, as well.

At a block702, the controller321receives sensor data from the one or more sensors121.

At a block704, the controller321, based on the sensor data meeting one or more given conditions, controls the switches307,309,311,313,315(and/or a subset thereof) into a regeneration state, such that one or more of the batteries303,305is being charged via current (e.g. regeneration current) generated by the motor111; furthermore, it is understood that such charging brakes the motor111as the motor111must “work” to generate the current to charge the batteries303,305.

A given condition given, of the given conditions, may comprises detection of one or more of coasting and deceleration in the sensor data. For example, sensor data from one or more of an accelerometer, a gyroscope, an atmospheric pressure sensor, a Hall sensor, an acceleration sensor and a braking sensor may indicate that the vehicle100is coasting and/or decelerating (e.g. slowing down), which may indicate that the vehicle100is to come to reduce speed and/or come to stop (e.g. before the brakes117are applied) and hence the controller321may control the switch307,309,311,313,315(and/or a subset thereof) into a regeneration state to reduce velocity of the vehicle100and charge one or more of the batteries303,305.

Similarly, the controller321may be further configured to: based on the sensor data meeting the one or more given conditions and detecting braking (e.g. via the braking controller115being actuated and/or any other suitable device of the vehicle100that may be used to detect when braking is occurring), control the switches307,309,311,313,315into the regeneration state. Indeed, while the braking controller115has been described as an actuator for controlling the brakes117, the braking controller115may comprise any suitable device that may be used to detect when braking is occurring at the vehicle100.

Similarly, the controller321may be further configured to: based on the sensor data meeting the one or more given conditions and detecting that the motion controller113has stopped being actuated, (which may also indicate that the vehicle100is to coast and/or decelerate), control the switches307,309,311,313,315into the regeneration state.

However, the controller321may control the switches307,309,311,313,315out of the regeneration state when the motion controller113is actuated to provide power to the motor111, and/or based on any other suitable determination, for example, when the regeneration current stops and/or the vehicle100stops.

In particular examples where the one or more sensors121comprises a camera123that has a field of view in a direction of motion of the vehicle100, a given condition, of the given conditions, may comprises images from the camera123including one or more of a stop sign and a red light located in a direction of motion of the vehicle100. For example, a stop sign and/or a red light in images from the front-facing camera123-F may indicate that the vehicle100has to brake and hence the switches307,309,311,313,315may be controlled into a regeneration state to assist with braking the vehicle100and charge one or more of the batteries303,305. Again, the controller321may control the switches307,309,311,313,315out of the regeneration state when the motion controller113is actuated to provide power to the motor111, and/or based on any other suitable determination, for example, when the regeneration current stops and/or the vehicle100stops and/or a red light turns green as determined from images from a camera123, and the like.

In other particular examples where the one or more sensors121comprises a camera123that has a field of view in a direction of motion of the vehicle100, a given condition, of the given conditions, may comprises images from the camera123including a decline (e.g. downward hill) located in a direction of motion of the vehicle100. For example, such a decline may indicate that the vehicle100may shortly be coasting down a hill and from the front-facing camera123-F may indicate that the vehicle100has to brake and hence the switches307,309,311,313,315may be controlled into a regeneration state to assist with braking the vehicle100and charge one or more of the batteries303,305. Again, the controller321may control the switches307,309,311,313,315out of the regeneration state when the motion controller113is actuated to provide power to the motor111, and/or based on any other suitable determination, for example, when the regeneration current stops and/or the vehicle100stops and/or the decline ends, as determined from images from a camera123, and the like, and/or the atmospheric pressure sensor.

As mentioned above, the vehicle100may include a location determining device, such as a GPS device, and the like. The controller321may hence determine, from the location determining device, locations at which the switches307,309,311,313,315are controlled into a regeneration state and store such locations in the memory322, as well as locations at which the switches307,309,311,313,315are controlled out of the regeneration state. Similarly, controller321may hence determine a given distance and/or a given time period that the switches307,309,311,313,315were in a regeneration state. The vehicle100may hence be trained as to locations at which the switches307,309,311,313,315are controlled to be controlled into, and/or out of, the regeneration state, and/or a given distance and/or given time period that the switches307,309,311,313,315are to be in a regeneration state (e.g. starting at a given location).

As such, a given condition, of the one or more given condition, may comprises a determination from the sensor data that the motor111will begin generating regeneration current at one or more of: at a given location; for a given distance; and for a given time period, and the switches307,309,311,313,315may be controlled into, and out of, a regeneration state accordingly. Put another way, the controller321may be further configured to control the switches307,309,311,313,315into a regeneration state one or more of: at a given location; for a given distance; and for a given time period.

Put another way, the memory322may store a history of locations of previous regeneration events (e.g. when the switches307,309,311,313,315were controlled into a regeneration state, and the vehicle100may comprise a location determining device326(e.g. a GPS device); in these example, the controller321is understood to communicatively coupled to the memory322and the location determining device326, and the controller321may be further configured to: compare a current location, determined via the location determination device, with the locations of the previous regeneration events stored in the memory322; and in response to the current location being within a threshold distance from a location of a respective previous regeneration event, control the switches307,309,311,313,315into a regeneration state. The threshold distance may be fixed (e.g. predetermined) and/or may depend on the current location and/or velocity of the vehicle100. For example, locations of declines and/or hills may be associated with a threshold distance of 1 meter, 2 meters, and the like, while locations of stop signs may be associated with a threshold distance of 10 meters, and the like, for example to brake the vehicle100a further distance from a stop sign than a decline. However, any suitable thresholds are within the scope of the present specification and may further be determined from when the braking controller115and/or the motion controller113were actuated (and/or were stopped from being actuated) at a given location.

Furthermore, the threshold may be directional. For example, the vehicle100may be going up a hill, and the switches307,309,311,313,315may have previously been controlled into a regeneration state at the top of the hill when the vehicle100was travelling in an opposite direction (e.g. towards a decline of the hill). As such, when the vehicle100reaches the top of the hill, the switches307,309,311,313,315are not controlled into a regeneration state as the vehicle100is not headed down the hill.

Attention is next directed toFIG.8which depicts an example of sensor-based battery charging during operation of the vehicle100.FIG.8is similar toFIG.6with like components having like numbers.

However, inFIG.8, the controller321is receiving an image800from the front-facing camera123-F that includes a stop sign. As such, the controller321controls the switches307,309,311,313,315into a regeneration state via appropriate signals801. While not depicted, the controller321may store, at the memory322, a location determined via the location determining device326at which the switches307,309,311,313,315were controlled into the regeneration state so that when the vehicle100is at that location, and/or within a threshold distance therefrom, the switches307,309,311,313,315may again be controlled into the regeneration state.

In some examples, as the vehicle100is equipped with a rear-facing camera123-R, images from the rear-facing camera123-R may be used to avoid and/or minimized collisions with other vehicles approaching the vehicle100from the rear.

For example, attention is now directed toFIG.9which depicts a flowchart representative of a method900for rear collision avoidance. The operations of the method900ofFIG.9correspond to machine readable instructions that are executed by the controller321. In the illustrated example, the instructions represented by the blocks of FIG.9are stored at the memory322for example, as the application323-2. The method900ofFIG.9is one way in which the controller321and/or the vehicle100may be configured. Furthermore, the following discussion of the method900ofFIG.9will lead to a further understanding of the vehicle100, and its various components.

The method900ofFIG.9need not be performed in the exact sequence as shown and likewise various blocks may be performed in parallel rather than in sequence. Accordingly, the elements of method900are referred to herein as “blocks” rather than “steps.” The method900ofFIG.9may be implemented on variations of the vehicle100ofFIG.1, as well.

Furthermore, in the following discussion, the controller321may be described as controlling the motor111, which is understood to occur via the controller321transmitting commands to the motor controller301.

At a block902, the controller321receive images from the rear-facing camera123-R which is understood to have a field of view facing away from the rear end of the chassis106and/or the vehicle100;

At a block904, the controller321determines, from the images, that an other vehicle (e.g. a second vehicle) is approaching the rear end of the chassis106and/or the vehicle100.

At a block906, the controller321predicts, from the images, a possible collision with the other vehicle at the rear end of the chassis106and/or the vehicle100.

At a block908, the controller321, in response, to predicting the possible collision, controls the motor111to accelerate the chassis106and/or the vehicle100away from the other vehicle to one or more of avoid and minimize the possible collision.

Hence, for example, at the block904, the controller321may determine that the other vehicle is approaching the rear end of the chassis106via suitable machine learning classifiers and/or video analysis to identify the other vehicle, as well as a relative velocity of the other vehicle (e.g. relative to a respective velocity of the vehicle100), a distance between the rear end of the chassis106and the other vehicle, and/or an estimated time of the possible collision, and an acceleration value of the motor111may be selected accordingly. For example, the motor111may be controlled to accelerate the vehicle100to about match a velocity of the other vehicle, and/or the motor111may be controlled to accelerate the vehicle100to be greater than a velocity of the other vehicle.

Furthermore, the motor111may be controlled to accelerate the vehicle100to avoid the possible predicted collision and/or to control relative velocities between the vehicle100and the other vehicle to as small a velocity as possible to minimize the impact therebetween.

However, images from the front-facing camera123-F may be used to determine when there any objects in front of the vehicle100and the controller321may control the vehicle100to avoid such objects. Furthermore such collision avoidance may depend on types of the identified objects (e.g. determined via machine learning classifiers, and the like, applied to images from the front-facing camera123-F). For example, certain types of vehicles (e.g. bicycles, cars, and the like), people, baby carriages, and the like may be avoided, but certain types of vehicles (e.g. drones, and the like) animals and/or certain types of animals may be avoided (e.g. dogs and cats may be avoided, but rats may not be avoided). Such avoidance may include stopping the vehicle100via the controller321controlling the braking controller115, and the like, which may come at the expense of the other vehicle rear-ending the vehicle100.

However, such avoidance may include swerving the vehicle100via the controller321controlling the wheels104of the vehicle100(which may be possible in some types of the vehicle100, such as cars, drones, and the like), but not others (e.g. bicycles). Such examples further illustrate that the controller321may be configured to autonomously control the vehicle100.

Hence, the controller321may be further configured to: in conjunction with predicting the possible collision, determine, from the images, an estimated time of the possible collision, and the control of the motor111to accelerate the chassis106away from the other vehicle to avoid a collision therewith may be further based on an estimated time to the collision.

Furthermore, the vehicle100may comprise the second front-facing camera123-F with a respective field of view facing away from the front end of the chassis106, and the controller321may be further configured to: receive respective images from the second camera123-F; determine, from the respective images, one or more objects located in the respective field of view of the second camera123-F; and control the motor111to accelerate the chassis106away from the other vehicle to one or more of avoid or minimize the possible collision, while avoiding the one or more objects.

In some examples, the controller321may be further configured to: receive respective images from the second camera123-F; determine, from the respective images, respective types of one or more objects located in the respective field of view of the second camera123-F; and control the motor111to accelerate the chassis106away from the other vehicle to one or more of avoid or minimize the possible collision, while avoiding given respective types of the one or more objects.

In some examples, the controller321may be further configured to: receive respective images from the second camera123-F; determine, from the respective images, respective types of one or more objects located in the respective field of view of the second camera123-F; and control the motor111to accelerate the chassis106away from the other vehicle to one or more of avoid or minimize the possible collision, while not avoiding given respective types of the one or more objects.

Attention is next directed toFIG.10which depicts an example of for rear collision avoidance during operation of the vehicle100.FIG.10is similar toFIG.3with like components having like numbers, hence inFIG.10, all of the main batteries303are being used to power the motor111.

However, inFIG.10, the controller321is receiving an image1000from the rear-facing camera123-R that includes a car moving towards the rear end of the vehicle. As such, the controller321transmit a command1001to the motor controller301to cause the motor controller301to control the motor111to accelerate away from the car in the image1000. The controller321is further understood to implement any suitable object avoidance mechanisms while doing so.

In some examples, the controller321, and/or one or more of the applications323(e.g. such as the application323-1) may be further adapted to track aging and/or relative changes of the main batteries303, and control one or more of charging of the main batteries303and use of the main batteries303to power the motor111accordingly.

For example, with regards to aging, as previously described, the main batteries303may operate according to a given model325, which may be stored at the memory322and/or may be preconfigured at an application323. Furthermore, batteries aging and/or degrading may generally result in increased internal resistance, and internal impedance as well as reduced energy storage capacity of a battery (e.g. a main battery303). Battery again is understood to occur many charge and discharge cycles of a battery (e.g. a main battery303). One parameter used to determine and/or track battery energy is energy storage capacity, and, in some examples, a battery (e.g. a main battery303) may be considered to reach and end of life when the energy storage capacity is less than 70% of its original capacity.

Hence, a given model325may indicate how an open circuit voltage of a main battery303changes over time as a function of one or more of a state of charge of a main battery303and/or temperature. Alternatively, or in addition, the given model325may indicate how one or more of internal resistance and internal impedance of a main battery303changes over time as a function of one or more of a state of charge of a main battery303and/or temperature.

However, such given models325are understood to be ideal models which may represent how a battery ages in a factory setting, and may not reflect how a battery actually ages.

As such, the controller321may be further adapted to maintain a respective model325for each of the main batteries303, and adjust such models325over time based on data received from the main batteries303via the data interface333. For examples, the main batteries303may report, to the controller321, respective open circuit voltages, respective internal resistance, and/or respective internal impedance along with respective states of charge and/or respective temperatures. As such, the controller321may track an open circuit voltage of a main battery303as a function over time of one or more of a state of charge of a main battery303and/or temperature; alternatively, or in addition, the controller321may track one or more of internal resistance and internal impedance of a main battery303as a function over time of one or more of a state of charge of a main battery303and/or temperature. The controller321may then adjust the models325for the main batteries303accordingly, and use the adjusted models325to control one or more of charging of the main batteries303and use of the main batteries303to power the motor111accordingly.

In particular, the controller321may adjust the models325based on data received from the main batteries303. Such adjusting may occur via one or more machine learning models325trained to adjust such models325. Furthermore, the controller321may use the adjusted models325to control one or more of charging of the main batteries303and use of the main batteries303to power the motor111such that the main batteries303age at a same relative rate, and/or such that the main batteries303reach a given aging threshold condition at around a same time. Such a given aging threshold condition may comprise a maximum stage of charge of a main battery303comprising a of a 10% state of charge relative to an initial maximum state of charge of the main battery303(e.g. when the main battery303was new and/or installed at the vehicle100). However, such a 10% state of charge is understood to be one example of a given aging threshold condition and other examples are within the scope of the present specification including, but not limited to, other percentage states of charge (e.g. 5%, 15%, 20%, 30% . . . ), and/or given maximum power and/or current outputs (e.g. relative to initial maximum power and/or current output), and the like.

Hence, for example, based on the updated models325, the controller321may control the switches307,309,311,313,315such that main batteries303that are aging faster than other main batteries303are charged at a slower relative rate. For example, main batteries303, that are aging faster than other main batteries303, may have higher internal resistance and/or internal impedance than other main batteries303that are aging slower, and hence the charging of such faster aging main batteries303is slower relative to the other main batteries303to prevent the faster aging main batteries303from heating (e.g. due to the higher internal resistance and/or internal impedance).

Similarly, based on the updated models325, the controller321may control the switches307,309,311,313,315such that more energy from main batteries303that are aging slower than other main batteries303is used to power the motor111.

Put another way, the controller312may be generally configured to: track aging of the main batteries303; during discharge of the main batteries303(e.g. when powering the motor111), when high output currents are used, prioritize given main batteries303that are in a healthier state than other main batteries303for high output current draws; and, when charging the main batteries303, use lower charging current on main batteries303that are less healthy as indicated by their respective aging as indicated by respective updated and/or adjusted models325. In these examples, the term “healthy battery” is understood to mean a battery that is aging slower than other batteries and/or a battery that is aging slower than indicated by an initial respective model325. Similar, the term “unhealthy battery” and/or “less healthy” battery is understood to mean a battery that is aging faster than other batteries and/or a battery that is aging faster than indicated by an initial respective model325. Furthermore, the controller312may further reduce aging of the main batteries303by controlling the switches307,309,311,313,315such that regeneration current is directed to the intermediate batteries305rather than the main batteries303, as regeneration currents may be relatively high and/or high enough to damage the main batteries303, especially when a main battery303is in a “high” state of charge (e.g. above a threshold state of charge).

Allowing regen currents to go primarily to sacrificial pack, as high charging currents damage the batteries the most, especially at high SOC

Furthermore, such charging and/or energy use may also be implemented via one or more machine learning models325trained to charge the main batteries303based on updated respective models325, and/or trained to use energy from the main batteries303based on updated respective models325.

Furthermore, with respect to relative changes of the main batteries303, which may be referred to as battery imbalance, such battery imbalance is a process where a state of charge of different batteries (e.g. the main batteries303) operating together drift apart. Battery imbalance may occur faster (and/or much faster) than battery aging. Battery imbalance is much faster than battery aging and may and occur within a charging/discharging cycle, and may occur due to differences in the main batteries303such as different battery discharge rates, different internal resistances and/or impedances, among other possibilities, and which may be due to manufacturing non-uniformities between the main batteries303, and the like.

To address battery imbalance, the controller312may be further configured to: the switches307,309,311,313,315to charge and/or discharge the main batteries303differently, such that: each of the main batteries303are at a same and/or similar state of charge at the end of each so they meet the same SOC at the end of each charging/discharging cycle (e.g. about 10% of a state of charge of a respective battery303after charging); and one or more of: using relatively higher state-of-charge main batteries303to charge relatively lower state-of-charge main batteries303; and using energy from the intermediate batteries305to charge the relatively lower state-of-charge main batteries303.

Attention is now directed toFIG.11which depicts a flowchart representative of a method1100for battery management. The operations of the method1100ofFIG.11correspond to machine readable instructions that are executed by the controller321. In the illustrated example, the instructions represented by the blocks ofFIG.11are stored at the memory322for example, as an application323(e.g. the application323-1adapted accordingly). The method1100ofFIG.11is one way in which the controller321and/or the vehicle100may be configured. Furthermore, the following discussion of the method1100ofFIG.11will lead to a further understanding of the vehicle100, and its various components.

The method1100ofFIG.11need not be performed in the exact sequence as shown and likewise various blocks may be performed in parallel rather than in sequence. Accordingly, the elements of method1100are referred to herein as “blocks” rather than “steps.” The method1100ofFIG.11may be implemented on variations of the vehicle100ofFIG.1, as well.

At a block1102, the controller321, based on data received from main batteries303of a vehicle100, updates respective aging models325for the main batteries303.

The data from the main batteries303may include, but is not limited to, one or more of: state of charge, open circuit voltage, internal resistance, internal impedance, and temperature.

Furthermore, the adjustment of the block1102has been described above, and may include, but is not limited to, adjusting one or more functions of open circuit voltage and/or internal resistance and/or internal impedance with respect to one or more of state of charge and temperature, over time. For example, internal resistance and/or internal impedance of a main battery303may increase over time as influenced by one or more of state of charge and temperature.

At a block1104, the controller321, based on updated respective aging models325for the main batteries303, controls switches307,309,311,313,315to one or more of: charge the main batteries303and use energy from the main batteries303such that the main batteries303meet a threshold aging condition at around a same time. Indeed, Put another way, at the block1104, the controller321, based on updated respective aging models325for the main batteries303, controls switches307,309,311,313,315to control aging of the main batteries303such that the main batteries303meet a threshold aging condition at around a same time. Examples of threshold aging conditions have been described above.

Furthermore, the method1100may be implemented via one or more machine learning algorithms.

In some examples, the method1100may further comprise the controller321determining that one or more of the main batteries303is aging at a rate that is faster than a threshold rate, and control the notification device328, and/or another notification device, such as a mobile phone of a user of the vehicle100, to indicate that such one or more of the main batteries303should be changed and/or when such one or more of the main batteries303should be changed. For example, the controller321may determine that a main battery303is aging at a rate that is faster than a threshold rate and predict when such a main battery303may fail based on a respective updated model325, and control the notification device328, and/or another notification device to indicate that such a main battery303should be changed prior to when such a main battery303is predicted to fail.

Indeed, such a prediction of failure may be based on a rate of change of maximum power output (e.g. which may be referred to as power fade) and/or a rate of change of charge capacity (e.g. which may be referred to as capacity fade). Furthermore, such a failure may not be based on a threshold rate, but rather on maximum power output and/or charge capacity relative to one or more other main batteries303.

Attention is now directed toFIG.12which depicts a flowchart representative of another method1200for battery management. The operations of the method1200ofFIG.12correspond to machine readable instructions that are executed by the controller321. In the illustrated example, the instructions represented by the blocks ofFIG.12are stored at the memory322for example, as an application323(e.g. the application323-1adapted accordingly). The method1200ofFIG.12is one way in which the controller321and/or the vehicle100may be configured. Furthermore, the following discussion of the method1200ofFIG.12will lead to a further understanding of the vehicle100, and its various components.

The method1200ofFIG.12need not be performed in the exact sequence as shown and likewise various blocks may be performed in parallel rather than in sequence. Accordingly, the elements of method1200are referred to herein as “blocks” rather than “steps.” The method1200ofFIG.12may be implemented on variations of the vehicle100ofFIG.1, as well.

At a block1202, the controller321, based on data received from the main batteries303of the vehicle100, determines, relative states of charge of the main batteries303.

At a block1204, the controller321, based on the relative states of charge, controls the switches307,309,311,313,315to one or more of: charge lower state-of-charge main batteries303using higher state-of-charge main batteries303; and charge the lower state-of-charge main batteries303using intermediate batteries305.

In some examples, higher and lower state-of-charge main batteries303may be determined relative to respective states of charges of the main batteries303. In other examples higher and lower state-of-charge main batteries303may be determined relative to a threshold state of charge. For example, a main battery303may be determined to be a low state of charge battery when below a 50% state of charge, and a main battery303may be determined to be a low state of charge battery when above the 50% state of charge (e.g. in this example, the threshold state of charge is a 50% state of charge, however the threshold state of charge may be any suitable value such as 40%, 60%, 70%, among other possibilities).

Furthermore, the charging of the block1204may occur such that, after charging, the main batteries303are all in a similar state of charge and/or in a high state of charge (e.g. when determining low or high state of charge of a main battery303is threshold based).

In a particular example, a main battery303may initially be capable of outputting 100 Amps of current (e.g. charge capacity), but over time power fade and/or capacity fade occurs and such a main battery303may capable of outputting only 50 Amps of current; however, another main battery303may be capable of outputting 100 Amps of current and may have to output more energy to power the motor111than the main battery303capable outputting only 50 Amps of current. Such a situation may place undue stress on the main battery303capable of outputting 100 Amps and indeed it is preferable, at the vehicle100, that all the main batteries303be “matched” (e.g. with respect to state of charge) so that the main batteries303generally operate at similar currents and/or voltages and/or powers. As such, the controller311may control the notification device328, and/or another notification device, to provide an indication to change a main battery303that has aged, relative to one or more other main batteries303, such that the other main batteries303are stressed. Such relative aging may be defined in terms of a relative threshold aging condition such as a relative state of charge capacity, and the like; hence, for example when one main battery303reaches a maximum state of charge capacity that is 50% of other main batteries303, the controller311may control the notification device328, and/or another notification device, to provide an indication to change such a main battery303(e.g. that has met a relative threshold aging condition).

As should be apparent from this detailed description above, the operations and functions of computing devices, and the like, described herein are sufficiently complex as to require their implementation on a computer system, and cannot be performed, as a practical matter, in the human mind. Computing devices, and the like, such as set forth herein are understood as requiring and providing speed and accuracy and complexity management that are not obtainable by human mental steps, in addition to the inherently digital nature of such operations (e.g., a human mind cannot interface directly with a Random Access Memory, or other digital storage, cannot transmit or receive electronic messages and/or information, electronically encoded video, electronically encoded audio, etc., among other features and functions set forth herein).

It is understood that for the purpose of this specification, language of “at least one of X, Y, and Z” and “one or more of X, Y and Z” can be construed as X only, Y only, Z only, or any combination of two or more items X, Y, and Z (e.g., XYZ, XY, YZ, XZ, and the like). Similar logic can be applied for two or more items in any occurrence of “at least one . . . ” and “one or more . . . ” language.

The terms “about”, “substantially”, “essentially”, “approximately”, and the like, are defined as being “close to”, for example as understood by persons of skill in the art. In some examples, the terms are understood to be “within 10%,” in other examples, “within 5%”, in yet further examples, “within 1%”, and in yet further examples “within 0.5%”.

Persons skilled in the art will appreciate that in some examples, the functionality of devices and/or methods and/or processes described herein can be implemented using pre-programmed hardware or firmware elements (e.g., application specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), etc.), or other related components. In other examples, the functionality of the devices and/or methods and/or processes described herein can be achieved using a computing apparatus that has access to a code memory (not shown) which stores computer-readable program code for operation of the computing apparatus. The computer-readable program code could be stored on a computer readable storage medium which is fixed, tangible and readable directly by these components, (e.g., removable diskette, CD-ROM, ROM, fixed disk, USB drive). Furthermore, it is appreciated that the computer-readable program can be stored as a computer program product comprising a computer usable medium. Further, a persistent storage device can comprise the computer readable program code. It is yet further appreciated that the computer-readable program code and/or computer usable medium can comprise a non-transitory computer-readable program code and/or non-transitory computer usable medium. Alternatively, the computer-readable program code could be stored remotely but transmittable to these components via a modem or other interface device connected to a network (including, without limitation, the Internet) over a transmission medium. The transmission medium can be either a non-mobile medium (e.g., optical and/or digital and/or analog communications lines) or a mobile medium (e.g., microwave, infrared, free-space optical or other transmission schemes) or a combination thereof.

Persons skilled in the art will appreciate that there are yet more alternative examples and modifications possible, and that the above examples are only illustrations of one or more embodiments. The scope, therefore, is only to be limited by the claims appended hereto.