Collective vehicle power management

A computer is programmed to allocate a plurality of electric vehicles with associated electric machines to locations to perform tasks based on the charges of the electric vehicles and electric machines and expected energy consumptions of the electric vehicles traveling to the locations and of the electric machines performing the tasks at the locations; and in response to a sum of the charges of a first electric vehicle and the electric machines associated with the first electric vehicle being less than a sum of the expected energy consumptions of the first electric vehicle traveling to a first location and of the electric machines associated with the first electric vehicle performing the tasks at the first location, instruct a second electric vehicle to travel to a second location at which the first electric vehicle will be located.

BACKGROUND

Types of electric vehicles include plug-in hybrid electric vehicles (PHEVs), hybrid electric vehicles (HEVs), and battery electric vehicles (BEVs). Electric vehicles include electric propulsions that generate energy and translate the energy into motion of the electric vehicles. An electric propulsion may be an all-electric powertrain including batteries, an electric motor, and a transmission that transfers rotational motion to the wheels; or a hybrid powertrain including elements of a conventional powertrain and of the all-electric powertrain.

DETAILED DESCRIPTION

This disclosure describes systems and techniques for managing energy consumption by a group of electric vehicles that are used to power electric machines. The system can extend performance of the electric vehicles and electric machines, including extending a time during which one or more of the electric vehicles can power electric machines at a location when performing a task.

A computer can allocate the electric vehicles and electric machines to locations at which the electric machines will perform specific tasks. The allocation can be based on the charges held by the electric vehicles and electric machines, the expected energy consumptions of the electric vehicles traveling to the locations, and the expected energy consumptions of the electric machines performing the tasks. If one of the electric vehicles and its associated electric machines have insufficient collective charge for traveling to its allocated location and performing the tasks for that location, then a mitigating operation can be performed, thereby providing sufficient charge. For example, another electric vehicle from the group can meet and charge the electric vehicle at a second location. Other examples include charging at a third location, charging at the location at which the tasks are to be performed, and swapping electric machines with another electric vehicle. The system can help ensure that the electric vehicles and electric machines have sufficient charge for performing the tasks while minimizing a total power draw by the group of electric vehicles.

A computer includes a processor and a memory storing instructions executable by the processor to receive data indicating charges of a plurality of electric vehicles and a plurality of electric machines, the electric vehicles including a first electric vehicle and a second electric vehicle, the electric machines being associated with the respective electric vehicles; receive a plurality of tasks to be performed at a plurality of locations, the locations including a first location; allocate the electric vehicles to the locations based on the charges of the electric vehicles and electric machines and expected energy consumptions of the electric vehicles traveling to the locations and of the electric machines performing the tasks at the locations, the first electric vehicle being allocated to the first location; and in response to a sum of the charges of the first electric vehicle and the electric machines associated with the first electric vehicle being less than a sum of the expected energy consumptions of the first electric vehicle traveling to the first location and of the electric machines associated with the first electric vehicle performing the tasks at the first location, instruct the second electric vehicle to travel to a second location at which the first electric vehicle will be located.

The second location may be the first location.

The second location may be not included in the plurality of locations, and the instructions may further include instructions to instruct the first electric vehicle to travel to the second location before traveling to the first location.

The instructions may further include instructions to instruct the electric vehicles to, after leaving the locations, recharge the electric machines to respective predetermined charge levels. The predetermined charge levels may be below fully charged. The instructions may further include instructions to, in response to one of the electric machines being charged above the respective predetermined charge level after performing the respective tasks at the respective location, instruct the respective electric vehicle to recharge from that electric machine until that electric machine reaches the respective predetermined charge level.

The predetermined charge levels may be below half charged.

The electric vehicles may include a third electric vehicle, the plurality of locations may include a third location to which the third electric vehicle is allocated, and the instructions may further include instructions to, in response to a sum of the charges of the third electric vehicle and the electric machines associated with the third electric vehicle being less than a sum of the expected energy consumptions of the third electric vehicle traveling to the third location and of the electric machines associated with the third electric vehicle performing the tasks at the third location, instruct the third electric vehicle to charge at a fourth location before traveling to the third location. The plurality of locations may be job locations, the electric vehicles may be located at a plurality of storage locations including the fourth location before traveling to the job locations, and the storage locations may be separated from each other.

