Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPTIMIZING MOTOR CONTROL BASED ON RECEIVED INFORMATION
Document Type and Number:
WIPO Patent Application WO/2022/240424
Kind Code:
A1
Abstract:
In some examples, a system may access a vehicle efficiency map for a vehicle, and may determine a route for the vehicle. In addition, the system may determine one or more conditions for the route. Based on the vehicle efficiency map and the one or more conditions, the system may determine an optimal vehicle control pattern for the route. The system may send the optimal vehicle control pattern to the vehicle, such as to enable the vehicle to operate according to the optimal vehicle control pattern.

Inventors:
SU ZHIYI (US)
KUNDU SUBRATA KUMAR (US)
LONARI YASHODEEP DILIP (US)
Application Number:
PCT/US2021/035833
Publication Date:
November 17, 2022
Filing Date:
June 04, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HITACHI AMERICA LTD (US)
International Classes:
G05D1/00
Domestic Patent References:
WO2013094046A12013-06-27
Foreign References:
US20140277835A12014-09-18
Attorney, Agent or Firm:
BARNITZ, Colin D. et al. (US)
Download PDF:
Claims:
CLAIMS

1. A system comprising: one or more processors configured by executable instructions to perform operations comprising: accessing a vehicle efficiency map for a vehicle; determining a route for the vehicle; determining one or more conditions for the route; determining an optimal vehicle control pattern for the route based on the vehicle efficiency map and the one or more conditions; and sending the optimal vehicle control pattern to the vehicle.

2. The system as recited in claim 1, wherein the vehicle efficiency map is a vehicle-specific efficiency map previously determined for the vehicle.

3. The system as recited in claim 2, wherein the vehicle- specific efficiency map is determined based at least in part on determining vehicle efficiency data over a plurality of time intervals, the vehicle efficiency data including at least one of vehicle speed, vehicle acceleration, battery current, battery voltage data, traffic, weather, and road-segment condition.

4. The system as recited in claim 1, the operations further comprising sending the optimal vehicle control pattern to the vehicle to cause, at least in part, a vehicle control program on the vehicle to operate the vehicle based, at least in part, on the optimal vehicle control pattern.

5. The system as recited in claim 1, the operation of determining the optimal vehicle control pattern for the route further comprising: determining a vehicle speed control curve in relation to the vehicle efficiency map; and determining an operation point indicative of a maximum efficiency based at least in part on the vehicle speed control curve.

6. The system as recited in claim 1, the operation of determining one or more conditions for the route further comprising determining at least one of a speed limit along the route, real-time traffic along the route, real-time weather along the route, road slope along the route, or rolling resistance along the route.

32

7. The system as recited in claim 1, wherein the optimal vehicle control pattern includes at least one specified vehicle speed to be maintained for a corresponding road segment of the route.

8. The system as recited in claim 1, wherein: the route includes a plurality of road segments; and vehicle control pattern includes respective specified constant vehicle speeds to be used for traversing respective road segments of the plurality of road segments.

9. The system as recited in claim 1, further comprising dividing the route into a plurality of road segments of same or different lengths based at least in part on characteristics of the respective road segments, the characteristics including at least one of: road slope, road rolling resistance, traffic, weather, or speed limit.

10. A method comprising: accessing a vehicle efficiency map for a vehicle; determining a route for the vehicle; determining one or more conditions for the route; sending, to the vehicle, optimal vehicle control information for the route based on the vehicle efficiency map and the one or more conditions to cause, at least in part, the vehicle to operate a vehicle motor according to the optimal vehicle control information.

11. The method as recited in claim 10, wherein: the vehicle efficiency map is a vehicle- specific efficiency map previously determined for the vehicle; and the vehicle- specific efficiency map is determined based at least in part on determining vehicle efficiency data over a plurality of time intervals, the vehicle efficiency data including at least one of vehicle speed, vehicle acceleration, battery current, battery voltage data, traffic, weather, and road-segment condition.

33

12. The method as recited in claim 10, wherein determining the optimal vehicle control pattern for the route further comprising: determining a vehicle speed control curve in relation to the vehicle efficiency map; and determining an operation point indicative of a maximum efficiency based at least in part on the vehicle speed control curve.

13. A method for determining an efficiency map for a vehicle, the method comprising: determining, by one or more processors, vehicle efficiency data over a plurality of time intervals, the vehicle efficiency data including at least one of vehicle speed, vehicle acceleration, battery current, battery voltage data, traffic, weather, and road-segment condition; determining a vehicle efficiency as a function of vehicle speed and traction force; and using the vehicle efficiency to generate, at least in part, the efficiency map for the vehicle.

14. The method as recited in claim 13, wherein the efficient map indicates an efficiency of the vehicle as a function of vehicle speed and traction force.

15. The method as recited in claim 13, further comprising updating the efficiency map using on-road data subsequently received from the vehicle.

34

Description:
OPTIMIZING MOTOR CONTROL BASED ON RECEIVED INFORMATION

CROSS-REFERENCE TO RELATED APPLICATION [0001] This application claims the benefit of U.S. Provisional Application No. 63/188,742, filed May 14, 2021, which is incorporated by reference herein.

TECHNICAL FIELD

[0002] This disclosure relates to the technical field of vehicle motor control.

BACKGROUND

[0003] There is currently an increased interest in electric vehicles and hybrid-electric vehicles due to their low or zero emission feature. In many areas of the world, adopting electric vehicles is considered an important approach to realizing clean transportation and reducing emissions of CO2 and other pollutants. Electric vehicles or hybrid-electric vehicles may use an electric motor as the primary propulsion mechanism. For instance, in the powertrain of an electric vehicle, an electric motor and inverter system is typically used to convert electric energy stored in a battery into kinetic energy that drives the vehicle.

[0004] Electric vehicles have a limited driving range based on a number of factors such as battery capacity, motor efficiency, vehicle aerodynamics, location of operation, weather, and the like. Despite the benefits of electric vehicles, range anxiety due to limited battery capacity, limited range, long charging times, and sparse charging facilities may hinder the broad adoption of electric vehicles by consumers. Accordingly, it is desirable to increase the driving range of electric vehicles.

SUMMARY

[0005] In some implementations, system may access a vehicle efficiency map for a vehicle, and may determine a route for the vehicle. In addition, the system may determine one or more conditions for the route. Based on the vehicle efficiency map and the one or more conditions, the system may determine an optimal vehicle control pattern for the route. The system may send the optimal vehicle control pattern to the vehicle, such as to enable the vehicle to operate according to the optimal vehicle control pattern.

1 BRIEF DESCRIPTION OF THE DRAWINGS

[0006] The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items or features.

[0007] FIG. 1 illustrates an example system for optimizing motor control according to some implementations .

[0008] FIG. 2 illustrates an example efficiency map for an electric motor according to some implementations .

[0009] FIG. 3 illustrates an example logical configuration of a data analytics platform and vehicle(s) according to some implementations.

[0010] FIGS. 4A and 4B illustrate example data structures for calculating efficiency using on road data according to some implementations.

[0011] FIG. 5 illustrates an example of determining an optimal vehicle control pattern based on a vehicle- specific efficiency map according to some implementations.

[0012] FIG. 6 illustrates an example system architecture and data flow for energy-efficient vehicle motor control using received information according to some implementations.

[0013] FIG. 7 is a flow diagram illustrating an example process for updating the vehicle efficiency map according to some implementations.

[0014] FIG. 8 is a flow diagram illustrating an example process for optimal motor control according to some implementations.

[0015] FIG. 9 is a flow diagram illustrating an example process for data-driven motor design according to some implementations.

DESCRIPTION OF THE EMBODIMENTS

[0016] Some implementations herein are directed to techniques and arrangements for an improved electric motor control technology for maximizing energy efficiency utilizing an optimal vehicle control pattern. For example, the optimal vehicle control pattern may be determined at least in part based on a vehicle- specific efficiency map and received information. The technology herein may utilize a connected vehicle feature and may be enabled by an intelligent data analytics platform configured to communicate with connected autonomous vehicles. For instance, the data analytics platform may determine an optimal vehicle control pattern for a controlling a vehicle motor traveling over one or more road segments of a route that the vehicle is intended to traverse.

In some examples, an intended route that a vehicle will travel may be divided into a plurality of

2 road segments, and each road segment may be analyzed and treated separately for determining a separate optimal vehicle control pattern for each separate road segment.