The electric vehicles may include a third electric vehicle, the plurality of locations may include a third location to which the third electric vehicle is allocated, and the instructions may further include instructions to, in response to a sum of the charges of the third electric vehicle and the electric machines associated with the third electric vehicle being less than a sum of the expected energy consumptions of the third electric vehicle traveling to the third location and of the electric machines associated with the third electric vehicle performing the tasks at the third location, instruct the third electric vehicle to recharge at the third location. The plurality of locations may be job locations, the electric vehicles may be located at a plurality of storage locations before traveling to the job locations, and the storage locations may be nonoverlapping with the job locations.

The instructions may further include instructions to instruct the electric vehicles to, after the tasks are performed at the locations, output data indicating actual energy consumptions of the electric vehicles and the electric machines. The electric vehicles may include a third electric vehicle, and the instructions may further include instructions to, in response to a sum of the actual energy consumptions of the third electric vehicle and the electric machines associated with the third electric vehicle exceeding a sum of the expected energy consumptions of the third electric vehicle and the electric machines associated with the third electric vehicle by at least a threshold, output a message.

The electric vehicles may include a third electric vehicle, and the instructions may further include instructions to, in response to a sum of the actual energy consumptions of the third electric vehicle and the electric machines associated with the third electric vehicle exceeding a sum of the expected energy consumptions of the third electric vehicle and the electric machines associated with the third electric vehicle by at least a threshold, instruct the third electric vehicle to transmit data from a camera of the third electric vehicle.

The electric vehicles may include a third electric vehicle, and the instructions may further include instructions to, in response to a sum of the actual energy consumption of the third electric vehicle and the electric machines associated with the third electric vehicle exceeding a sum of the expected energy consumption of the third electric vehicle and the electric machines associated with the third electric vehicle by at least a threshold, instruct the third electric vehicle to disable a charge port of the third electric vehicle.

The plurality of locations may be separated from each other.

The tasks may include a plurality of types of the tasks, and the expected energy consumptions of the electric machines performing different types of tasks may be different. The electric machines may include a plurality of types of the electric machines associated with the respective types of the tasks.

The instructions may further include instructions to instruct the electric vehicles to charge the respective electric machines via charge ports of the electric vehicles.

A method includes receiving data indicating charges of a plurality of electric vehicles and a plurality of electric machines, the electric vehicles including a first electric vehicle and a second electric vehicle, the electric machines being associated with the respective electric vehicles; receiving a plurality of tasks to be performed at a plurality of locations, the locations including a first location; allocating the electric vehicles to the locations based on the charges of the electric vehicles and electric machines and expected energy consumptions of the electric vehicles traveling to the locations and of the electric machines performing the tasks at the locations, the first electric vehicle being allocated to the first location; and in response to a sum of the charges of the first electric vehicle and the electric machines associated with the first electric vehicle being less than a sum of the expected energy consumptions of the first electric vehicle traveling to the first location and of the electric machines associated with the first electric vehicle performing the tasks at the first location, instructing the second electric vehicle to travel to a second location at which the first electric vehicle will be located.

With reference to the Figures, wherein like numerals indicate like parts throughout the several views, a computer100includes a processor and a memory storing instructions executable by the processor to receive data indicating charges of a plurality of electric vehicles102and a plurality of electric machines104, the electric vehicles102including a first electric vehicle102-1and a second electric vehicle102-2, the electric machines104being associated with the respective electric vehicles102; receive a plurality of tasks to be performed at a plurality of job locations106, the job locations106including a first job location106-1; allocate the electric vehicles102to the job locations106based on the charges of the electric vehicles102and electric machines104and expected energy consumptions of the electric vehicles102traveling to the job locations106and of the electric machines104performing the tasks at the job locations106, the first electric vehicle102-1being allocated to the first job location106-1; and in response to a sum of the charges of the first electric vehicle102-1and the electric machines104associated with the first electric vehicle102-1being less than a sum of the expected energy consumptions of the first electric vehicle102-1traveling to the first job location106-1and of the electric machines104associated with the first electric vehicle102-1performing the tasks at the first job location106-1, instruct the second electric vehicle102-2to travel to a second location108at which the first electric vehicle102-1will be located.