[0017] The optimal vehicle control pattern may be determined based in part on an efficiency map corresponding to the specific vehicle, as well as a plurality of other considerations, such as road segment characteristics, road conditions, weather conditions, traffic conditions, vehicle configuration information, and so forth. Accordingly, implementations herein are able to maximize the efficiency of the vehicle, such as for extending a range of the vehicle, or the like. [0018] In the examples herein, the energy efficiency of an electric vehicle and/or hybrid- electric vehicle is significantly improved using connected data. Such a connected vehicle can share data with a remote computing device that is accessible over a network, such as a cloud server, an infrastructure edge computing, a data exchange module, other vehicles, and so forth, using any of various communication protocols including DSRC (dedicated short range communications), cellular (4G, 5G, etc.) communications, and so forth. The connected vehicle herein is able to receive data wirelessly from other sources to improve vehicle control, safety, comfort, efficiency, and the like. Similarly, the connected vehicle herein may send data to other data sources or users, which can be used to determine traffic congestion, road features, vehicle performance, create a road database, and so forth. Thus, sharing data with a connected vehicle according to the examples herein can improve the operation of the connected vehicle, as well as benefiting other connected vehicles, databases, and the like.

[0019] In the examples herein, the efficiency of the connected vehicle can be improved not only by selecting the best route for efficient operation, but also by controlling the vehicle powertrain effectively over each road segment of the route, such as based on real-time traffic, road slope, road rolling resistance, road conditions, and other road features. For instance, some examples herein may consider the characteristics of the electric powertrain of the particular vehicle in light of connected data to achieve optimal efficiency in operation of the electric vehicle powertrain. The implementations herein may provide an electric motor control strategy to a vehicle control program executing on the vehicle to achieve maximum energy efficiency utilizing an optimal drive pattern determined from a vehicle- specific efficiency map and connected information.

[0020] To achieve this target, examples herein may include determining a vehicle- specific efficiency map using vehicle on-road data, and may further include determining a customized optimal drive pattern for a vehicle for a selected route using the vehicle- specific efficiency map and information determined by the data analytics platform. The data analytics platform may connect to autonomous vehicles and semi-autonomous vehicles. For example, the data analytics

3 platform herein may enable data collection and sharing among connected vehicles, infrastructures, and other information sources accessible over one or more networks. Further, the data analytics platform may include multiple advanced artificial intelligence (AI) and analytics programs to improve vehicle safety, efficiency, and comfort.

[0021] In the system herein, a connected vehicle may share its onboard sensor specifications and sensor information, powertrain information, vehicle data, processing capability, and the like, with the data analytics platform. Utilizing historical travel data and corresponding environment data, the data analytics platform may calculate an efficiency map for the connected vehicle and may store this map as a property pertaining to the vehicle. When the connected vehicle is taking a trip, the data analytics platform may determine route information including real-time traffic, weather, road surface conditions, etc., and may determine an optimal vehicle control pattern based on the vehicle- specific efficiency map. In some examples, the optimal vehicle control pattern may be selected to maximize efficiency and therefore may extend the driving range of the connected vehicle.

[0022] The system and techniques described herein may provide significant benefits for current and future electric vehicles and/or hybrid-electric vehicles. The data analytics platform, as well as connected applications associated therewith, may provide improved energy efficiency by improving an electric motor control strategy of a particular vehicle to achieve maximum energy efficiency utilizing an optimal vehicle control pattern determined from the vehicle- specific efficiency map and information related to the route that the vehicle will traverse. Moreover, the concept of optimal-efficiency motor control may be offered to customers such as logistics and fleet providers to improve the energy efficiency of an entire fleet of vehicles. Furthermore, some examples include a data-driven motor design technique that may improve overall motor on-road efficiency.

[0023] Some implementations herein improve electric motor control for vehicles achieve maximum energy efficiency utilizing an optimal drive pattern determined from a vehicle-specific efficiency map and information received over a network connection. Implementations may increase energy efficiency of connected electric vehicles and, as a result, may contribute to overall reduction of CO 2 emissions. The examples herein take into consideration an individual vehicle’s characteristics for determining a vehicle-specific efficiency map that may be used to increase energy efficiency for the corresponding vehicle or vehicle model. In some examples, implementations herein optimize control of an electric motor over a selected route to achieve maximum energy efficiency by utilizing an optimal drive pattern determined from the vehicle- specific efficiency map and other determined information. The system herein may use an

4 individual vehicle’s efficiency map and on-road data to provide a customized drive pattern recommendation to ensure the connected electric vehicle operates at an optimal efficiency.

[0024] For discussion purposes, some example implementations are described in the environment of determining an optimal electric motor operation for a vehicle, such an autonomous or semi-autonomous vehicle. However, implementations herein are not limited to the particular examples provided, and may be extended to other types of motors, other types of vehicles, other types of communications, other types of databases, other types of computing platforms and architectures, and so forth, as will be apparent to those of skill in the art in light of the disclosure herein.

[0025] FIG. 1 illustrates an example system 100 for optimizing motor control according to some implementations. The system 100 includes a vehicle 102 having one or more vehicle computing devices 104 able to communicate over one or more networks 106 with one or more service computing devices 108. The vehicle 102 may further include one or more onboard sensors 112, one or more vehicle systems 114 that are in communication with the vehicle computing device(s) 104, such as via a CAN bus (controller area network bus) (not shown in FIG. 1) or the like. In addition, the vehicle 102 may including one or more motors 115, such as one or more electric motors.

[0026] Each vehicle computing device 104 may include one or more processors 116, one or more computer-readable media 118, one or more communication interfaces (I/Fs) 120, and one or more vehicle human-machine interfaces (HMIs) 122. In some examples, the vehicle computing device(s) 104 may include one or more ECUs (electronic control units) or any of various other types of computing devices. For instance, the computing device(s) 104 may include one or more ADAS/AD ECUs for controlling at least some of the vehicle systems 114, such as to perform ADAS (advanced driver-assistance system) and/or AD (automated driving) tasks, such as navigation, braking, steering, acceleration, deceleration, and so forth. The computing device(s) 104 may also include one or more other ECUs, such as for controlling other systems of the vehicle systems 114.

[0027] “ECU” is a generic term for any embedded processing system that controls one or more of the systems, subsystems, or components in a vehicle. Software, such as a vehicle control program 124 and a route selection program 126 may be executed by one or more ECUs and may be stored in a portion of the computer-readable media 118 (e.g., program ROM, solid state storage, etc., as discussed below) associated with the respective ECU to enable the ECU to operate as an embedded system. ECUs may typically communicate with each other over a vehicle bus, such as the CAN bus mentioned above, according to a vehicle bus protocol. As an example, the CAN bus

5 protocol is a vehicle bus protocol that allows ECUs and the vehicle systems 114 to communicate with each other without a host computer. A CAN bus may include at least two different types. For example, high-speed CAN may be used in applications where the bus runs from one end of the environment to the other, while fault-tolerant CAN is often used where groups of nodes are connected together.

[0028] Each ECU or other vehicle computing device 104 may include one or more processors 116, which may include one or more of central processing units (CPUs), graphics processing units (GPUs), microprocessors, microcomputers, microcontrollers, digital signal processors, state machines, logic circuits, and/or any devices that manipulate signals based on operational instructions. As one example, the processor(s) 116 may include one or more hardware processors and/or logic circuits of any suitable type specifically programmed or configured to execute the algorithms and other processes described herein. The processor(s) 116 may be configured to fetch and execute computer-readable instructions stored in the computer-readable media 118, which may program the processor(s) 116 to perform the functions described herein.

[0029] The computer-readable media 118 may include volatile and nonvolatile memory and/or removable and non-removable media implemented in any type of technology for storage of information, such as computer-readable instructions, data structures, programs, program modules, and other code or data. For example, the computer-readable media 118 may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, optical storage, solid state storage, magnetic disk, network-attached storage, cloud storage, or any other medium that can be used to store the desired information and that can be accessed by a computing device. Depending on the configuration of the vehicle computing device/ s) 104, the computer- readable media 118 may be a tangible non-transitory medium to the extent that, when mentioned, non-transitory computer-readable media exclude media such as energy, carrier signals, electromagnetic waves, and/or signals per se. In some cases, the computer-readable media 118 may be at the same location as the vehicle computing device 104, while in other examples, a portion of the computer-readable media 118 may be remote from the vehicle computing device 104.

[0030] The computer-readable media 118 may be used to store any number of functional components that are executable by the processor(s) 116. In many implementations, these functional components comprise instructions or programs that are executable by the processor(s)

116 and that, when executed, specifically program the processor(s) 116 to perform the actions attributed herein to the vehicle computing device 104. Functional components stored in the computer-readable media 118 may include a vehicle control program 124 and a route selection

6 program 126, each of which may include one or more computer programs, applications, executable code, or portions thereof. Further, while these programs are illustrated together in this example, during use, some or all of these programs may be executed on separate vehicle computing device(s) 104. Alternatively, in some examples, each of these programs 124 and 126 may be part of a single program.