With reference toFIG.1, the computer100is a microprocessor-based computing device, e.g., a generic computing device including a processor and a memory, an electronic controller or the like, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a combination of the foregoing, etc. Typically, a hardware description language such as VHDL (Very High Speed Integrated Circuit Hardware Description Language) is used in electronic design automation to describe digital and mixed-signal systems such as FPGA and ASIC. For example, an ASIC is manufactured based on VHDL programming provided pre-manufacturing, whereas logical components inside an FPGA may be configured based on VHDL programming, e.g., stored in a memory electrically connected to the FPGA circuit. The computer100can thus include a processor, a memory, etc. The memory of the computer100can include media for storing instructions executable by the processor as well as for electronically storing data and/or databases, and/or the computer100can include structures such as the foregoing by which programming is provided. The computer100can be multiple computers coupled together.

The computer100can be communicatively coupled to a user interface110. The user interface110presents information to and receives information from an operator of the computer100. The user interface110may include dials, digital readouts, screens, speakers, and so on for providing information to the operator, e.g., human-machine interface (HMI) elements such as are known. The user interface110may include a keyboard, buttons, knobs, keypads, touchscreen, mouse, microphone, and so on for receiving information from the operator.

The computer100can communicate with the electric vehicles102and electric machines104via a network112. The network112represents one or more mechanisms by which the computer100may communicate with remote servers. Accordingly, the network112may be one or more of various wired or wireless communication mechanisms, including any desired combination of wired (e.g., cable and fiber) and/or wireless (e.g., cellular, wireless, satellite, microwave, and radio frequency) communication mechanisms and any desired network topology (or topologies when multiple communication mechanisms are utilized). Exemplary communication networks include wireless communication networks (e.g., using Bluetooth, IEEE 802.11, etc.), local area networks (LAN) and/or wide area networks (WAN), including the internet, providing data communication services.

The electric vehicles102may be any passenger or commercial automobile such as cars, trucks, sport utility vehicles, crossovers, vans, minivans, taxis, buses, etc. Each electric vehicle102includes an electric propulsion114, as described below. The electric vehicles102can be plug-in hybrid electric vehicles (PHEVs), hybrid electric vehicles (HEVs), battery electric vehicles (BEVs), etc.

The electric machines104are machines, e.g., tools, that operate on electric current, either direct current or alternating current. The electric machines104can operate from an outside power supply such as one of the electric vehicles102. Alternatively or additionally, the electric machines104can include machine batteries116that are rechargeable from an outside power supply such as one of the electric vehicles102. The machine batteries116can be any suitable type, e.g., lithium-ion batteries, nickel-metal hydride batteries, lead-acid batteries, ultracapacitors, etc. Each electric machine104with a machine battery116can have a charge, i.e., a quantity of energy stored in the machine battery116. The electric machines104can be transportable by the electric vehicles102, i.e., sized so that one of the electric vehicles102can carry at least one of the electric machines104. The electric machines104include a plurality of types, e.g., equipment for construction, plumbing, carpentry, electrical work, etc., such as jackhammers, sanders, drills, nail guns, circular saws, lighting, etc.

The electric machines104can be associated with the respective electric vehicles102, i.e., each electric machine104can be associated with one of the electric vehicles102. The computer100can store associations between the electric machines104and the electric vehicles102in memory. Multiple electric machines104can be associated with one of the electric vehicles102. For example, the electric machines104can be stored in the electric vehicles102with which they are associated.

With reference toFIG.2, each electric vehicle102can include a vehicle computer118. The vehicle computer118is a microprocessor-based computing device, e.g., a generic computing device including a processor and a memory, an electronic controller or the like, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a combination of the foregoing, etc. Typically, a hardware description language such as VHDL (Very High Speed Integrated Circuit Hardware Description Language) is used in electronic design automation to describe digital and mixed-signal systems such as FPGA and ASIC. For example, an ASIC is manufactured based on VHDL programming provided pre-manufacturing, whereas logical components inside an FPGA may be configured based on VHDL programming, e.g., stored in a memory electrically connected to the FPGA circuit. The vehicle computer118can thus include a processor, a memory, etc. The memory of the vehicle computer118can include media for storing instructions executable by the processor as well as for electronically storing data and/or databases, and/or the vehicle computer118can include structures such as the foregoing by which programming is provided. The vehicle computer118can be multiple computers coupled together onboard the electric vehicle102.