[0031] In addition, the computer-readable media 118 may store data, data structures, machine- learning models, and other information used for performing the functions and services described herein. For example, the computer-readable media 118 may store sensor configuration information 128 that includes information about the sensor type, field of view, resolution, range and other capabilities, current status and operability, and so forth, of the sensors on board the vehicle. Further, the computer-readable media 118 may store vehicle configuration information 130 that includes information about the vehicle, such as powertrain information, chassis information, ECU information, suspension information, tire information, as well as vehicle brand, model, year, trim level, and the like. Additionally, the computer-readable media 118 may store, at least temporarily, sensor data 132 received from the onboard sensors 112, and which may include information about obstacles and landmarks detected during a trip, road conditions, traffic conditions, vehicle location information, and so forth.

[0032] Further, while the functional components, data and data structures are illustrated together in this example, during use, some or all of these elements may be stored on or by separate ones of the computing device(s) 104. The computing device(s) 104 may also include or maintain other functional components and data, which may include programs, drivers, etc., and the data used or generated by the other functional components. Further, the computing device(s) 104 may include many other logical, programmatic, and physical components, of which those described above are merely examples that are related to the discussion herein.

[0033] The one or more communication interfaces 120 may include one or more software and/or hardware components for enabling communication with various other devices, such as over the CAN bus and/or over one or more network(s) 106. For example, the communication interface(s) 120 may enable communication through one or more of a LAN, the Internet, cable networks, cellular networks, wireless networks (e.g., Wi-Fi) and wired networks (e.g., CAN, Fibre

Channel, fiber optic, Ethernet), direct connections, as well as close-range communications such as BLUETOOTH®, and the like, as additionally enumerated elsewhere herein.

[0034] The one or more networks 106 may include any appropriate network, including a wireless network, such as a cellular network; a wide area network, such as the Internet; a local area network, such an intranet; a local wireless network, such as Wi-Fi, cellular, or DSRC; close-

7 range wireless communications, such as BLUETOOTH®; a wired network, including fiber optics and Ethernet; any combination of the foregoing, or any other suitable communication network. Components used for such communication technologies can depend at least in part upon the type of network, the environment selected, or both. Protocols for communicating over such networks are well known and will not be discussed herein in detail.

[0035] The sensor data 132 may include sensor data received from the onboard sensors 112. For example, the onboard sensors 112 may include any of a plurality of different types of sensors such as a camera system, radar, LIDAR, ultrasound, a global navigation satellite system (GNSS) receiver (referred to hereinafter by the common usage name “GPS”, which is also intended to be inclusive of any other satellite positioning system), accelerometers, a compass, and the like. In addition, the sensor data 132 used by the vehicle control program 124 may include information received from or associated with various vehicle systems 114, such as (not shown in FIG. 1) from a suspension controller associated with the suspension system, a steering controller associated with the steering system, a vehicle speed controller associated with a braking and acceleration system, and so forth.

[0036] In some cases, the vehicle control program 124 may use rule-based and or artificial- intelligence-based control algorithms to determine parameters for vehicle control. For instance, the vehicle control program 124 may determine an appropriate action, such as braking, steering, accelerating, or the like, and may send one or more control signals to one or more vehicle systems 114 based on the determined action. For example, the vehicle control program 124 may send control signals to the suspension controller, the steering controller, and/or the vehicle speed controller for controlling or partially controlling the vehicle in some applications.

[0037] In addition, the vehicle control program 124 may receive and employ an optimal vehicle control pattern 133 received from the service computing device(s) 108 that may have been determined by the service computing device(s) 108 for the particular vehicle 102 for a particular route. As discussed above, the optimal vehicle control pattern 133 may have been determined by the service computing device(s) 108 such as based on a vehicle-specific efficiency map corresponding to the vehicle 102 and route condition information for the particular route that the vehicle 102 is intended to traverse.

[0038] The human-machine interface(s) 122 may include any suitable type of input/output devices, such as buttons, knobs, joysticks, touchscreens, speakers, microphones, voice recognition and artificial speech technology, in-cabin sensors, such as eye monitoring cameras, vital sign monitors, and so forth. As one example, a vehicle occupant may use a human-machine interface

8 122 to indicate a destination location, such as via voice command or touchscreen inputs. Implementations herein are not limited to any particular type of human-machine interfaces 122. [0039] The service computing device(s) 108 may include one or more servers or other types of computing devices that may be embodied in any number of ways. For instance, in the case of a server, the programs, other functional components, and data may be implemented on a single server, a cluster of servers, a server farm or data center, a cloud-hosted computing service, and so forth, although other computer architectures may additionally or alternatively be used.

[0040] Further, while the figures illustrate the functional components and data of the service computing device 108 as being present in a single location, these components and data may alternatively be distributed across different computing devices and different locations in any manner. Consequently, the functions may be implemented by one or more service computing devices, with the various functionality described herein distributed in various ways across the different computing devices. Multiple service computing devices 108 may be located together or separately, and organized, for example, as virtual servers, server banks, and/or server farms. The described functionality may be provided by the servers of a single entity or enterprise, or may be provided by the servers and/or services of multiple different entities or enterprises.

[0041] In the illustrated example, each service computing device 108 may include one or more processors 140, one or more computer-readable media 142, and one or more communication interfaces 144. Each processor 140 may be a single processing unit or a number of processing units, and may include single or multiple computing units or multiple processing cores. The processor(s) 140 can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. For instance, the processor(s) 140 may be one or more hardware processors and/or logic circuits of any suitable type specifically programmed or configured to execute the algorithms and processes described herein. The processor(s) 140 can be configured to fetch and execute computer-readable instructions stored in the computer-readable media 142, which can program the processor(s) 140 to perform the functions described herein.

[0042] The computer-readable media 142 may include volatile and nonvolatile memory and/or removable and non-removable media implemented in any type of technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Such computer-readable media 142 may include, but is not limited to, RAM, ROM,

EEPROM, flash memory or other memory technology, optical storage, solid state storage, magnetic tape, magnetic disk storage, storage arrays, network- attached storage, storage area

9 networks, cloud storage, or any other medium that can be used to store the desired information and that can be accessed by a computing device. Depending on the configuration of the service computing device 108, the computer-readable media 142 may be a type of computer-readable storage media and/or may be a tangible non-transitory media to the extent that when mentioned herein, non-transitory computer-readable media exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.

[0043] The computer-readable media 142 may be used to store any number of functional components that are executable by the processors 140. In many implementations, these functional components comprise instructions or programs that are executable by the processors 140 and that, when executed, specifically configure the one or more processors 140 to perform the actions attributed above to the service computing device 108, such as for providing the data analytics platform 145 discussed above. Functional components stored in the computer-readable media 142 may include a motor control optimization program 146 that may be executed to configure the service computing device 108 to determine and send respective optimal vehicle control patterns 133 to one or more vehicles 102. For example, the motor control optimization program 146 may include one or more descriptive analytics modules 148, one or more predictive analytics modules 150, and one or more prescriptive analytics modules 152, which may be executed for determining the optimal vehicle control patterns 133, as well as for performing other functions such as determining and updating vehicle- specific efficiency maps.

[0044] Examples of descriptive analytics modules 148 may include modules that perform authentication, vehicle efficiency map determination, efficiency calculations, data filtering, data fusion, and so forth. Examples of predictive analytics modules 150 may include estimation of efficiency maps, such as based on route information and vehicle information. Examples of prescriptive analytics modules 152 may include modules for determining the optimal vehicle control pattern 133, such as based on a vehicle speed control curve corresponding to the efficiency map, speed limit(s), and other route information.

[0045] In addition, the computer-readable media 142 may store or access data used for performing the operations described herein. Further in some examples, the data may be stored in any suitable type data structures such as in one or more databases 154. Examples of databases 154 may include a map data database 156, a time series data database 158, an image data database

160, and a vehicle data database 162. For example, the map data database 156 may include information for selected road segments, road profiles, high definition maps, and standard maps for various geographic regions. Furthermore, the time series data database 158 may include information such as traffic data, weather data, vehicular communication data, vehicle CAN data,

10 vehicle sensor data, and so forth. Additionally, the image data database 160 may receive and maintain images of roads, landmarks, intersections, and the like, such as may be received from infrastructure cameras, cell phone cameras, vehicle-mounted cameras, and so forth, which may include real-time images. In addition, the vehicle data database 162 may include information about each vehicle that uses the system 100, which may include vehicle identification information to use for communicating with the vehicle, sensor configuration information 128, vehicle configuration information 130, past destinations of the vehicle or vehicle occupants, information about an owner or other occupant associated with the vehicle, such as an occupant profile including occupant information and preferences, and so forth.

[0046] Further, the service computing device 108 may also include or maintain other functional components and data not specifically shown in FIG. 1, which may include programs, drivers, etc., and the data used or generated by the functional components. Additionally, the service computing device 108 may include many other logical, programmatic, and physical components, of which those described above are merely examples that are related to the discussion herein. Furthermore, examples of machine-learning models that may be used in some examples of the modules 148, 150, and/or 152 herein, such as for AI-based algorithms and models, may include predictive models, decision trees, classifiers, regression models, such as linear regression models, support vector machines, stochastic models, such as Markov models and hidden Markov models, and artificial neural networks, such as self-organizing neural networks, recurrent neural networks, convolutional neural networks, modular neural networks, deep-learning neural networks, and so forth.

[0047] The communication interface(s) 144 may include one or more interfaces and hardware components for enabling communication with various other devices, such as over the network(s) 106. For example, communication interface(s) 144 may enable communication through one or more of the Internet, cable networks, cellular networks, DSRC, local wireless networks (e.g., Wi Fi) and wired networks (e.g., fiber optic and Ethernet), as well as close-range communications, such as BLUETOOTH®, BLUETOOTH® low energy, and the like, as additionally enumerated elsewhere herein.

[0048] In addition, the service computing device(s) 108, and in some cases, the vehicle computing device(s) 104 may be able to communicate over the one or more networks 106 with one or more information source computing devices, such as web servers, service provider computing devices, public databases, private databases, or the like. Information source computing devices illustrated in this example include one or more map provider computing device(s) 164 which may provide map data 166 to the service computing devices 108 and/or to the vehicle

11 computing devices 104. Additionally, one or more OEM (original equipment manufacturer) computing devices 168 may provide OEM information 170 about vehicles that they manufacture and/or may receive information about their vehicles from the service computing devices 108. Further, one or more government computing devices 172 may provide government data 174, such as road information, department of motor vehicle information, construction information, infrastructure information, and so forth.

[0049] The information source computing device(s) 164, 168 and 172 may include hardware and software configurations similar to the service computing devices 108 described above, but with different functional components and data stored thereon or associated there with. Further, while several types of information source computing devices are described herein, numerous other types of information source computing devices may provide information to the service computing devices 108 and/or the vehicle computing devices 104. For example, the information source computing devices may provide local condition data to the service computing device(s)108 for indicating the current conditions of specified road segments, such as with respect to weather conditions, traffic, road closures, special events, and so forth.

[0050] In addition, a user computing device 180 may execute one or more user applications 182 for providing information and/or instructions to the service computing device 108. For instance, the user computing device may be a mobile device such as a cell phone, smart phone, tablet, wearable device, or the like that may be used to communicate directly with the service computing device 108 over the one or more networks 106. As one example, the user application 182 may include a browser and the user may use the browser to interact with the service computing device 108 such as for setting preferences, providing information about the vehicle 102, providing information about the user, or the like, via one or more service applications (not shown in FIG. 1) such as a web application, website, or other suitable user interface.

[0051] As one example, the vehicle computing device 104 may provide, to the service computing device 108, source and destination information 184 for a trip. For example, the route selection program 126 may be executed by the vehicle computing device 104 to send to the service computing device 108 the source location and destination location for desired travel. In addition, the vehicle computing device 104 may provide the sensor configuration information 128 and/or vehicle configuration information 130 to the service computing device 108 if the service computing device 108 does not already possess this information in the vehicle data database 162. In response, the service computing device may provide the optimal vehicle control pattern 133 to the vehicle control program 124 of the vehicle 102 to use for controlling the vehicle along a selected route during the upcoming trip from the source location to the destination location.

12 [0052] To realize benefits of connected vehicle technologies for partially/fully autonomous vehicles, the connected data analytics platform 145 may receive various different types of data from various different sources such onboard sensors 112 on vehicles 102, the databases 154, infrastructure cameras and other infrastructure sensors, third party sensors, cellphones and other user devices, other transportation data services, other third party information sources, and so forth, as discussed above. The data analytics platform 145 may process the received data to determine information of value for end users by using various different modules categorized in analytics layers, such as the descriptive analytics module(s) 148, predictive analytics module(s) 150, and prescriptive analytics module(s) 152. Furthermore, while three different types of modules are described in the example of FIG. 1, fewer or more types of modules may be employed in other examples of the system herein.

[0053] Additionally, various different service applications may be provided to end users for providing various different types of services in addition to or in alternative to optimizing motor control. For example, the data analytics platform 145 may provide road anomaly and driver behavior information for analyzing and making determinations with respect to vehicle occupant safety. Further, the data analytics platform 145 may share aggregated vehicle data received from a plurality of vehicles to other third party entities such as OEMs, government entities, etc., and may also enable data to be ingested from third party entities such as map providers, weather information providers, or the like.

[0054] FIG. 2 illustrates an example efficiency map 200 for an electric motor according to some implementations. As mentioned above, electric vehicles may be equipped with an electric powertrain, which includes at least one electric motor to propel the vehicle, and which may further include an inverter system to convert DC power from a battery to AC power to energize the electric motor. While electric motors are considered to be environment-friendly, electric motors do not convert 100% of the electric energy they consume into kinetic energy. Instead, energy losses may occur from multiple sources, the major ones include copper loss due to Joule heating, iron loss due to eddy current and hysteretic effects, magnet loss due to eddy current, and mechanical loss, e.g., due to friction. The efficiency map 200 describes the energy conversion efficiency of a motor at different rotation speeds and torque conditions. The efficiency map 200 reflects a loss characteristic of the corresponding electric motor.

[0055] The x-axis 202 of the efficiency map 200 represents rotation speed of the motor in units of rpm (revolutions per minute). The y-axis 204 of the efficiency map 200 represents motor shaft torque in units of newton-meters (Nm). The efficiency map 200 further includes a plurality of iso-efficiency lines 205 (contours) determined for the corresponding motor. Each iso-efficiency

13 line may represent a different efficiency as a percentage of 100 percent efficiency at a range of speeds and torque outputs. For example, line 206 represents 93 percent efficiency, line 208 represents 92 percent efficiency, line 210 represents 91 percent efficiency, line 212 represents 90 percent efficiency, line 214 represents 89 percent efficiency, line 216 represents 88 percent efficiency, line 218 represents 87 percent efficiency, and so forth.

[0056] The efficiency map 200 reflects the nature of loss characteristic of a motor. The characteristics of the efficiency map 200 may depend in part on motor design as well as the materials used to fabricate the motor. Usually, a “sweet spot” (i.e., an area with the highest efficiency) lies around the center of an efficiency map. At high torque regions, copper loss is high due to large excitation current in the windings; at high speed regions, iron loss is high because hysteresis loss is linear to electric frequency and eddy current loss is proportional to square of electric frequency, as given the equations below: r„ =h·B ^ ·ί·n EQ(1) EQ(2) where P b is the hysteresis loss, P e is the eddy current loss, h is the Steinmetz hysteresis coefficient, depending on the material, B m&x is the maximum flux density, n is the Steinmetz exponent, ranging from 1.5 to 2.5 and depending on the material, /is the electromagnetic frequency, V is the volume of magnetic material, K e is the eddy current constant, and t is the material thickness.

[0057] Energy losses may also occur at the inverter, gearbox, wheels, and chassis of a vehicle. At the vehicle level, the efficiency map can be defined as the efficiency as a function of vehicle speed (m/s) and traction force (N) instead of shaft speed and shaft torque, respectively. Given the efficiency map and route information, an optimal drive pattern may be determined for operating the vehicle with a maximal efficiency, which can reduce the amount of energy that would otherwise be wasted by operating the vehicle motor at a lower efficiency, and which can thereby extend the driving range of an electric vehicle.

[0058] The efficiency map of an electric vehicle typically is determined empirically through experiments conducted in dyno-test cells. On the other hand, implementations herein include a system and technique to estimate a vehicle-specific efficiency map for a vehicle, and use the efficiency map for determining electric motor control information that can be used by the vehicle for maximizing energy efficiency, such as by utilizing an optimal vehicle control pattern determined based on the vehicle- specific efficiency map and additional information determined about the route on which the vehicle will be traveling.

14 [0059] FIG. 3 illustrates an example logical configuration 300 of the data analytics platform 145 and the vehicle(s) 102 according to some implementations. As shown in FIG. 3. the data analytics platform 145 may communicate for receiving and/or sending data with a plurality of different external devices, such as vehicle(s) 102, infrastructure devices 302, smartphones and other user computing devices 304, map provider devices 306, OEM devices 308, government entity devices 310, and so forth. As one example, the data analytics platform 145 may process the received data to determine information that is of value for end users, such as by using various modules categorized in one or more analytics layers. Analytic layers in this example include the descriptive analytics modules 148, the predictive analytics modules 150, and the prescriptive analytics modules 152. Some of the modules may incorporate machine learning or other AI techniques for performing desired functions. Algorithms performed by each of the analytics layers 148-152 according to some implementations are discussed additional below.