The vehicle computer118may transmit and receive data through a communications network120such as a controller area network (CAN) bus, Ethernet, WiFi, Local Interconnect Network (LIN), onboard diagnostics connector (OBD-II), and/or by any other wired or wireless communications network. The vehicle computer118may be communicatively coupled to the electric propulsion114, a transceiver122, charge ports124, a camera126, and other components via the communications network120.

The electric propulsion114of the vehicle generates energy and translates the energy into motion of the vehicle. The electric propulsion114may be an all-electric powertrain including vehicle batteries128, an electric motor, and a transmission that transfers rotational motion to the wheels; a hybrid powertrain including elements of a conventional powertrain and of the all-electric powertrain; etc. The vehicle batteries128may be of any suitable type for vehicular electrification, for example, lithium-ion batteries, nickel-metal hydride batteries, lead-acid batteries, ultracapacitors, etc. Each electric vehicle102can have a charge, i.e., a quantity of energy stored in the vehicle batteries128of that electric vehicle102. The electric propulsion114can include an electronic control unit (ECU) or the like that is in communication with and receives input from the vehicle computer118and/or a human operator. The human operator may control the electric propulsion114via, e.g., an accelerator pedal and/or a gear-shift lever.

The transceiver122may be adapted to transmit signals wirelessly through any suitable wireless communication protocol, such as cellular, Bluetooth®, Bluetooth® Low Energy (BLE), ultra-wideband (UWB), WiFi, IEEE 802.11a/b/g/p, cellular-V2X (CV2X), Dedicated Short-Range Communications (DSRC), other RF (radio frequency) communications, etc. The transceiver122may be adapted to communicate with a remote server, that is, a server distinct and spaced from the vehicle. The remote server may be located outside the electric vehicle102. For example, the remote server may be associated with another vehicle (e.g., V2V communications), an infrastructure component (e.g., V2I communications), an emergency responder, a mobile device associated with the owner of the electric vehicle102, the computer100via the network112, etc. The transceiver122may be one device or may include a separate transmitter and receiver.

The charge ports124are features to which the operator can electrically connect nonvehicle loads, i.e., electrical loads that are not part of the electric vehicle102, e.g., the electric machines104. The charge ports124can be any type of feature to which a nonvehicle load can be securely and temporarily attached. For example, the charge ports124can be studs, to which the nonvehicle loads can be electrically connected by clipping or screwing. For another example, the charge ports124can be outlets into which electrical connectors can be plugged.

The cameras126can detect electromagnetic radiation in some range of wavelengths. For example, the cameras126may detect visible light, infrared radiation, ultraviolet light, or some range of wavelengths including visible, infrared, and/or ultraviolet light. For example, the camera126can be a charge-coupled device (CCD), complementary metal oxide semiconductor (CMOS), or any other suitable type.

With reference toFIG.3, the electric vehicles102can be located at a plurality of storage locations130before traveling to the job locations106. The storage locations130can be designated locations for the respective electric vehicles102to sit when not in use. Some or all of the storage locations130can be equipped with chargers for charging the electric vehicles102, e.g., from the energy grid. The storage locations130can be separated from each other, i.e., distributed over a large geographic area132such as a city or metro area. The storage locations130can be permanent, i.e., stay the same from day to day. The storage locations130can be stored in the memory of the computer100.

The job locations106are where the tasks are located. Each job location106can have one or more tasks to be performed there. The job locations106can change from day to day as the tasks are performed and new tasks are issued. The job locations106and the storage locations130may be nonoverlapping with each other; i.e., a location can be a job location106or a storage location130but generally not both. The job locations106can be separated from each other, i.e., distributed over the large geographic area132.

The large geographic area132can include the storage locations130and the job locations106, and the storage locations130and the job locations106can be interspersed in the geographic area132. In other words, the job locations106can be located among the storage locations130, and vice versa.