[0060] The descriptive analytics modules 148 may include multiple modules used for data processing, which in this example, includes decryption, filtering, data fusion, route determining, updating an efficiency map, and so forth. The predictive analytics modules 150 may be executed to predict different features used for vehicle control such as determining a vehicle speed profile, determining a route, anomaly prediction, and so forth. The prescriptive analytics modules 152 may include various services to provide information to end users, such as based on service areas of safety, efficiency, and comfort. For instance, a safety service area 312 may include determining road anomalies and driver behavior; an efficiency service area 314 may include determining a drive horizon, motor control, and motor design; and a comfort service area 316 may include determining suspension control, occupant stress level, and so forth.

[0061] The data analytics platform 145 may receive data from any of the external devices 302- 310, the vehicle(s) 102, the databases 154, and/or through one or more service application(s) 318, and may provide information based on a user input or based on a determined prediction. In some cases, different service applications 318 may be executed to provide end users with information for the different service areas 312-316. For example, motor control, which is one of the applications of the efficiency area 314 of the data analytics platform 145 may be used to suggest a vehicle driving speed to achieve optimal energy efficiency based on available data such as a road profile, traffic, vehicle characteristic, etc., as discussed additionally below. Further, the data analytics platform 145 may share vehicle data with third parties such as OEM devices 308 and/or may ingest data from third parties, e.g., the map provider devices 306.

[0062] In the example of FIG. 3, each vehicle 102 may include sensing logic 320 and control logic 322. For instance, the vehicle communication interfaces 120 discussed above with respect

15 to FIG. 1 may be connected to or may otherwise communicate with the data analytics platform 145, such as to provide information about the vehicle’s location, vehicle model, on-board sensor configurations, powertrain information, and the like, to the data analytics platform 145. Further, the sensing logic 320 may provide CAN data 324 about the motor, such as a current and voltage supplied to the motor, as well as vehicle speed, external temperature, and so forth. The sensing logic 320 may also provide advanced sensor data 326, such as mono and/or stereo camera images, radar information, lidar information, and so forth.

[0063] The data analytics platform 145 may process the sensor data and other information received from the vehicle 102, as well as information received from the external devices 302-310 and/or the databases 154 for determining an optimal vehicle control pattern for the controlling the vehicle 102, which corresponds to an optimal motor operation efficiency. For instance, the data analytics platform 145 may receive environmental information such as the road condition, weather, real-time traffic, etc., along the route that the connected vehicle 102 is about to travel, and may use this information along with the efficiency map discussed above for determining an optimal vehicle control pattern to provide to the control logic 322. The control logic 322 may operate at least in part according to the optimal motor control program, such as for controlling speed, suspension settings, lane changes, and so forth. Additional details of determining the optimal vehicle control pattern are discussed below.

[0064] FIGS. 4A and 4B illustrate example data structures 400 and 402, respectively, for calculating efficiency using on-road data according to some implementations. As mentioned above, based on determining the vehicle model and historical travel data, the data analytics platform 145 may determine and/or update an efficiency map of the vehicle 102. Further, by taking into consideration environmental information, road type and conditions, and the like, the data analytics platform may generate a customized optimal vehicle control pattern for the vehicle 102. Details of these two processes are described below.

[0065] In some cases, the vehicle efficiency map may be determined at least partially using data received from the vehicle 102. For instance, according to Newton’s second law of motion, a vehicle’s speed may be determined based on the total external force to which the vehicle is subjected, e.g.: EQ(3) where M is the mass of the vehicle, dv/dl is acceleration (derivative of vehicle speed with respect to time), trac is traction force and res is resistive force.

16 [0066] According to vehicle dynamics, the resistive force can be calculated as: where the parameters on the right-hand side of Equation (4) can be divided into two categories:

(A) vehicle parameters, including M the mass, A the frontal area, v the speed of the vehicle and

(B) environmental parameters, including / the rolling resistance coefficient, g the gravity acceleration, p the air density, c x the air drag coefficient, v w ind the speed of wind, and a the slope rate of the road.

[0067] Further, the instant efficiency of the electric vehicle may be calculated as: where P ou t and i n represent power output and power input, respectively, and u and i are the battery voltage and current, respectively.

[0068] When a vehicle 102 is connected for communication with the data analytics platform 145, as discussed above, the data analytics platform 145 may receive the vehicle model data (which may provide M and A) and may receive instantaneous operation data (e.g., v, u, and i) via vehicle-to-cloud (V2C) communications (e.g., the CAN data 324 discussed above with respect to FIG. 3). In addition, the data analytics platform 145 may receive environment data (e.g.,/, g, p, Cx, Vwind, and a) under which the vehicle is operating and calculates the instantaneous traction force of the vehicle using EQ(4). Following EQ(3) to EQ(5), the data analytics platform 145 may determine the instantaneous efficiency of the vehicle 102. By repeating this process at certain time intervals, a collection of efficiency data depending on time may be acquired, as illustrated in FIG. 4A. In particular, the data structure 400 of FIG. 4A includes efficiency data as a time series. In this example the instantaneous efficiency h() is determined for various different vehicle speeds v() 404, and different traction forces P trac O 406 .

[0069] At a post-processing stage, the time-series data from the data structure 400 may be rearranged based on an equal-distance in-vehicle speed-force domain, as illustrated in FIG. 4B.

FIG. 4B illustrates a transformed efficiency data structure 402. For instance, similar to the efficiency map discussed above with respect to FIG. 2, the traction force F corresponds to “y” and the speed v corresponds to “x”. In some cases, the on-road data may not always fill the transformed efficiency data structure 402 in the manner shown in FIG. 4B. In such cases, under-represented regions of the efficiency map may be filled using interpolation and/or extrapolation based on existing data until such a time as on-road data is available for these regions. Similarly, if certain

17 regions on the efficiency map are over-represented, e.g., have too many on-road data points, extra data processing techniques may be applied to manage this situation, such as employing an averaging filter or the like.

[0070] FIG. 5 illustrates an example 500 of determining an optimal vehicle control pattern based on a vehicle-specific efficiency map 502 according to some implementations. The vehicle- specific efficiency map 502 may be determined for the vehicle 102 as discussed above with respect to FIG. 4A-4B, and may be stored in a database 154 of the data analytics platform 145, such as in association with an account of the respective vehicle 102. Next, a customized optimal vehicle control pattern for the vehicle 102 can be determined based on this efficiency map 502 and route information for an upcoming route that the vehicle will travel. This is achieved by finding the most efficient operation point on the efficiency map 502 limited by the driving environment. [0071] As one simpler example, only a portion of a route to be traveled by the vehicle 102 may be controlled for optimal motor efficiency. In this case, the optimal vehicle control pattern may cause the vehicle 102 to travel along the route at a constant speed determined to be most efficient for the vehicle 102 and for the particular portion of the route (e.g., similar to setting “cruise control” at a selected speed for the duration of the portion of the route). Such a vehicle control pattern may typically take place during highway operation in which there is little traffic and the speed of the vehicle 102 might be limited only by the speed limit of the highway (i.e., an “upper limit”) and a minimum speed to reach the destination in time (i.e., a “lower limit”). Thus, when the vehicle 102 is traveling on the highway, the vehicle 102 may be controlled according to the provided vehicle control pattern to achieve optimal efficiency during the highway portion of the route. This use case may be applied for vehicle trip in which most of trip takes place on a road with a consistent speed limit, consistent road conditions, and so forth.

[0072] In the example of FIG. 5, the vehicle efficiency map 502 includes vehicle speed 504 on the x-axis and traction force 506 on the y-axis. The upper vehicle speed limit is indicated at 508 and the lower vehicle speed limit is indicated at 510 on the efficiency map 502. The vehicle 102 may operate between these speed limits 508 and 510 when traversing a selected road or road segment. Further, when the vehicle 102 enters a next road segment of the route, the upper limit 508 and/or the lower limit 510 might change, based at least in part on the speed limit and other conditions of the next road segment in the route. Further, similar to the example, motor efficiency map 200 discussed above with respect to FIG. 2, the vehicle efficiency map 502 includes a plurality of iso-efficiency lines, such as lines 206-218 discussed above, indicating respective efficiency percentages for operating the vehicle and thereby the vehicle motor most efficiently.

18 [0073] Using the constant speed example of an optimal vehicle control pattern, the vehicle 102 may be controlled based on a vehicle control pattern provided by the data analytics platform 145 to travel along a respective route at the constant speed specified by the data analytics platform 145. In other words, the time derivative of the vehicle speed may be 0. Therefore, according to EQ(3) and EQ(4), EQ(6)

[0074] Given the vehicle model of the vehicle 102, and environmental parameters, the traction force may be treated as a second-order function of the vehicle speed. In other words, to maintain the constant speed, the vehicle 102 may operate along a certain vehicle speed control curve on the efficiency map 502. One such vehicle speed control curve 512 is illustrated on the efficiency map 502 as a dashed line with circles, where the circles represent possible constant speed control points. An optimal speed control point 514 may be selected to have a highest efficiency on the efficiency map 502. For instance, in this example, the optimal speed control point 514 is not the control point 516 with the highest speed. To the contrary, driving at the highest speed within the upper speed limit 508 will decrease the energy efficiency of the vehicle 102, as indicated at the speed control point 516, i.e., the vehicle 102 would be operating at only 91 percent efficiency, rather than at 92 percent efficiency as at speed control point 514.

[0075] As mentioned above, the efficiency map 502 is a characteristic of the specific vehicle 102 and the vehicle speed control curve 512 may be determined as a function of both the specific vehicle 102 and environmental parameters. For instance, the optimal speed control point 514 for a sedan operating on a well-paved highway may be very different from that of a truck operating in mountainous terrain. Of course, in some cases, it may also be possible that the optimal speed control point is also actually the highest speed within the speed limit.

[0076] As another example, rather than operating the vehicle 102 at a selected constant speed as much as possible over the route, the vehicle 102 may be controlled by the vehicle control pattern to operate in a changing environment using dynamic speed control. Examples of such changing environment may include operating the vehicle 102 in heavy traffic such that the practical speed limit is lower than the upper speed limit 508 for the route. As another example, a vehicle entering a new road segment that has a different physical condition (e.g., different slope, surface resistance, snow, standing water, etc., may also cause a dynamic change in vehicle speed). For example,

19 while these changes in driving environment do not change the efficiency map of the vehicle 102, they may change the speed limits 508, 510 and/or the vehicle speed control curve 512.

[0077] Under the dynamic speed control scenario, the route to be travelled may be divided into a plurality of small road segments. The road segments may be determined, e.g., based on equal distance, civil conditions (e.g., blocks of a city street, different maximum speed limits), or different natural conditions (e.g., a change in the slope of a road). The data analytics platform 145 may determine environmental information such as traffic, weather, road surface condition etc., for each separate road segment. As the vehicle 102 is traversing the route, the data analytics platform 145 may determine and update the speed limits 508, 510 and vehicle speed control curve 512 for the upcoming road segment(s), and may determine an updated optimal speed control point 514 for the vehicle 102 for the upcoming road segment(s). The data analytics platform 145 may provide the vehicle control pattern for the upcoming road segment(s) to the vehicle 102 before the vehicle 102 enters the upcoming road segment(s). This process may be repeated for each upcoming road segment and the division of the route into the plurality of road segments may result in road segments that are sufficiently small enough to reflect the dynamic nature of the driving environment.

[0078] FIG. 6 illustrates an example system architecture and data flow 600 for energy- efficient vehicle motor control using received information according to some implementations. For instance, the example system of FIG. 6 may be used to calculate and store the vehicle- specific vehicle efficiency map 502 for a connected vehicle 102, as well as to determine the vehicle- specific optimal vehicle control pattern using the data analytics platform 145 according to some implementations. For instance, the example of FIG. 6 includes a detailed system architecture and data flow that may be used to identify an optimal vehicle control pattern for the vehicle 102 by taking into consideration the vehicle configuration information 130, the vehicle’s onboard sensor configuration 128, the vehicle ECU information 127, and so forth.

[0079] In some cases, the architecture of FIG. 6 may correspond to the system 100 discussed above with respect to FIG. 1 and/or the logical configuration 300 discussed above with respect to FIG. 3. Further, the example of FIG. 6 may employ the data analytics platform 145 discussed above with respect to FIGS. 1-5. In some examples, a portion of the process described may be executed by the service computing device(s) 108, and another portion of the process may be executed by the vehicle computing device(s) 104. Furthermore, while in this example, certain functions are illustrated as being performed by one or the other of the computing devices 104 or 108, respectively, it will be readily apparent to those of skill in the art having the benefit of the

20 disclosure herein that some of the functions may be performed by either of the computing devices 104 or 108.

[0080] The service computing device(s) 108 hosting the data analytics platform 145 may receive various types of information from various different sources and also may provide data to one or more of the sources. Examples include infrastructure information 602, user computing device instructions 604, CAV (connected and automated vehicle) sensor data 606, travel demand information 608, map provider information 610, OEM information 612, and government entity information 614. As mentioned above, the infrastructure information 602 may include infrastructure camera images, and other information about infrastructure, road conditions, construction projects, and the like. Furthermore, the user computing device instructions 604 may include user preferences, user information, vehicle information, and the like received through a user computing device such as through a website or web app interface. Furthermore, the CAV sensor data 606 may include data received directly from vehicle sensors, such as connected sensors that automatically transmit data from the vehicle(s) 102 to the service computing device 108. [0081] The travel demand information 608 may provide an indication of possible road crowding based on current and expected demand, which may be based in part on scheduled holidays, air travel and rail travel ticket sales, sporting events and other type of event sales, and so forth. The map provider information 610 may include high definition and low definition maps as well as other information such as traffic data and the like. The OEM information 612 may provide various information about vehicles produced by particular OEMs such as powertrain information, vehicle configuration information, and so forth. The government entity information 614 may indicate government provided safety information, traffic sign information, road construction information, road closure information, and so forth. In some examples, one or more data exchange application programing interfaces (APIs) may be employed for exchanging data with the above-discussed entities, such as for receiving data from the above-discussed entities or sending data to the above-discussed entities. Further, the above-discussed entities are only examples of entities with which information may be exchanged, or from which information may be received, and numerous other information entities will be apparent to those of skill in the art having the benefit of the disclosure herein.

[0082] The descriptive analytics module(s) 148, predictive analytics module(s) 150, and prescriptive analytics module(s) 152 may share information with each other. For instance, as discussed below, the descriptive analytics module(s) 148 may send the vehicle efficiency map 502 to the prescriptive analytics module(s) 152. The descriptive analytics module(s) 148 may receive

21 the vehicle efficiency map 502 from the vehicle data database 162 database or, if the vehicle efficiency map 502 does not already exist, from the predictive analytics module(s) 150.

[0083] The vehicle 102 may send, to the service computing device 108, encrypted information about the vehicle configuration information 130, such as model information, powertrain, and chassis specification, etc., as well as onboard sensor configuration information 128, ECU information 127, and so forth. In some examples, the vehicle 102 may send this information to the service computing device 108 using a broadcasting protocol such as MQTT, UDP, or the like. Additionally, in some cases, the vehicle 102 may send source location information and destination location information to the service computing device 108 to enable determination of a route for an upcoming trip.

[0084] At 616, in the data analytics platform 145, the descriptive analytics module(s) 148 may decrypt the received vehicle data such as by using cryptographic hash algorithms such as MD5, SHA-1, SHA256, or other decryption techniques. Following decryption, the descriptive analytics module(s) 148 may authenticate or otherwise determine the identity of the vehicle 102 and an occupant, and may access the vehicle data database 162 to retrieve any information about the vehicle 102 or occupant therein. Examples of information that may be retrieved may include the vehicle sensor configuration information 128 and/or vehicle configuration information 130 that may have been previously received for the vehicle 102 and stored in the vehicle data database 162, as well as user preferences, routing preferences, etc., for an owner of the vehicle or other occupant of the vehicle 102, that may also have been stored in the vehicle data database 162. [0085] At 618, the descriptive analytics module 148 may access the vehicle efficiency map 502 for the identified vehicle 102. For instance, the vehicle efficiency map 502 may be retrieved from the vehicle data database 162. If a vehicle efficiency map 502 does not already exist for the vehicle 102, the predictive analytics module(s) 150 may be invoked to estimate a vehicle efficiency map 502 as discussed below with respect to 620. Whether the vehicle efficiency map 502 is obtained from the vehicle data database 162 or is estimated by the predictive analytics module(s) 150 in the predictive analytics layer, the vehicle efficiency map 502 may be sent to the prescriptive analytics module(s) 152 and may also be updated by the descriptive analytics module(s) 148.

[0086] At 620, if a vehicle efficiency map 502 does not already exist at 618 discussed above, the predictive analytics module(s) 150 may estimate the vehicle efficiency map 502 based on shared vehicle configuration information 130 of the vehicle 102, including vehicle’s mass, model, production year, powertrain specification, etc. The predictive analytics module(s) 150 may use the vehicle specification to predict the vehicle efficiency map 502 using combination of Al-based