The electric vehicles102transport the electric machines104from the respective storage locations130to the respective job locations106so that the electric machines104can perform the tasks. The computer100can instruct the electric vehicles102to travel from the respective storage locations130to the respective job locations106, e.g., by transmitting a message via the network112and the transceivers122. The message can be read by an operator of the respective electric vehicle102who can then operate the electric vehicle102to travel from the storage location130to the job location106, or the electric vehicle102can operate autonomously to travel from the storage location130to the job location106in response to receiving the message. The electric vehicles102actuate the electric propulsion114to travel from the respective storage locations130to the respective job locations106, thereby consuming energy from the vehicle batteries128.

The computer100can estimate expected energy consumptions of the electric vehicles102traveling from the storage locations130to the job locations106. For the purposes of this disclosure, an “expected energy consumption” is defined as a quantity of energy to perform an action as estimated before performing the action. Actions can be, e.g., traveling to the job locations106, performing the tasks, etc. The computer100can estimate the expected energy consumption for one of the electric vehicles102to travel from the storage location130to the job location106based on a type of the electric vehicle102, a distance to travel from the storage location130to the job location106, types and speed limits of roads along a route from the storage location130to the job location106, traffic along the route, etc., as is known.

The computer100can receive the plurality of the tasks to be performed at the locations, e.g., over a time period such as the following day. The tasks can be of a plurality of types, e.g., pouring concrete, building a brick wall, building an interior wall, installing plumbing fixtures, etc. The types of tasks can be preset types stored in the memory of the computer100. Each task can have one of the job locations106at which the task is to be performed. A job location106can have one or more tasks to be performed there.

Each type of task can have one or more types of electric machines104designated for performing the task. The designated types of electric machines104for the respective types of tasks can be stored in the memory of the computer100. For example, a nail gun and a circular saw can be designated for building an interior wall, a concrete mixer can be designated for pouring concrete, etc.

The tasks can have respective expected energy consumptions for performing the tasks. The expected energy consumptions of different types of tasks are different. The expected energy consumption of a task can be based on the type of the task. For example, installing a sink can have a preset expected energy consumption stored in the memory of the computer100. The expected energy consumption of a task can also be based on one or more values characterizing the scope of the task. For example, the expected energy consumption of installing an interior wall can be based on a length of the wall, the expected energy consumption of pouring concrete can be based on a surface area of the poured concrete, etc. The computer100can store formulas for determining the expected energy consumptions of the preset types of tasks based on the value(s) characterizing the scope of the task, e.g., a formula that receives the length of an interior wall and outputs the expected energy consumption of installing the wall, a formula that receives the surface area to be filled with concrete and outputs the expected energy consumption of pouring the concrete, etc.

The computer100can receive data indicating the charges of the electric vehicles102and the electric machines104. The computer100can use the data when allocating the electric vehicles102to the locations, as will be described below. For each electric vehicle102, a sum of the charges of that electric vehicle102and the electric machines104associated with that electric vehicle102is available for traveling from the storage location130to the job location106(once allocated) and performing the tasks for that job location106.

The computer100allocates the electric vehicles102to the locations based on the charges of the electric vehicles102and electric machines104and the expected energy consumptions of the electric vehicles102traveling to the job locations106and of the electric machines104performing the tasks at the locations. The computer100can allocate the electric vehicles102to the job locations106so as to, e.g., minimize total expected energy consumption, minimize the total distance traveled by the electric vehicles102, maximize the number of electric vehicles102for which the sum of the charges of that electric vehicle102and its associated electric machines104is greater than the expected energy consumption of traveling to the allocated job location106and performing the allocated tasks, optimize a cost function of more than one of the foregoing variables, etc. The computer100can determine the allocations using, e.g., linear-programming techniques as are known. The allocations can be constrained by which electric vehicles102have associated electric machines104of the types needed for the types of tasks at the respective job locations106.

Once the computer100has made the allocations, the computer100can determine whether each electric vehicle102allocated to a job location106has sufficient total charge onboard for that job location106. Specifically, the computer100can determine whether the sum of the charge of the electric vehicle102and the charges of the electric machines104associated with that electric vehicle102is less than or at least as great as the sum of the expected energy consumptions of that electric vehicle102traveling from its storage location130to the allocated job location106and of the electric machines104performing the tasks at the allocated job location106, i.e., whether Qv+ΣQt<Etravel+ΣEtaskor Qv+ΣQt<Etravel+ΣEtask, in which Qvis the charge of the electric vehicle102, Qtis the charge of one of the electric machines104associated with the electric vehicle102, Etravelis the expected energy consumption of traveling from the storage location130to the job location106, and Etaskis the expected energy consumption of one of the tasks.