22 and physics-based models, such as described above. The estimated efficiency map may be sent to descriptive analytics module(s) 148. This step initializes the vehicle efficiency map 502 for the connected vehicle 102, and the vehicle efficiency map 502 may also be sent to the prescriptive analytics module(s) 152 to be used to calculate one or more optimal control points for determining optimal vehicle control information and optimal motor control at 636.

[0087] At 622, the descriptive analytics module(s) 148 may further receive the data from the various external sources 602-614, and may perform authentication, filtering, and/or fusing of the received data. For example, the data analytics platform 145 may use data filtering and data fusion to ingest various types of timeseries and image data obtained from traffic infrastructure, user smartphones, third parties, and so forth. The data may be ingested and stored in the databases 154 or the like. As several nonlimiting examples, the data may be managed using a combination of SQL (Structured Query Language) and non-SQL databases for achieving superior real-time performance of the data analytics platform 145.

[0088] At 623, the prescriptive analytics module(s) 152 and/or the descriptive analytics module(s) 148 may determine current traffic and the weather information from the received external data, which may be used by both the descriptive analytics module(s) 148 and the prescriptive analytics module(s) 152.

[0089] At 624, the descriptive analytics module(s) 148 may determine speed limit(s), road slopes, rolling resistance, and other road conditions for a selected route between the vehicle source location and destination location. For example, the descriptive analytics module(s) 148 may receive inputs of vehicle source location, destination location, map, traffic and weather data and may determine a route for the vehicle 102 to reach the destination location. The descriptive analytics module(s) 148 may divide the route into a plurality of road segments and may determine road conditions and environmental conditions along each of the road segments for the selected route.

[0090] At 626, during continued operation of the vehicle 102, the descriptive analytics module(s) 148 may sample, request, or otherwise receive the vehicle’s operation data from the vehicle 102, such as at a plurality of time intervals. The descriptive analytics module(s) 148 may calculate the instantaneous efficiency at each of the time intervals, e.g., as discussed above with respect to FIGS. 4A-4B. In some examples the plurality of time intervals may of a fixed length of time; however, in other examples, the plurality of time intervals may be of variable length, and it is not necessary that the time intervals be of any particular fixed length. The calculated instantaneous efficiency value may be used to update the vehicle efficiency map 502, such as by using a statistical model or other techniques. As one example, a data point on the vehicle efficiency

23 map 502 may be replaced with a weighted average of the newly calculated value and the original value. The updated vehicle efficiency map may be synchronized with the vehicle efficiency map 502 stored in the vehicle data database 162 each time the vehicle efficiency map is updated. [0091] At 628, the prescriptive analytics module(s) 152 may receive the vehicle efficiency map 502 to use for determining optimal motor control, and may update the operation condition(s) on the map as discussed above with respect to FIG. 5 such as by determining speed limit(s) for one or more road segments as indicated at 630 and updating the operating curve for a road segment as indicated at 632.

[0092] At 636, the prescriptive analytics module(s) 152 may determine an optimal vehicle control pattern for each road segment and/or changing driving environment. As one example, the optimal vehicle control pattern may include specifying a constant speed to be maintained along a corresponding road segment. For instance, a first constant speed may be specified for a first road segment, a second, different constant speed may be specified for a second road segment, and so forth. Further, based on this efficiency map, the prescriptive analytics module(s) 152 may determine the customized optimal control point for a road segment. The prescriptive analytics module(s) 152 may first determine operational regions on the vehicle efficiency map 502 using speed limit(s) determined from the map data database 156 or practical speed limits determined based on real-time traffic data, and may then determine the vehicle speed control curve for the vehicle efficiency map 502 using inputs of vehicle specification, road conditions, and real-time traffic and weather. The customized optimal control point may be selected as the one with highest efficiency along the vehicle speed control curve within the operational region as discussed above with respect to FIG. 5. The prescriptive analytics module(s) 152 may calculate the customized optimal control point for the connected electric vehicle. The real-time traffic may be updated using a time loop, or the like, that executes at a plurality of time intervals and obtains updated traffic information from an external source, such as the map provider device. The traffic data may be ingested in the map data database 156 and sent to the prescriptive analytics module(s) 152. The driving environment may be acquired from the map data database 156, the image data database 160, external weather sources, and so forth, and may include the road profile and weather data for a selected road segment. The driving environment information may be used to estimate parameters for calculating the vehicle speed control curve, as discussed above with respect to FIG. 5.

[0093] At 638, the service computing device 108 may send the optimal vehicle control pattern for one or more road segments to the vehicle computing device 104. The vehicle computing device 104 may provide the optimal vehicle control pattern to the vehicle control program 124, which

24 may use the optimal vehicle control pattern for controlling the speed of the vehicle motor to cause the vehicle to travel at a desired speed while traveling to the destination location.

[0094] FIGS. 7-9 include flow diagrams illustrating example processes according to some implementations. The processes are illustrated as collections of blocks in logical flow diagrams, which represent a sequence of operations, some or all of which can be implemented in hardware, software or a combination thereof. In the context of software, the blocks may represent computer- executable instructions stored on one or more computer-readable media that, when executed by one or more processors, program the processors to perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures and the like that perform particular functions or implement particular data types. The order in which the blocks are described should not be construed as a limitation. Any number of the described blocks can be combined in any order and/or in parallel to implement the process, or alternative processes, and not all of the blocks need be executed. For discussion purposes, the processes are described with reference to the environments, systems, and devices described in the examples herein, although the processes may be implemented in a wide variety of other environments, systems, and devices.

[0095] FIG. 7 is a flow diagram illustrating an example process 700 for updating the vehicle efficiency map according to some implementations. For instance, as discussed above with respect to FIG. 5, the vehicle efficiency map may describe the efficiency of an electric vehicle as a function of vehicle speed and traction force. The data analytics platform 145 may estimate a vehicle- specific vehicle efficiency map for a connected vehicle 102 and may continue to update the vehicle efficiency map using on-road vehicle data to improve the accuracy of the vehicle efficiency map for the specific vehicle. As one example, the process 700 may be executed by the one or more service computing devices 108, such as by execution of a descriptive analytics module 148 that may update the vehicle efficiency map, e.g., as discussed above with respect to FIG. 6. [0096] At 702, the computing device may determine whether a vehicle efficiency map is available for the identified vehicle 102. If so, the process goes to 706. If not, the process goes to 704 to estimate an efficiency map.

[0097] At 704, the computing device may estimate a vehicle efficiency map for the vehicle

102 if an efficiency map has not yet been initialized for the vehicle. For example, the predictive analytics module(s) 150 may be executed by the computing device to estimate the vehicle efficiency map 502 based on shared vehicle configuration information of the vehicle 102, including vehicle’s mass, model, production year, powertrain specification, etc. The predictive analytics module(s) 150 may use the vehicle specification to predict the vehicle efficiency map

25 502 using combination of AI-based and physics-based models, such as described above. This step initializes the vehicle efficiency map 502 for the connected vehicle 102.

[0098] At 706, the computing device accesses the vehicle efficiency map 502 for the identified vehicle 102. The vehicle efficiency map may be updated continually using the process indicated at 707. For instance, once the vehicle 102 is authenticated and the corresponding vehicle efficiency map is initialized, either from the vehicle data database 162 included in the databases 154, or by estimating an initial vehicle efficiency map as discussed above at 704, the computing device may execute the descriptive analytics module(s) 148 to continually calculate new vehicle efficiency data at a plurality of time intervals T. In other words, the descriptive analytics module(s) 148 calculates a new vehicle efficiency data at t = [ί 0 1 2 ,·· ·] , where until the vehicle 102 stops operation and/or disconnects from the data analytics platform 145. In some examples, the time intervals T may be of fixed length, while in other examples, the time intervals T may be of variable lengths of time.

[0099] At 708, the computing device receives vehicle operation data. For example, at each time of calculation, the descriptive analytics module(s) 148 may receive, from the vehicle computing device(s) 104, inputs of vehicle speed, vehicle acceleration, battery current, and battery voltage data from the connected vehicle 102.

[00100] At 710, the computing device receives environmental information. For example, the computing device may receive, e.g., from third party computing devices 711 and/or the databases 154, inputs of real-time traffic, weather, road-segment condition (surface condition, slope, altitude, etc.).

[00101] At 712, the computing device may determine a traction force based on the received vehicle operation data and the receives environmental information. An example of determining the traction force T O is discussed above, e.g., with respect to FIGS. 4A-4B.

[00102] At 714, the computing device may determine an instantaneous vehicle efficiency h{ί). The instantaneous efficiency value may be interpreted in the vehicle speed-traction force domain as h(n, trac ) and may be subsequently integrated in the vehicle efficiency map as discussed at 716- 722.

[00103] At 716, the computing device may determine whether the vehicle efficiency map already has a value at the same coordinate as the instantaneous efficiency value. If so, the process goes to 720. If not, the process goes to 718.