If, for a first electric vehicle102-1allocated to a first job location106-1, the sum of the charges is less than the sum of the expected energy consumptions, i.e., Qv+ΣQt, <Etravel+ΣEtask, the computer100can instruct the user interface110to output a plurality of mitigation strategies. The mitigation strategies can include instructing a second electric vehicle102-2to charge the first electric vehicle102-1, instructing the first electric vehicle102-1to charge at a second location108, instructing the first electric vehicle102-1to charge at the first job location106-1, and swapping electric machines104and allocated job locations106with a second electric vehicle102-2, as will each be described below. The operator can select one of the mitigation strategies through the user interface110, and the computer100can instruct the electric vehicles102accordingly upon receiving the selection.

A first mitigation strategy is to instruct the second electric vehicle102-2to travel to a second location108at which the first electric vehicle102-1will be located and then charge the first electric vehicle102-1. The computer100can instruct the first electric vehicle102-1to recharge from the second electric vehicle102-2at the second location108.

The computer100can select the second electric vehicle102-2for the first mitigation strategy. For example, the second electric vehicle102-2can be chosen from the electric vehicles102based on not being allocated to a job location106. For another example, the second electric vehicle102-2can be chosen from the electric vehicles102based on having excess charge to cover a shortfall of charge by the first electric vehicle102-1, i.e., based on the second electric vehicle102-2and the electric machines104associated with the second electric vehicle102-2having charges summing to greater than a difference between the expected energy consumptions of the first electric vehicle102traveling to the first location and performing the tasks minus the charges of the first electric vehicle102and the electric machines104associated with the first electric vehicle102, i.e., Qv2+ΣQt2>Etravel+ΣEtask−(Qv1+ΣQt1), in which. If none of the electric vehicles102qualify, then the computer100does not display the first mitigation strategy as an available mitigation strategy to the operator.

The computer100can select the second location108. For example, the second location108can be the first job location106-1, e.g., if the first job location106-1is between the storage location130of the second electric vehicle102-2and the job location106allocated to the second electric vehicle102-2. For another example, the second location108can be not included in the plurality of job locations106, as shown inFIG.3, in which case the computer100can instruct the first electric vehicle102to travel to the second location108before traveling to the first job location106. The computer100can choose a second location108that minimizes a total distance traveled by the first and second electric vehicles102-1,102-2.

A second mitigation strategy is to instruct the first electric vehicle102-1to charge at a second location108before traveling to the first job location106. For example, the second location108can be the storage location130of the first electric vehicle102-1, if that storage location130is equipped with a charger. For another example, the second location108can be a public charging facility, if available. If the storage location130of the first electric vehicle102-1does not have a charger and no public charging facilities are available, then the computer100does not display the second mitigation strategy as an available strategy.

A third mitigation strategy is to instruct the first electric vehicle102to recharge at the first job location106-1. For example, the computer100can transmit a request to an operator of the first job location106-1that the first electric vehicle102be permitted to recharge at the first job location106-1. If the computer100receives a confirmation from the operator in response, the computer100instructs the first electric vehicle102-1to recharge at the first job location106. If the first job location106-1is not equipped to recharge the first electric vehicle102-1, then the computer100does not display the third mitigation strategy as an available strategy. If the operator of the first job location106-1declines permission, then the computer100outputs the remaining available mitigation strategies for the operator of the group to select a different mitigation strategy.

A fourth mitigation strategy is to instruct the first electric vehicle102-1and a second electric vehicle102-2to swap associated electric machines104, i.e., place the electric machines104associated with the first electric vehicle102-1in the second electric vehicle102-2and place the electric machines104associated with the second electric vehicle102-2in the first electric vehicle102-1. The computer100can reallocate the first electric vehicle102-1to the job location106to which the second electric vehicle102-2had been allocated, and reallocate the second electric vehicle102-2to first job location106-1. The second electric vehicle102can be selected from the electric vehicles102so that the first and second electric vehicles102-1,102-2have sufficient charge for the newly allocated job locations106. If none of the electric vehicles102have sufficient charge for the first job location106-1or if the first electric vehicle102-1has insufficient charge to travel to any of the other job locations106, then the computer100does not display the fourth mitigation strategy as an available strategy.

After the computer100has made the allocations and any mitigation strategies have been selected, the computer100instructs the electric vehicles102to travel to the respective allocated job locations106. The computer100instructs the electric vehicles102to charge the respective electric machines104via the charge ports124, e.g., by electrically connecting the charge ports124to the vehicle batteries128. The computer100can instruct the electric vehicles102to charge the electric machines104after arriving at the job locations106so that the electric machines104have lower charges while traveling. Keeping the electric machines104at lower charges when not in use can extend the lifespans of the machine batteries116and is helpful in case the electric vehicle102is involved in an impact. At the job locations106, workers can use the electric machines104to perform the tasks. After the tasks are performed, the electric vehicles102can travel from the job locations106back to the storage locations130.

The computer100can instruct the electric vehicles102to put the electric machines104at respective predetermined charge levels after the electric machines104have been used to perform the tasks. The predetermined charge levels are stored in the computer100. The computer100can store a predetermined charge level for each type of electric machine104. The predetermined charge levels can be chosen to maximize the lifespans of the machine batteries116or to minimize a risk from damage to the machine batteries116during travel. Accordingly, the predetermined charge levels can be below fully charged, e.g., below half charged.

For example, the computer100can instruct the electric vehicles102to recharge the electric machines104to the respective predetermined charge level after the tasks have been performed, e.g., after leaving the job locations106and arriving at the storage locations130, if the charge of the machine battery116is below the predetermined charge level. For another example, in response to one of the electric machines104being charged above the respective predetermined charge level after performing the respective tasks at the respective job location106, the computer100can instruct the respective electric vehicle102to recharge from that electric machine104, i.e., draw charge from the machine battery116to the vehicle batteries128, until that electric machine104reaches the respective predetermined charge level and then cease recharging that electric machine104. Recharging the electric vehicle102from the electric machine104can occur after performing the tasks and before leaving the job location106.

The computer100can instruct the electric vehicles102to, after the tasks are performed at the respective job locations106, receive data indicating actual energy consumptions of the electric vehicles102and the electric machines104from the electric vehicles102and output the data. For the purposes of this disclosure, an “actual energy consumption” is defined as a measured quantity of energy to perform an action. Actions can be, e.g., traveling to the job locations106, performing the tasks, etc. For example, the computer100can instruct the user interface110to display the data, e.g., for each electric vehicle102and each electric machine104.

The actual energy consumptions can be compared to the respective expected energy consumptions. For example, in response to a sum of the actual energy consumption of a first electric vehicle102-1and the electric machines104associated with the first electric vehicle102-1exceeding a sum of the expected energy consumption of the first electric vehicle102-1and the electric machines104associated with the first electric vehicle102-1by at least a threshold, i.e., Qtravel+ΣQtask−(Etravel+ΣEtask)≥T, in which Qtravelis the actual energy consumption of the first electric vehicle102-1traveling from the storage location130to the job location106, Qtaskis the actual energy consumption for performing one of the tasks, and T is the threshold, the computer100can perform a remedial action. The computer100can store multiple thresholds corresponding with different remedial actions, e.g., a first threshold T1corresponding with a first remedial action, a second threshold T2corresponding with a second remedial action, and a third threshold T3corresponding with a third remedial action. The thresholds can be chosen to indicate abnormal energy consumption at differing degrees of certainty. The third threshold T3can be greater than the second threshold T2, and the second threshold T2can be greater than the first threshold T1, i.e., T3>T2>T1, meaning that the third threshold T3indicates the highest degree of certainty.

When the difference between the actual and expected energy consumptions exceeds one of the thresholds, the computer100performs the corresponding remedial action. For example, the first remedial action can be outputting a message, e.g., via the user interface110. The message can indicate an identity of the electric vehicle102with excessive energy consumption and the quantity by which the actual energy consumption exceeded the expected energy consumption. For another example, the second remedial action can be instructing the electric vehicle102with excessive energy consumption to transmit data from the camera126of that electric vehicle102, e.g., recorded during the energy consumption and showing a portion of that electric vehicle102including the charge ports124. The operator can then evaluate how the worker was using the electric machines104. For another example, the third remedial action can be instructing the electric vehicle102with excessive energy consumption to disable the charge ports124of that electric vehicle102, i.e., disconnect the charge ports124from the vehicle batteries128, thereby preventing further energy consumption by the electric machines104or anything else connected to the charge ports124.