26 [00104] At 718, if the vehicle efficiency map does not have a data point at this coordinate yet, the computing device may select the newly calculated instantaneous efficiency value to fill the slot in the map, e.g., h e = h(n, F trac ) .

[00105] At 720, on the other hand, if the efficiency at this coordinate has already been determined previously, the computing device may update the value at this coordinate, such as based on a function of the new efficiency value and the existing (old) efficiency value. As one example, the computing device may update the coordinate using a statistical model that takes into account both the previously determined efficiency value and the newly calculated efficiency value, such as 7/ u = f(j] old / /(i \ lm )) . For example, in a simple case, the function / can be a weighted average.

[00106] At 722, the computing device updates the vehicle efficiency map using the value determined at either 718 or 720.

[00107] At 724, the computing device increments the time to t+1, and the process may return to 708 to determine an update for the next time interval.

[00108] At 726, the computing device may synchronize the updated vehicle efficiency map with the vehicle efficiency map stored in the databases 154.

[00109] At 728, the computing device may send the updated vehicle efficiency map to the prescriptive analytics module(s) 152, which may use the updated efficiency map to determine optimal vehicle control information for one or more upcoming road segments. For example, the computing device may use the updated efficiency map to determine the operation point that provides the maximum energy efficiency and the current driving environment.

[00110] At 730, the computing device may send the optimal vehicle control information to the vehicle to enable the vehicle to be controlled for maximizing the energy efficiency of the motor propelling the vehicle.

[00111] FIG. 8 is a flow diagram illustrating an example process 800 for optimal motor control according to some implementations. In the example of FIG. 8, the data analytics platform 145 may determine a speed at which to operate the motor of a connected vehicle with optimal energy efficiency based on the vehicle efficiency map determined for the vehicle. For instance, the data analytics platform may be executed on the one or more service computing devices 108 to may send optimal vehicle control information to the vehicle to enable the vehicle to control itself for maximizing the efficiency of the motor operation on the vehicle. In some examples, the process 800 is performed by the one or more service computing devices executing the prescriptive analytics module(s) 152, or the like.

27 [00112] At 802, the computing device may determine that there is a new road segment and/or a change in environmental conditions on a route being traversed by a vehicle 102. Changes in environmental conditions may changes in traffic, changes in weather, road closures or the like. [00113] At 804, the computing device may receive the vehicle efficiency map for the corresponding vehicle 102. For instance, in some examples, the vehicle efficiency map may be vehicle specific to the particular vehicle 102, having been calculated for the particular vehicle. [00114] At 806, if a vehicle efficiency map exists, the computing device may access the vehicle efficiency map by retrieving from the databases 154.

[00115] At 808, if a vehicle efficiency map does not already exist for the vehicle, the computing device may estimate the vehicle efficiency map using the techniques discussed above.

[00116] At 810, the computing device may determine one or more speed limits along the relevant road segment. For instance, the speed limit information may be obtained from the databases 154 and/or from one or more third party computing devices 811.

[00117] At 812, the computing device may determine environmental information and road information for the one or more road segments. For instance, the environmental information and road information may be obtained from the databases 154 and/or from one or more third party computing devices 811.

[00118] At 814, the computing device may determine a vehicle operation curve for the vehicle efficiency map for a selected road segment, such as based on the determined speed limits and the determined environmental information and road information for the selected road segment. An example of determining the vehicle operation curve is discussed above with respect to FIG. 5.

[00119] At 816, the computing device may determine an optimal vehicle control point corresponding to maximum efficiency based on the vehicle operation curve and the vehicle efficiency map. For example, the computing device may determine a new optimal control point

(vehicle speed-traction force) whenever the vehicle is entering a new road segment, or when the vehicle receives a triggering event, such as real-time traffic changes, weather events, road closures, or the like. In some examples, the road segment information may be obtained from the map data database 156 (not shown in FIG. 8) included in the data analytics platform databases

154. Furthermore, as discussed above, the segmentation of a route into multiple road segments might not be uniform, depending on the scenario, road features, road conditions, traffic conditions, weather conditions, or the like. For instance, one segment might last for miles, such as on a highway, while another road segment might only be a few tens of meters if in in a city or the like.

Also, in some cases, the computing device may determine updates to the vehicle efficiency map at regular time intervals. Accordingly, the computing device may employ the updated vehicle

28 efficiency map when available. As discussed above, to determine the optimal vehicle control point, the computing device may first receive a road profile for a segment from the databases 154, as well as the real-time weather and traffic from third party computing devices 811. This information may be used to determine parameters of boundary conditions and a vehicle speed control curve on the efficiency map. The computing device may determine the optimal point of maximum energy efficiency based on the vehicle speed control curve and the vehicle efficiency map. Furthermore, if multiple points along the vehicle speed control curve indicate the same maximum efficiency value, then the speed control point with the higher speed may be selected as the optimal control point so long as the higher speed is less than the speed limit for the road segment.

[00120] At 818, the computing device may send the optimal vehicle control information to the vehicle. For example, the computing device may send an optimal vehicle control pattern to the vehicle computing device of the vehicle, such as to inform human driver of an optimal speed for the road segment or to cause a vehicle control program executing on the vehicle computing device to control the vehicle according to the optimal motor control speed such as in the case of a fully autonomous or partially autonomous vehicle.

[00121] FIG. 9 is a flow diagram illustrating an example process 900 for data-driven motor design according to some implementations. The process 900 may be executed by the service computing device(s) 108, or other suitable computing device, such as through execution of the prescriptive analytics module(s) 152 for designing an electric motor with the data-driven approach.

[00122] At 902, the computing device may parameterize the motor design. For example, the design process may start by representing a motor design by parameters. The parameters may include, but are not limited to, topological, categorical, continuous numerical, and discrete numerical.

[00123] At 904, the computing device may initialize a design pool. For example, the computing device may generate an initial population of designs using experience or randomization technique. An automatic optimization loop is then created and run to find the optimal design. In each iteration of the optimization loop, each motor design is evaluated for on-road performance and best designs in each iteration are selected to create new designs that resemble themselves (reproduction of designs).

[00124] At 906, as a first step in the optimization loop, the computing device may generate a drawing for each design.

29 [00125] At 908, the computing device may evaluate on road performance for each design. For example, the on road performance evaluation of a motor design may be carried out using a simulation-based approach. Conventionally, on-road performance of a motor is not considered at the design stage due to the complexity and lack of real-world vehicle data. However, the process 900 enables early evaluation of on-road performance by using the collection of real-world vehicle operation data contained in the data analytics platform databases 154. For instance, the databases 154 may include information such as vehicle model, powertrain specification, vehicle CAN data, sensor data, traffic data, weather data, and so forth. The vehicle information included in the databases 154 may be used to build one or more AI and/or physics-based simulation models that may be used to calculate the on-road performance of a motor design.

[00126] At 910, the computing device may select one or more of the highest ranked designs for further consideration.

[00127] At 912, the computing device may determine whether the optimizing of the design is complete. For example, after a predefined number of iterations or when certain criteria are met, the design process may exit the optimization loop and the best design found among all the iterations may be selected as the optimal design. Accordingly, at 912, if the optimizing is complete the process goes to 916. On the other hand, if the optimization is not yet complete the process goes to 914.

[00128] At 914, the computing device may reproduce the selected highest ranked designs. For example, the computing device may generate one or more additional designs that are similar to the selected highest ranked designs. The process may return to block 906 to evaluate the selected highest ranked designs and the newly produced designs.

[00129] At 916, when the optimizing is complete, the computing device may select the best performing design found among all the iterations as the optimal design.

[00130] The example processes described herein are only examples of processes provided for discussion purposes. Numerous other variations will be apparent to those of skill in the art in light of the disclosure herein. Further, while the disclosure herein sets forth several examples of suitable frameworks, architectures and environments for executing the processes, the implementations herein are not limited to the particular examples shown and discussed. Furthermore, this disclosure provides various example implementations, as described and as illustrated in the drawings. However, this disclosure is not limited to the implementations described and illustrated herein, but can extend to other implementations, as would be known or as would become known to those skilled in the art.

30 [00131] Various instructions, processes, and techniques described herein may be considered in the general context of computer-executable instructions, such as computer programs and applications stored on computer-readable media, and executed by the processor(s) herein. Generally, the terms program and application may be used interchangeably, and may include instructions, routines, modules, objects, components, data structures, executable code, etc., for performing particular tasks or implementing particular data types. These programs, applications, and the like, may be executed as native code or may be downloaded and executed, such as in a virtual machine or other just-in-time compilation execution environment. Typically, the functionality of the programs and applications may be combined or distributed as desired in various implementations. An implementation of these programs, applications, and techniques may be stored on computer storage media or transmitted across some form of communication media. [00132] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claims.

31