FIG.4is a process flow diagram illustrating an exemplary process400for managing energy consumption by the group of electric vehicles102. The memory of the computer100stores executable instructions for performing the steps of the process400and/or programming can be implemented in structures such as mentioned above. As a general overview of the process400, the computer100receives data indicating the charges of the electric vehicles102and electric machines104and the tasks to be performed at the job locations106, determines the expected energy consumptions for the tasks, and allocates the electric vehicles102to the job locations106. For each electric vehicle102, the computer100determines whether the sum of the charges of that electric vehicle102and the electric machines104associated with that electric vehicle102is less than the sum of the expected energy consumptions of that electric vehicle102traveling to the respective job location106and of the electric machines104associated with that electric vehicle102, and if so, receives a selection for a mitigation strategy. The computer100instructs each electric vehicle102according to the allocations and the selected mitigation strategies. After the tasks have been performed, the computer100receives the actual energy consumptions. If the sum of the actual energy consumptions of one of the electric vehicles102and the electric machines104associated with that electric vehicle102exceed the sum of the expected energy consumption of that electric vehicle102and the electric machines104associated with that electric vehicle102by at least one of the thresholds, the computer100instructs that electric vehicle102to perform the remedial action corresponding to the threshold exceeded.

The process400begins in a block405, in which the computer100receives data indicating the charges of the electric vehicles102and the electric machines104, as well as the tasks with their corresponding job locations106.

Next, in a block410, the computer100determines the expected energy consumptions for the tasks, as described above.

Next, in a block415, the computer100allocates the electric vehicles102to the job locations106, as described above.

Next, in blocks420-440, the computer100iterates through the electric vehicles102. In the block420, the computer100selects a next electric vehicle102in a preset order from the electric vehicles102as a current electric vehicle102for the blocks425-440.

Next, in the decision block425, the computer100determines whether the sum of the charges of the current electric vehicle102and the electric machines104associated with the current electric vehicle102is less than the sum of the expected energy consumptions of the current electric vehicle102traveling to the respective job location106and of the electric machines104associated with the current electric vehicle102. If so, the process400proceeds to a block430. If not, the process400proceeds to a block435.

In the block430, the computer100instructs the user interface110to output the available mitigation strategies and receives a selection from the operator via the user interface110, as described above. After the block430, the process400proceeds to the block435.

In the block435, the computer100instructs the current electric vehicle102to travel to the allocated job location106, charge the respective electric machines104via the charge ports124of the current electric vehicle102, and to follow the selected mitigation strategy if applicable, as described above.

Next, in the decision block440, the computer100determines whether the current electric vehicle102is the last electric vehicle102in the preset order. If so, the process400proceeds to a block445. If not, the process400returns to the block420to iterate to the next electric vehicle102in the preset order.

In the block445, the computer100receives the actual energy consumptions from the electric vehicles102after the tasks have been performed at the job locations106, as described above.

Next, in a decision block450, the computer100determines whether, for at least one of the electric vehicles102, the sum of the actual energy consumption of that electric vehicle102and the electric machines104associated with that electric vehicle102exceed the sum of the expected energy consumption of that electric vehicle102and the electric machines104associated with that electric vehicle102by at least one of the thresholds. If so, the process400proceeds to a block455. If not, the process400ends.

In the block455, the computer100performs the remedial actions for the electric vehicles102with excessive energy consumption according to which of the thresholds were exceeded, as described above. After the block455, the process400ends.

A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media and volatile media. Instructions may be transmitted by one or more transmission media, including fiber optics, wires, wireless communication, including the internals that comprise a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.

In the drawings, the same reference numbers indicate the same elements. Further, some or all of these elements could be changed. With regard to the media, processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted.

All terms used in the claims are intended to be given their plain and ordinary meanings as understood by those skilled in the art unless an explicit indication to the contrary in made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary. Use of “in response to” and “upon determining” indicates a causal relationship, not merely a temporal relationship. The adjectives “first,” “second,” etc. are used throughout this document as identifiers and are not intended to signify importance, order, or quantity.