Resistance detection by electrical parameters

By detecting the rolling resistance and friction levels of electric vehicles and adjusting the motor torque control, the energy loss and emission problems of electric vehicles when driving on different ground surfaces are solved, and the battery capacity is maintained and greenhouse gas emissions are reduced.

CN119218190APending Publication Date: 2024-12-31RIVIAN HOLDINGS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410754606.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-28
Filing Date
2024-06-12
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

When electric vehicles are driving on different ground surfaces, the driving modes selected by the user may not adapt to changes, resulting in wheel slippage, increased energy loss, premature battery charging and increased carbon dioxide emissions.

Method used

By detecting the vehicle's rolling resistance and friction levels, adjusting the motor torque control, the optimization of power efficiency and energy management can be achieved.

Benefits of technology

Effectively maintain battery power, improve driving capacity on any ground, and reduce energy generation-related greenhouse gas emissions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119218190A_ABST
    Figure CN119218190A_ABST
Patent Text Reader

Abstract

Resistance detection is provided. A system includes one or more processors of a vehicle coupled with a memory. The one or more processors may determine a rolling resistance of the vehicle based on energy input to one or more motors of the vehicle and a speed of the vehicle. The one or more processors may select a slip target for the vehicle based on the rolling resistance and a friction level associated with a surface over which the vehicle traverses. The one or more processors may provide a slip target to a traction control system of the vehicle to control the one or more motors.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] introduction

[0002] Electric vehicles may include monitoring systems. Such systems can detect conditions that indicate a potential state of the electric vehicle or its sensors. In addition, efficient control of traction and motor torque helps reduce energy losses and improve battery performance of electric vehicles when driving on certain types of surfaces. Summary of the invention

[0003] The technical scheme generally relates to systems, methods and devices for resistance detection. A vehicle may include a mode selection for a driving mode. The mode selection may control vehicle operation, such as wheel slip, torque ramping or torque vectoring. For example, vehicle operation may vary between paved and gravel roads, mud, sand and wet grass. When the vehicle transitions between different surfaces, user selections may be entered incorrectly or become outdated. For example, a user of a vehicle crossing sand may select a slip target to permit wheel speeds to greatly exceed vehicle speed, but may then enter a paved road without deselecting the option, which may result in wheel slip, which may negatively affect vehicle power, tire wear, and increased energy drawn from the battery, which may result in premature charging of the battery, resulting in increased emissions of, for example, carbon dioxide. The technical scheme may detect and adjust the operating mode of the vehicle, which may control motor torque. Efficient control of motor torque may maintain battery charge while improving the ability to travel on any given surface, thereby reducing greenhouse gas emissions associated with energy generation.

[0004] At least one aspect relates to a system. The system may include one or more processors of a computing system coupled to a memory. The one or more processors may determine a rolling resistance of a vehicle based on energy input to one or more motors of the vehicle and a speed of the vehicle. The one or more processors may select a slip target for the vehicle based on the rolling resistance and a friction level associated with a surface on which the vehicle traverses. The one or more processors may provide the slip target to a traction control system of the vehicle to control the one or more motors.

[0005] At least one aspect relates to a method. The method may be performed by one or more processors of a computing system coupled to a memory. The method may include determining a rolling resistance of a vehicle based on energy input to one or more motors of the vehicle and a speed of the vehicle. The method may include selecting a slip target for the vehicle. The slip target may be based on the rolling resistance and a level of friction associated with a surface on which the vehicle traverses. The method may include providing the slip target to a traction control system of the vehicle to control the one or more motors.

[0006] At least one aspect relates to an electric vehicle. The electric vehicle may include a plurality of electric motors. The electric vehicle may include a computing system including one or more processors coupled to a memory. The one or more processors may detect a condition of the motors of the electric vehicle. The one or more processors may determine a rolling resistance of the electric vehicle based on energy input to the plurality of electric motors of the electric vehicle and a speed of the electric vehicle. The one or more processors may select a slip target for the electric vehicle based on the rolling resistance and a level of friction associated with a surface on which the electric vehicle traverses. The one or more processors may provide a slip target to a traction control system of the electric vehicle to control the plurality of electric motors.

[0007] These and other aspects and implementations are discussed in detail below. The foregoing information and the following detailed description include illustrative examples of various aspects and implementations, and provide an overview or framework for understanding the nature and characteristics of the protected aspects and implementations. The accompanying drawings provide illustration and further understanding of various aspects and implementations, and are incorporated into and constitute a part of this specification. The foregoing information and the following detailed description and the accompanying drawings include illustrative examples and should not be considered limiting. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The drawings are not intended to be drawn to scale. Like reference numbers and names indicate similar elements in the various drawings. For clarity, not every component may be labeled in every drawing. In the drawings:

[0009] Figure 1 An exemplary block diagram of a resistance detection system is depicted.

[0010] Figure 2 An exemplary electric vehicle is depicted.

[0011] Figure 3 A multidimensional data structure including partitions corresponding to operating parameters of an electric vehicle is depicted.

[0012] Figure 4 A multidimensional data structure including partitions corresponding to operating parameters of an electric vehicle is depicted.

[0013] Figure 5 Describes such Figure 1 An exemplary data flow diagram of a resistance detection system of a resistance detection system.

[0014] Figure 6 An exemplary method of resistance detection is depicted.

[0015] Figure 7 is a block diagram illustrating the architecture of a computer system that can be used to implement elements of the systems and methods described and illustrated herein. DETAILED DESCRIPTION

[0016] The following is a more detailed description of various concepts and implementations thereof related to methods, devices, and systems for resistance detection.The various concepts introduced above and discussed in more detail below may be implemented in any of a variety of ways.

[0017] The present disclosure generally relates to adjusting vehicle operation based on a detected rolling resistance level associated with a driving surface. Rolling resistance may include or refer to a force that resists rolling wheels on a driving surface, such as surface deformation, tire deformation, thermal hysteresis loss, or surface roughness of a tire as it rises and falls while traversing a driving surface. Rolling resistance may vary with changes in temperature, humidity, tire structure, or other environmental or vehicle variables. A vehicle may operate in different ways under various conditions (such as snow, mud, or paved roads). A first portion of the vehicle drive train energy may generate power to transport the vehicle. A second portion of the vehicle drive train energy may be applied to the driving surface (e.g., rolling resistance; displacing or heating mud, snow, etc.). The vehicle may include user-selectable options for various driving modes corresponding to various surface parameters, which may include, for example, rolling resistance, friction, temperature, or humidity. However, detection of surface type may vary over time and distance (e.g., a transition from dirt to mud), may be non-intuitive, or may not be selected by a user. Detecting surface conditions at a speed that can adapt to a changing ground surface may be challenging.

[0018] The technical solution can determine the rolling resistance by comparing the energy provided to the drive system with the change in vehicle speed or altitude. The technical solution can compare the detected resistance with the current operating mode. The comparison can include a comparison with (or distance from) a partition in a multidimensional data structure, wherein the data structure includes dimensions corresponding to rolling or aerodynamic resistance, friction or other surface parameters. The technical solution can adjust the selected mode based on this comparison, such as by selecting another partition in the multidimensional data structure that corresponds to the detected rolling resistance.

[0019] Figure 1An exemplary system 100 for resistance detection is depicted. System 100 may include a computing system 102 of an electric vehicle, interfaced with or otherwise communicating with the computing system of the electric vehicle. System 100 may employ a network 101 to exchange information with a traction control system 150 of the electric vehicle. Computing system 102 may be part of, hosted by, or otherwise integrated with a component of the electric vehicle. Computing system 102 may include a traction control system 150, interfaced with or otherwise communicating with the traction control system via network 101. Network 101 may include a computer network such as Ethernet, a controller area network 101 (CAN), a local interconnect network 101 (LIN), a peripheral component interconnect express network (PCIe), the Internet, a local area network, a wide area network, a metropolitan area network, or other local area network 101, an intranet, a cellular network 101, a satellite network 101, and other communication networks 101 such as Bluetooth or a data mobile phone network. Network 101 may be public or private. The various elements of system 100 may communicate via network 101 .

[0020] The computing system 102 may include a vehicle or be part of a vehicle. The computing system 102 may include or interface with at least one electric motor 104. The computing system 102 may include or interface with at least one mode selector vehicle sensor 106. The computing system 102 may include or interface with at least one ground energy engine 108. The computing system 102 may include at least one user interface 110. The computing system 102 may include at least one mapping selector 112. The computing system 102 may include at least one data repository 120. The electric motor 104, the vehicle sensor 106, the ground energy engine 108, the user interface 110, or the mapping selector 112 may each include at least one processing unit or other logic device, such as a programmable logic array engine, or a module configured to communicate with a vehicle data repository 120 or a database. The electric motor 104, the vehicle sensor 106, the ground energy engine 108, the user interface 110, or the mapping selector 112 may be separate components, a single component, or part of the computing system 102. The computing system 102 may include hardware elements, such as one or more processors, logic devices, or circuits. For example, the computing system 102 may include Figure 7 One or more components or functional structures of a computing device depicted in .

[0021] The data repository 120 may include one or more local or distributed databases and may include a database management system. The data repository 120 may include a computer data storage device or memory and may store one or more data structures such as powertrain parameters 122 , performance maps 124 , or operating parameters 126 .

[0022] The powertrain parameters 122 may refer to or include one or more data points of or associated with the powertrain. For example, the powertrain parameters 122 may include efficiency or losses associated with a powertrain component or powertrain. The efficiency may vary depending on the operating mode (e.g., front motor or rear motor), vehicle load (such as occupant weight (e.g., indicated by the number of occupants)) or the weight of cargo or the presence of a trailer. The efficiency may vary due to environmental conditions such as temperature or humidity. The efficiency may vary due to battery voltage (e.g., a corresponding higher current may increase resistive losses). The efficiency may vary according to the mode, torque deviation, etc. For example, a mode including a slip target, torque limit, or torque vectoring parameter that is mismatched with the surface may cause the vehicle to adopt more or less wheel slip than the matching mode, which may increase the overall energy use of the vehicle. The powertrain parameters 122 may vary based on the conditions of the selected wheel or vehicle. The powertrain parameters 122 may include the moment of inertia I of a rotating component (such as a wheel assembly, an axle, or an electric motor 104).

[0023] The performance map 124 may refer to or include a data structure that includes a slip target, an accelerator pedal map, a steering map, a torque vectoring map, or other maps that include various operating parameters 126 of the vehicle. The performance map 124 may correspond to a user-selected or automatically detected operating mode. The performance map 124 may correspond to a partition of a multi-dimensional data structure, such as Figure 3 or Figure 4 structure. For example, detection of steady state driving or a low traction surface may indicate selection of an economy mode or a snow mode. Each mode may correspond to a performance map 124 so that user inputs or inputs to an autonomous system may result in different outputs. For example, a performance map 124 corresponding to a snow mode may include operating parameters 126 so that steering inputs may be damped, torque may be limited to a maximum value and slew, and a slip target that permits moderate wheel slip may be selected. In a performance map 124 corresponding to an economy mode, operating parameters 126 (such as steering inputs) may be undamped, torque may be limited to a second value, and a slip target that permits slight wheel slip may be selected. Selection of operating parameters 126 may be based on a selected performance map 124, or operating parameters 126 may be selected separately therefrom (e.g., windshield wipers may be engaged in response to detection of rain without selecting a performance map 124).

[0024] The operating parameters 126 may include any component of the performance map 124 or the settings of the individual controls. For example, the operating parameters 126 may include a torque bias from left to right or front to rear, a slip target, or settings for automatic headlights or windshield wipers. The slip target may refer to a target difference in wheel speed from vehicle speed, such as a fixed offset (e.g., miles per hour) or a percentage difference (e.g., 20%). The traction control system 150 may limit torque from one or more electric motors 104 to reduce wheel slip that exceeds the slip target. The torque bias may refer to torque distribution between motors, such as based on desired handling characteristics (e.g., oversteer or understeer), based on available wheel traction (e.g., reducing power to wheels on low traction surfaces relative to tires on high traction surfaces, such as rear wheels submerged in water when launching a boat, or wheels on the soft shoulder of a road), or simulating a mechanical differential, such as permitting or allowing the vehicle to rotate to navigate through an apex in the case of torque vectoring.

[0025] References to operating parameters 126 may include a corresponding relationship with a performance map 124, or may refer to operating parameters 126 separately therefrom. For example, one or more operating parameters 126 may be individually selected from a performance map 124, such as based on manual user input. Some operating parameters 126 may be shared between performance maps 124, such that an operating parameter 126 may not indicate a selection between such performance maps 124. Some modes may not correspond to one or more operating parameters 126. For example, a power output threshold may not be associated with a performance map 124 for a towed vehicle.

[0026] The computing system 102 may include one or more electric motors 104 of an electric vehicle or dock with one or more electric motors of the electric vehicle. The electric motor 104 may be electrically connected to a battery and an inverter. The electric vehicle may include more than one electric motor 104. For example, the vehicle may include an electric motor 104 per axle (e.g., a front electric motor 104 and a rear electric motor 104 may be included) or an electric motor 104 per wheel. The electric motor 104 may be coupled to a plurality of wheels or axles via a differential. Each electric motor 104 may be coupled to the battery via a separate inverter. The inverter may be docked with the electric motor 104 via an output port (such as via a switch component of an inverter). The inverter may convert DC battery energy into an AC signal having any number of phases. For example, the inverter may include one or three phases for a one-phase or three-phase AC electric motor 104.

[0027] The energy input to the electric motor 104 may refer to or include the detection of the current or voltage of the electric motor 104, so that the electric motor 104 applies more or less torque or force. The provision of power may be communicated via an inverter or a battery via a controller for the electric motor 104. For example, the energy provided to the electric motor 104 may be determined based on the battery voltage and the inverter current. The amount of energy may refer to a commanded, detected, or other amount of energy. The amount of energy input to the electric motor 104 may be sensed based on the electrical parameters of the motor. For example, the amount of energy provided to the electric motor 104 may be determined using a known voltage, current, temperature-current relationship, or efficiency. For example, the sensor 106 may detect the amount of current and voltage provided to the motor so that the computing system 102 may determine the energy contribution. The voltage or current may be measured at the inverter, battery, electric motor 104, or other components.

[0028] As described above, various vehicles may include various motors. For example, a first electric vehicle may include four wheels and four corresponding electric motors 104. The electric motor 104 may be referred to as a right front motor (MFR), a left front motor (MFL), a right rear motor (MRR), or a left rear motor (MRL). MFR and MFL may be collectively referred to as front motors; MRR and MLR may be collectively referred to as rear motors. The energy, rolling resistance, or other detections herein may be performed on a vehicle, axle, or motor basis.

[0029] The computing system 102 may include or interface with one or more vehicle sensors 106 configured to sense information associated with the operation of the vehicle or the environment with which it interacts. For example, the vehicle sensor 106 may determine a voltage or current to detect the energy provided to the motor. The vehicle sensor 106 may include a shunt resistor, a Hall effect sensor 106, a thermistor, or a current transformer. Each sensor 106 may monitor one or more batteries, an inverter, an electric motor 104, etc.

[0030] The sensor 106 may detect a marker of vehicle operation. The sensor 106 may be part of or communicate with the traction control system 150. For example, the traction control system 150 and the computing system 102 may include the same or different instances of the sensor 106 described herein. The sensor 106 may detect the height or gradient based on an accelerometer, a global navigation satellite system (GNSS), a differential wheel speed, or a predefined gradient or height associated with a map accessible to the electric vehicle. The sensor 106 may include a wheel speed or wheel slip sensor 106, or an interface sensor 106 (such as a throttle position sensor 106), or a steering angle sensor 106 corresponding to a user interface 110 or an autonomous system. The sensor 106 may include an occupant sensor 106 indicating the number of occupants, or other sensors 106 that may generate data indicating vehicle load or weight (e.g., a current or voltage sensor 106 that detects acceleration on a horizontal section of a paved road, or a strain sensor 106 for a floor or suspension component of a cargo compartment).

[0031] The sensor 106 can detect environmental conditions. For example, the rain sensor 106 can detect the presence of rain based on a change in reflectivity of a wet or dry windshield or a change in conductivity of the sensor 106 from a dry state to a wet state. The temperature sensor 106 can detect the temperature of the surrounding environment, which can indicate the surface temperature of a driving surface with which the vehicle is docked, or the surface temperature of another portion of the environment that the vehicle is traversing. For example, the temperature sensor 106 can include a thermistor, a thermocouple associated with one or more vehicle components, or an integrated circuit. The ambient temperature can be determined based on a measurement of the ambient temperature or an electric vehicle component with a known deviation. For example, the ambient temperature can be detected based on a temperature difference between two points in a fluid circuit of a battery coolant.

[0032] The computing system 102 may include or interface with one or more ground energy engines 108. The ground energy engine 108 may determine rolling resistance or other indicia of the driving surface, such as friction level. For example, the ground energy engine 108 may determine resistance based on various sensor data and derivations thereof, including energy input to one or more motors of the vehicle and the speed of the vehicle. The computing system 102 may determine rolling resistance based on a comparison of energy input to one or more electric motors 104 and the operation of the vehicle. The operation of the vehicle may include or vary based on driveline efficiency, speed, altitude, surface traction, vehicle speed, wheel slip, vehicle load, or material accumulation on the wheels (e.g., mud or ice).

[0033] The ground energy engine 108 may determine the amount of energy provided to the motor. The amount of energy provided to the motor may be based on sensor data from sensors 106 of the electric motor 104, inverter, battery, or other components of the electric vehicle.

[0034] The ground energy engine 108 can determine the total vehicle loss. The total vehicle loss can include, for example, aerodynamic drag and parasitic losses of various circuits (e.g., radio, headlights, or energy supplied to the computing system 102). Based on the powertrain parameters 122 and various sensor data, the total vehicle loss determined by the ground energy engine 108 can include powertrain losses. The powertrain parameters 122 can include the efficiency of the electric motor 104, inverter, bearings, or rotational losses from the differential or wheels. Based on speed, the loss can be linear or nonlinear, and can show further temperature dependence, air pressure dependence, voltage, etc. The ground energy engine 108 can use any information from the sensor 106 based on such dependencies. (For example, adjust the efficiency according to temperature, or adjust the motor efficiency according to the battery voltage). Some powertrain parameters 122 can vary according to the road surface or vehicle accessories. For example, the powertrain parameter 122 of the wheel weight can vary based on the wheel size, mass, or moment of inertia. The powertrain parameters 122 can include corresponding losses for one or more wheel types or conditions. For example, a wheel that has traveled or has recently traveled through mud or snow will exhibit higher losses due to any accumulated material relative to a clean, dry wheel associated with a paved surface.

[0035] Ground energy engine 108 may determine the amount of accumulation of kinetic energy and potential energy. For example, ground energy engine 108 may determine the kinetic energy of the vehicle based on an indication of the mass of the vehicle, such as the number of occupants or the amount of cargo, or based on a predefined weight of the vehicle. The kinetic energy may be further determined based on an indication of vehicle speed, which may be received, for example, by a vision or radar system of the vehicle, or determined by traction control system 150 based on operation of the driveline. For example, computing system 102 may receive a vehicle speed indication from traction control system 150 and determine the kinetic energy of the vehicle based thereon.

[0036] The ground energy engine 108 can determine the energy (e.g., rolling resistance) delivered to the driving surface by subtracting other energy (e.g., total vehicle losses and accumulated kinetic and potential energy) from the energy provided to the electric motor 104. Such energy transfer can be indicative of the driving surface. The ground energy engine 108 can provide rolling resistance to the mapping selector 112 to control various parts of the vehicle operation. This control can in turn affect the operation of the ground energy engine 108 (e.g., by increasing or decreasing wheel slip, or selecting different driving surface types, based on which the ground energy engine 108 can detect different amounts of resistance). That is, the ground energy engine 108 and the mapping selector 112 can iteratively determine the amount of rolling resistance and the mapping selection accordingly to control the electric vehicle.

[0037] The computing system 102 may include one or more user interfaces 110 or dock with the one or more user interfaces. The user interface 110 may be designed, configured or operated to interact with a user (such as an occupant of an electric vehicle). The user interface 110 may be integrated into a vehicle, or include a mobile device (such as a mobile phone) or be instantiated by a mobile device. The user interface 110 may receive a selection of a driving mode for the vehicle. The driving mode may correspond to various operating parameters 126 of the vehicle, such as various other operating parameters 126 of a slip target, torque deviation or steering mapping 124. The driving mode may include (e.g., corresponding to) a slip target, which may be the same slip target corresponding to the resistance detected by the ground energy engine 108, or may be different from the slip target. For example, the user interface 110 may receive a user's selection of a driving mode, and may thereafter detect a surface that does not correspond to the selected driving mode. The difference in driving mode may vary based on temperature, friction, humidity, speed or other dimensions of a multidimensional data structure.

[0038] The user interface 110 may provide a notification including a prompt to the user, such as an indication of the selected rolling resistance or road surface. The prompt may indicate the selection of the difference between the previously selected road surface and the detected road service. The prompt may include an energy-saving indication associated with the change of the operating mode. The user interface 110 may receive a response to the prompt, such as a confirmation or rejection of the change of the operation of the detected driving surface. The user interface 110 may provide an indication of the detection of the selected mode without prompting the rejection of the change, or may omit the indication of the change of the selected mode. The user interface 110 may include a selection or display of a manual driving mode selection. The user interface 110 may include an "automatic" mode, in which the vehicle automatically selects a mode based on the detection of rolling resistance or other indications. The user interface 110 may include one or more manual modes. One or more manual modes may include a lock, an override, or other function (e.g., a radio button, a check box, or a flag) to indicate that the selected mode should not be overwritten, or include a variable selection (e.g., a scroll bar for "low", "medium", and "high" options) to select the threshold difference permitted from the selected mode to the detected area before overwriting the selected mode.

[0039] The number or type of driving modes indicated by the user interface 110 may be different than the number or type of driving modes that may be automatically selected. For example, the multidimensional data structure may include hundreds or thousands of partitions or gradient functions, and the display may include, for example, four, eight, or twelve selectable options.

[0040] The computing system 102 may include or interface with one or more mapping selectors 112. The mapping selector 112 may select a portion of the multidimensional data structure based on resistance. For example, one dimension in the multidimensional data structure may be vehicle rolling resistance; the various dimensions may include front motor rolling resistance, rear motor rolling resistance, or may be based on rolling resistance in other ways. The dimensions of the multidimensional data structure may include or be based on the friction level of the driving surface, which the mapping selector 112 may receive from the traction control system 150 or another element of the computing system 102. The dimensions of the multidimensional data structure may include or be based on the temperature received from the sensor 106, the wheel type from the powertrain parameter 122, or other markings of the electric vehicle operating mode. For example, the three-dimensional data structure may include a resistance axis, a friction axis, and a temperature axis. The mapping selector 112 may select a multidimensional data structure (e.g., a two-dimensional plane of a three-dimensional data structure) based on temperature. Thereafter, the mapping selector 112 may select a slip target or other vehicle operating parameter 126 based on a search in a two-dimensional plane selected based on temperature (e.g., based on a position corresponding to a partition associated with a slip target). In other words, the map selector 112 may select a slip target for the vehicle based on rolling resistance and the friction level associated with the surface over which the vehicle is traversing.

[0041] The map selector 112 may provide a slip target to a traction control system 150 of the vehicle to control one or more motors. The provision of the slip target may include the communication of a slip target including a slip speed or slip percentage, or the selection of a driving mode based on a partition. For example, the map selector 112 may select a slip target based on a lookup in a multidimensional data structure that includes various partitions corresponding to various types of driving surfaces (e.g., based on the driving mode corresponding to the driving surface).

[0042] The mapping selector 112 may compare one or more detected driving modes, slip targets, or other control parameters associated therewith to the driving mode selected by the user. The threshold difference between the surfaces may vary based on a metric distance, such as a Euclidean distance, a Manhattan difference, a Chebyshev distance, a cosine similarity, or a Minkowski difference. When the metric distance is less than a predefined threshold, the metric distance may satisfy the tolerance, and when the metric distance exceeds the predefined threshold, the metric distance may not satisfy the tolerance. Some selections or satisfaction of tolerances may be based on other operating conditions of the vehicle (e.g., the mapping selector 112 may determine that a vehicle traveling at 75 miles per hour is not rock climbing, or that a vehicle exhibiting a slip angle of less than one percent is not traversing sand dunes).

[0043] Based on looking up the rolling resistance and friction levels in the multi-dimensional data structure, the mapping selector 112 may determine that the user-selected operating mode, partition, or corresponding operating parameter 126 (e.g., a slip target for a driving mode) does not meet the tolerance, and based on the determination, override the user-selected slip target with the slip target, torque deviation, or other parameter, driving mode, or partition detected by the computing system 102. The mapping selector 112 may override or ignore the override based on a selection based on a lock, override, recency of input, or other function entered in the user input.

[0044] Satisfaction may refer to the position of a data value relative to a threshold (e.g., less than or greater than a one-dimensional threshold, or within a metric distance of a multidimensional data structure, such as a detection zone, a tolerance threshold, or a partition position). Satisfaction may include a time component, such as a minimum time to detect the ground before adjusting the operating parameter 126, or a minimum time between receiving a user input and overwriting the user input. The mapping selector 112 may determine the satisfaction of the threshold based on a search in the multidimensional data structure for a rolling resistance and friction level of a slip target selected for a surface that is different from the rolling resistance and friction level of the vehicle traversing. For example, the different slip targets may be slip targets corresponding to the selected driving mode. The mapping selector 112 may determine whether the difference between the slip targets or between any of the slip targets meets the tolerance threshold based on the search of the rolling resistance and friction level in the multidimensional data structure. For example, one of the slip targets associated with the selected driving mode or the slip target based on the driving surface may meet the threshold, while the other may not. The mapping selector 112 may cover the slip target that does not meet the threshold with the slip target that meets the threshold. For example, the map selector 112 may override a selected or detected slip target with another slip target and provide the override slip target to the traction control system 150 based on satisfaction of a tolerance threshold.

[0045] The computing system 102 may include, interface with, or otherwise communicate with, one or more traction control systems 150. The traction control system 150 may control a motor or combination of motors to control the application of energy to the various motors and the braking of associated wheels. For example, the traction control system 150 may maintain vehicle stability based on detected steering angle, driving surface, throttle position, etc. The traction control system 150 may operate based on one or more operating parameters 126 or performance maps 124 indicated or communicated by the computing system 102.

[0046] In some cases, computing system 102 may improve, adjust, or otherwise modify aerodynamic features of vehicle 205. Computing system 102 may improve the aerodynamics of vehicle 205 to reduce drag or friction. For example, computing system 102 may activate a wing of vehicle 205, close one or more windows of vehicle 205, close a cargo floor cover of vehicle 205, or activate or actuate other components, flaps, or covers of vehicle 205 that may reduce the amount of air friction or otherwise improve the aerodynamics of vehicle 205.

[0047] The computing system 102 may use the information determined by the ground energy engine 108 or the mapping selector 112 to control the aerodynamics of the vehicle 205. The computing system 102 may actively adjust vehicle aerodynamic features (e.g., active wings, window openings, or cargo floor coverings) to further improve the efficiency of the vehicle 205.

[0048] To this end, the computing system 102 may determine, based on chassis inputs, how changes in the surface or ground (e.g., determined via one or more components of the computing system 102) affect overall vehicle energy usage in motion. The ground energy engine 108 may determine the amount of energy consumed or lost due to aerodynamic friction or drag by deducting the amount of energy lost due to ground or surface drag from the total consumption. The computing system 102 may, in response to determining that the amount of aerodynamic friction is greater than or equal to a threshold, activate or actuate a component of the vehicle 205 that can reduce the amount of aerodynamic friction when the vehicle 205 is in motion. For example, the computing system 102 may activate or actuate one or more of a wing, a window, or a cargo floor covering in response to determining that the amount of aerodynamic friction is greater than or equal to a threshold, wherein the amount of aerodynamic friction may be determined via output from the ground energy engine 108. The computing system 102 may automatically activate or actuate components to reduce aerodynamic friction and increase the vehicle's range. Computing system 102 may provide a notification, alert, or prompt to a user or driver of vehicle 205 via a display device of vehicle 205 suggesting or requesting activation or actuation of a component of vehicle 205 to reduce aerodynamic friction in order to increase the range of vehicle 205. Computing system 102 may inform the user or driver of vehicle 205 how conditions (e.g., camping trip loaded, windows open, or bicycles in the back) affect the predicted range of vehicle 205.

[0049] Figure 2An exemplary cross-sectional view of an electric vehicle 205 with at least one battery pack 210 installed is depicted. The electric vehicle 205 may include an electric truck, an electric sport utility vehicle (SUV), an electric van, an electric car, an electric car, an electric motorcycle, an electric scooter, an electric passenger car, an electric passenger or commercial truck, a hybrid vehicle or other vehicle, such as a marine or air vehicle, an airplane, a helicopter, a submarine, a ship, or a drone, among other possibilities. The battery pack 210 may also be used as an energy storage system to power a building such as a residential or commercial building. The electric vehicle 205 may be fully electric or partially electric (e.g., a plug-in hybrid), and further, the electric vehicle 205 may be fully autonomous, partially autonomous, or unmanned. For example, the electric vehicle 205 may include an autonomous control device to approach a charging station, connect, disconnect, or vacate the charging station. The electric vehicle 205 may also be manually operated or non-autonomous. The electric vehicle 205 (such as an electric truck or car) may include an onboard battery pack 210, a battery or battery module 215, or a battery cell 220 to power the electric vehicle. The electric vehicle 205 may include a chassis 225 (e.g., a frame, an internal frame, or a support structure). The chassis 225 may support various components of the electric vehicle 205. The chassis 225 may span a front portion 230 (e.g., a hood or lid portion), a body portion 235, and a rear portion 240 (e.g., a luggage compartment, a payload, or a trunk portion) of the electric vehicle 205. The battery pack 210 may be mounted or placed within the electric vehicle 205. For example, the battery pack 210 may be mounted within one or more of the front portion 230, the body portion 235, or the rear portion 240 on the chassis 225 of the electric vehicle 205. The battery pack 210 may include or be connected to at least one bus bar, such as a collector element. For example, the first bus bar 245 and the second bus bar 250 may include a conductive material to connect or otherwise electrically couple the battery, battery module 215, or battery cell 220 to other electrical components of the electric vehicle 205 to power various systems or components of the electric vehicle 205.

[0050] Each of the front wheel set 255 and the rear wheel set 260 may include a tire to interface with a driving surface. The tire transfers energy to the driving surface through heating, surface deformation, or displacement of the driving surface material, collectively referred to as rolling resistance. The front wheel set 255 may include a front motor 265 that is configured to receive energy from the battery pack 210 to drive the tires of the front wheel set 255. The rear wheel set 260 may include a rear motor 270 that is configured to receive energy from the battery pack 210 to drive the tires of the rear wheel set 260. Each of the front motor 265 and the rear motor 270 may be in network communication with the computing system 102 and the traction control system 150. The electric motors 265, 270 may include a controller that is in network communication with the computing system 102, or an inverter or controller that is electrically connected to the electric motors 265, 270, the electric motors being connected to Figure 1 Networking 101.

[0051] Figure 3 A multidimensional data structure 300 is depicted that includes partitions of operating parameters 126 corresponding to an electric vehicle 205. For ease of depiction, the depicted data structure 300 includes two dimensions, namely a wheel resistance axis 302 and a friction axis 304. Various data structures may include any number of dimensions, such as temperature, speed, aerodynamic drag, humidity, or the number of motors. Dimensions may be discrete or continuous and may include partitions. A partition may refer to an adjacent or non-adjacent portion of the multidimensional data structure 300 that is associated with a driving mode that includes operating parameters 126 (such as a slip target, torque deviation, torque limit, speed limit, or torque vectoring distribution parameter). Some operating parameters 126 may be included in a performance map 124. A partition may include the same set of operating parameters 126 or one or more sub-portions, gradients, etc. For example, depicted sand zone 306 may correspond to a sand driving mode having predefined operating parameters 126, include one or more sub-zones, each sub-zone including a set of predefined operating parameters 126, or may include a gradient of varying operating parameters 126 (e.g., according to an amount of rolling resistance or an amount of friction, which may vary based on particle size or moisture content).

[0052] The zones may vary based on the dimensions of data structure 300. For example, grass zone 310 and mud zone 308 may include friction levels that overlap with sand zone 306, but vary in terms of rolling resistance (e.g., grass or moisture may hold the soil together to prevent deformation, which may reduce energy loss). Gravel zone 312 may include similar rolling resistance as grass zone 310, but vary in terms of friction levels. Selecting the appropriate zones may avoid excessive wheel slip or "slipping" of driving surface material, reduce the energy used to propel the vehicle, extend battery life and range, and reduce emissions associated with charging the vehicle.

[0053] The rock crawling zone 314 corresponds to high friction relative to the other depicted modes. The rock crawling zone 314 may correspond to a user-selected driving mode (e.g., a "rock crawling" mode). According to the systems and methods described herein, the ground energy engine 108 may determine an amount or range of rolling resistance, and the ground energy engine 108 (or Figure 1 316 ) can determine an amount or range of friction force levels. The corresponding detection range is indicated as a detection area 316. The detection area 316 can include a center point or center portion based on the detection range, and a distance from the center point or center portion based on the tolerance 320. For example, in the depicted data structure 300, the detection area 316 does not overlap with the selected rock creep partition 314, but the selected rock creep partition 314 is within the tolerance 320 threshold (e.g., distance metric). Some detection areas 316 can be points or lines. Some tolerances 320 may be no larger than the detection area 316 or point. Some tolerances 320 may extend different amounts in different dimensions, or be selectively applied to one or more partitions, or may depend on user input to the user interface 110.

[0054] Figure 4 Another multidimensional data structure 400 is depicted that includes partitions corresponding to the operating parameters 126 of the electric vehicle 205. As depicted, another detection area 402 does not overlap with the selected rock crawling partition 314. In addition, no tolerance threshold extends between the detection area 402 and the selected rock crawling partition 314. Based on the non-satisfaction of the threshold (e.g., the threshold is zero), the computing system 102 can select a partition that does not correspond to the selected rock crawling mode. For example, the computing system 102 can select the grass partition 310 based on the overlap with the detection area 316, or select the mud / snow partition 308 based on a smaller distance (e.g., greater similarity) to the selected rock crawling partition 314 relative to the grass partition 310.

[0055] Figure 5 Describes such Figure 1An exemplary data flow diagram 500 of a resistance detection system of the system 100 of FIG. The ground energy engine 108 determines the energy transferred to the ground. For example, the ground energy engine 108 may receive an indication of input energy 502 provided to the electric motor 104, which input indication may direct the torque generated by the electric motor 104 so that the ground energy engine 108 may determine the rolling resistance more quickly than some systems that detect the torque output of the wheels or the electric motor 104. To determine the energy transferred to the driving surface, the ground energy engine 108 may predict the amount of driveline losses 504, such as inverter or motor efficiency, and heat losses due to heating of bearings, suspension components, or other driveline elements. Some driveline losses that are recaptured or substantially recaptured (e.g., spring movement or tire deformation) may be ignored or discounted to ignore any portion of the energy that is recaptured.

[0056] The ground energy engine 108 may determine the energy accumulated as kinetic energy based on the vehicle speed 506 and an indication of the vehicle mass of the vehicle, such as by determining the wheel speed 508 and the translational kinetic energy (1 / 2 mv 2 ) and rotational kinetic energy (0.5Iω 2 ), where the moment of inertia I can be retrieved from the powertrain parameters 122, or the powertrain parameters 122 can include a lookup of the total energy based on the vehicle speed 506. The ground energy engine 108 can determine the accumulated potential energy based on the distance and detected gradient 510, pressure, position in conjunction with a GNSS system or mapping, altitude 512, or other data. The ground energy engine 108 can determine the aerodynamic drag loss based on the vehicle speed and various environmental sensors 106 (e.g., humidity, pressure, or temperature). The ground energy engine 108 can communicate the determined rolling resistance to the map selector 112.

[0057] The map selector 112 can select a performance map 124. The selection of a map can refer to an adjustment, calibration, or other change relative to another reference value or map. For example, the map selector 112 can select various performance maps 124 based on rolling resistance, friction, temperature, or other dimensions of a multidimensional data structure. The map selector 112 can select a slip target 514 for one or more wheel assemblies or electric motors 104. The map selector 112 can select an accelerator pedal input map 516 to associate pedal position with torque, accelerator sensitivity, or accelerator response rate. For example, damping accelerator sensitivity can increase vehicle efficiency, increase vehicle range, and reduce emissions associated with charging. The map selector 112 can select a torque vectoring distribution map 518. For example, the amount of rotation of a vehicle may be different on paved roads, snow, or sand. The detection of a mismatch in the torque vectoring distribution map 518 can prevent a vehicle using a paved road focused torque vectoring distribution map 518 from being bound by sand by maintaining non-translational kinetic energy when crossing a sand dune. Conversely, detecting a mismatch in the torque vectoring mapping can prevent vehicles using sand-focused mapping from prematurely wearing tires or reducing energy efficiency when crossing interstate highways. The map selector 112 can select a steering map 520 to associate the detected position of the steering angle sensor 106 with the movement of the steering arm or steering tie rod. For example, the steering map 520 can depend on vehicle speed, steering angle, vehicle dynamics received from the traction control system 150, or a selected driving mode. The map selector 112 can receive various information related to the vehicle, such as humidity, temperature, or other environmental data 522, to select a map. For example, a data structure indicating a performance map 124 or an operating parameter 126 may include a dimension of environmental conditions so that the selection is based on temperature or other environmental data 522.

[0058] The map selector 112 may select various maps to provide to the traction control system 150. For example, the map selector 112 may combine, adjust, or otherwise select one or more values ​​from the selected maps that are applicable to the traction control system 150.

[0059] Figure 6 An exemplary method 600 of resistance detection is depicted. The method 600 may be performed by Figure 1 , Figure 2600 may be performed by one or more systems or components including computing system 102 or electric vehicle 205 as depicted in FIG. 601 . For example, method 600 may be performed by one or more processors of electric vehicle 205 and a memory communicatively coupled to the one or more processors. At action 602, ground energy engine 108 detects rolling resistance of the vehicle. Ground energy engine 108 may detect rolling resistance based on energy input to one or more motors of the vehicle. Ground energy engine 108 may determine rolling resistance by comparing energy input to energy utilization. Ground energy engine 108 may determine energy utilization based on vehicle speed, driveline loss, or altitude.

[0060] At action 604, the computing system 102 selects a slip target for the vehicle. The computing system 102 may select the slip target based on a multi-dimensional data structure that includes data that varies according to rolling resistance and friction level (e.g., may include an axis that organizes the data structure based on a resistance level axis and a friction level axis, or include portions of the data structure that correspond to rolling resistance or friction level). The computing system 102 may select a driving mode, a partition, or other portion of the data structure based on rolling resistance, and the computing system 102 may then select a slip target, a torque deviation, or other operating parameters 126 associated therewith.

[0061] At action 606, the computing system 102 provides the slip target 514 to the traction control system 150 of the vehicle to control one or more motors. The computing system 102 may provide the slip target 514 itself, or an indication of the slip target 514, such as a reference identifier of a performance map 124. The computing system 102 may communicate the performance map 124 to the traction control system 150 via a file transfer or via an indication of a selection of the performance map 124, where the performance map 124 may be accessed by the traction control system 150. The computing system 102 may communicate the slip target 514 to the traction control system 150 via an offset. As the vehicle traverses various terrain types, the computing system 102 may continue to detect rolling resistance to determine the slip target, torque deviation, and other operating parameters 126.

[0062] Figure 7 is a block diagram showing the architecture of a computer system that can be used to implement, for example, Figure 1 and Figure 2 The system depicted in Figure 6The computing system 700 includes elements of the systems and methods described and illustrated herein in conjunction with the methods depicted in . The computing system 700 includes: at least one bus 705 or other communication means for communicating information; and at least one processor 710 or processing circuit coupled to the bus 705 for processing information. The computing system 700 may also include one or more processors 710 or processing circuits coupled to the bus for processing information. The computing system 700 also includes at least one main memory 715 (such as a random access memory (RAM) or other dynamic storage device) coupled to the bus 705 for storing information and instructions to be executed by the processor 710. The main memory 715 may be used to store information during the execution of instructions by the processor 710. The computing system 700 may also include at least one read-only memory (ROM) 720 or other static storage device coupled to the bus 705 for storing static information and instructions for the processor 710. A storage device 725 (such as a solid-state device, a magnetic disk, or an optical disk) may be coupled to the bus 705 to persistently store information and instructions.

[0063] The computing system 700 may be coupled via the bus 705 to a display 735, such as a liquid crystal display or an active matrix display, for displaying information to a user, such as a driver or other end user of the electric vehicle 205. An input device 730, such as a keyboard interface or a voice interface, may be coupled to the bus 705 for communicating information and commands to the processor 710. The input device 730 may include a touch screen display 735. The input device 730 may also include a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating directional information and command selections to the processor 710 and for controlling cursor movement on the display 735.

[0064] The processes, systems, and methods described herein may be implemented by the computing system 700 in response to the processor 710 executing an instruction arrangement contained in the main memory 715. Such instructions may be read into the main memory 715 from another computer-readable medium, such as the storage device 725. The execution of the instruction arrangement contained in the main memory 715 causes the computing system 700 to perform the illustrative processes described herein. One or more processors in a multi-processing arrangement may also be used to execute the instructions contained in the main memory 715. Hard-wired circuitry may be used in place of or in combination with software instructions and the systems and methods described herein. The systems and methods described herein are not limited to any specific combination of hardware circuitry and software.

[0065] Some descriptions herein emphasize the structural independence of aspects of system components or the grouping of operations and responsibilities of these system components. Other groupings that perform similar overall operations are also within the scope of this application. Modules can be implemented in hardware or as computer instructions on non-transient computer-readable storage media, and modules can be distributed across various hardware or computer-based components.

[0066] The system described above can provide any one of these components or multiple components of each component, and these components can be provided on a stand-alone system, or on multiple instances in a distributed system. In addition, the system and method described above can be provided as one or more computer-readable programs or executable instructions, which are included in one or more products or products. The product can be a cloud storage, a hard disk, a CD-ROM, a flash memory card, a PROM, a RAM, a ROM, or a tape. In general, a computer-readable program can be implemented in any programming language (such as LISP, PERL, C, C++, C#, PROLOG), or implemented in any byte code language (such as JAVA). The software program or executable instruction can be stored as an object code on or in one or more products.

[0067] Exemplary and non-limiting module implementation elements include a sensor 106 that provides any value identified herein, a sensor 106 that provides any value that is a predecessor of a value identified herein, data link or network hardware including a communication chip, an oscillator crystal, a communication link, a cable, a twisted pair, a coaxial line, a shielded line, a transmitter, a receiver or a transceiver, a logic circuit, a hard-wired logic circuit, a reconfigurable logic circuit in a specific non-transient state configured according to a module specification, any actuator including at least an electric actuator, a hydraulic actuator or a pneumatic actuator, a solenoid, an operational amplifier, an analog control element (spring, filter, integrator, adder, divider, gain element) or a digital control element.

[0068] The subject matter and operations described in this specification may be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or in a combination of one or more of them. The subject matter described in this specification may be implemented as one or more computer programs (e.g., one or more computer program instruction circuits) encoded on one or more computer storage media for execution by a data processing device or for controlling the operation of a data processing device. Alternatively or additionally, program instructions may be encoded on an artificially generated propagation signal, such as a machine-generated electrical, optical or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver device for execution by a data processing device. A computer storage medium may be or be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Although a computer storage medium is not a propagation signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagation signal. The computer storage medium may also be or be included in one or more separate components or media (e.g., multiple CDs, disks, or other storage devices including cloud storage). The operations described in this specification may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

[0069] The terms "computing device," "component," or "data processing apparatus," etc., encompass various apparatuses, devices, and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or multiple or a combination of the foregoing. The apparatus may include dedicated logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform operating environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment may implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0070] A computer program (also referred to as a program, software, software application, application, script, or code) may be written in any form of programming language, including compiled or interpreted, declarative or procedural, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may correspond to a file in a file system. A computer program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple collaborative files (e.g., files storing one or more modules, subroutines, or code portions). A computer program may be deployed to execute on one or more computers located in one location or distributed in multiple locations and interconnected by a communications network.

[0071] The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may also be performed by special purpose logic circuits, and the apparatus may also be implemented as special purpose logic circuits, such as FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits). Devices suitable for storing computer program instructions and data may include non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; disks, such as internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks. The processor and memory may be supplemented by or incorporated into special purpose logic circuits.

[0072] The subject matter described herein can be implemented in a computing system, and the computing system includes a back-end component, such as a data server, or includes a middleware component, such as an application server, or includes a front-end component, such as a client computer with a graphical user interface 110 or a web browser, through which a user can interact with the specific implementation of the subject matter described in this specification, or includes a combination of one or more such back-ends, middleware or front-end components. The components of the system can be interconnected by digital data communication (such as a communication network) of any form or medium. Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), the Internet (e.g., the Internet) and peer-to-peer networks (e.g., self-organizing peer-to-peer networks).

[0073] Although operations are depicted in a particular order in the drawings, these operations need not be performed in the particular order shown or in sequential order, and not all of the operations shown need be performed. The actions described herein may be performed in a different order.

[0074] Now that some exemplary implementations have been described, it is apparent that the foregoing is illustrative rather than restrictive and has been presented by way of example. Specifically, although many of the examples presented herein relate to specific combinations of method actions or system elements, these actions and these elements may be combined in other ways to achieve the same purpose. The actions, elements, and features discussed in conjunction with one implementation are not intended to be excluded from similar roles in other implementations.

[0075] The words and terms used herein are for descriptive purposes and should not be construed as limiting. The use of "including," "comprising," "having," "containing," "involving," "characterized by," and variations thereof herein is intended to encompass the items listed thereafter, their equivalents and additional items, and alternative implementations consisting solely of the items listed thereafter. In one implementation, the systems and methods described herein consist of one, each combination of more than one, or all of the elements, acts, or components described.

[0076] Any specific implementation or element or action of the system and method mentioned in the singular form herein may also include a specific implementation comprising a plurality of these elements, and any plural form of any specific implementation or element or action herein may also include a specific implementation comprising only a single element. Reference in the singular or plural form is not intended to limit the currently disclosed system or method, its parts, actions or elements to a single or multiple configurations. Reference to any action or element based on any information, action or element may include a specific implementation in which the action or element is based at least in part on any information, action or element.

[0077] Any implementation disclosed herein may be combined with any other implementation or embodiment, and references to "an implementation," "some implementations," "an implementation," etc. are not necessarily mutually exclusive, but are intended to indicate that a particular feature, structure, or characteristic described in conjunction with an implementation may be included in at least one implementation or embodiment. Such terms as used herein do not necessarily all refer to the same implementation. Any implementation may be combined, inclusively or exclusively, with any other implementation in any manner consistent with the aspects and implementations disclosed herein.

[0078] References to "or" may be interpreted as inclusive, such that any term described using "or" may indicate any of a single, more than one, and all of the terms. References to at least one of a conjunctive list of terms may be interpreted as inclusive OR to indicate any of a single, more than one, and all of the terms. For example, references to "at least one of 'A' and 'B'" may include only "A," only "B," and both "A" and "B." Such references used in conjunction with "including" or other open-ended terms may include additional items.

[0079] Where a technical feature in the drawings, detailed description or any claims is followed by a reference numeral, the reference numeral is included to enhance the intelligibility of the drawings, detailed description and claims. Therefore, the presence or absence of a reference numeral has no limiting effect on the scope of any claim element.

[0080] Without departing substantially from the teachings and advantages of the subject matter disclosed herein, modifications may be made to the elements and actions, such as changes in size, dimensions, structure, shape and proportion, parameter values, mounting arrangements, use of materials, color, orientation of the various elements. For example, an element shown as being integrally formed may be composed of multiple parts or elements, the position of elements may be reversed or otherwise changed, and the nature or number or position of discrete elements may be changed or varied. Other substitutions, modifications, changes and omissions may also be made in the design, operating conditions and arrangement of the disclosed elements and operations without departing from the scope of the present disclosure.

[0081] Further relative parallel, perpendicular, vertical or other positioning or orientation descriptions include variations within + / -10% or + / -10 degrees of pure vertical, parallel or perpendicular positioning. Unless otherwise expressly stated, references to "about," "substantially," or other degree terms include variations of + / -10% from a given measurement, unit, or range. The coupled elements may be electrically, mechanically, or physically coupled to each other directly or through intervening elements. Accordingly, the scope of the systems and methods described herein is indicated by the appended claims rather than the foregoing description, and variations that fall within the meaning and range of equivalence of the claims are included therein.

Claims

1. A system comprising: A computing system comprising one or more processors coupled to a memory for: determining a rolling resistance of the vehicle based on energy input to one or more motors of the vehicle and a speed of the vehicle; selecting a slip target for the vehicle based on the rolling resistance and a friction level associated with a surface over which the vehicle traverses; as well as The slip target is provided to a traction control system of the vehicle to control the one or more motors.

2. The system according to claim 1, comprising: The computing system is configured to determine the energy input to the one or more motors based on electrical parameters of the one or more motors.

3. The system according to claim 1, comprising: The computing system is used to determine the energy input to the one or more motors based on the amount of current and the amount of voltage provided to the one or more motors.

4. The system according to claim 1, comprising: The computing system is used to determine the rolling resistance based on a comparison of the energy input to the one or more motors and the speed of the vehicle.

5. The system according to claim 1, comprising: The computing system is configured to select the slip target based on a lookup in a multidimensional data structure, the multidimensional data structure including a plurality of partitions corresponding to a plurality of types of driving surfaces.

6. The system of claim 1, comprising the computing system configured to: determining a temperature associated with an environment through which the vehicle is traversing; selecting a multidimensional data structure based on the temperature; and The slip target is selected based on a lookup in the multidimensional data structure selected based on the temperature.

7. The system of claim 1, comprising the computing system for: receiving, via a user interface of the vehicle, a selection of a driving mode for the vehicle that includes a second slip target that is different from the slip target; determining, based on a lookup in a multidimensional data structure having the rolling resistance and the friction level, that the second slip target for the driving mode does not meet a tolerance; as well as Overwriting the second slip target with the second slip target based on a determination that the second slip target does not satisfy the tolerance indicated via the lookup in the multidimensional data structure.

8. The system of claim 1, comprising the computing system configured to: receiving, via a user interface of the vehicle, a selection of a driving mode for the vehicle that includes a second slip target that is different from the slip target; determining, based on a lookup in a multidimensional data structure having the rolling resistance and the friction level, that a difference between the second slip target and the slip target satisfies a tolerance threshold; as well as The slip target is overridden with the second slip target based on satisfying the tolerance threshold to provide the second slip target to the traction control system of the vehicle to control the one or more motors.

9. The system of claim 1 , wherein the one or more motors include a front motor and a rear motor, comprising: The computing system is for selecting a torque deviation of the slip target between the front motor and the rear motor based on the rolling resistance and the friction level.

10. The system of claim 1, wherein the one or more motors include a front motor and a rear motor, comprising: The computing system is for selecting a torque deviation of the slip target between the front motor and the rear motor based on the rolling resistance, the friction level, and temperature.

11. A method comprising: determining, by a computing system including one or more processors coupled to a memory, a rolling resistance of the vehicle based on energy input to one or more motors of the vehicle and a speed of the vehicle; selecting, by the computing system, a slip target for the vehicle based on the rolling resistance and a friction level associated with a surface over which the vehicle traverses; as well as The slip target is provided by the computing system to a traction control system of the vehicle to control the one or more motors.

12. The method according to claim 11, comprising: The energy input to the one or more motors is determined by the computing system based on electrical parameters of the one or more motors.

13. The method according to claim 11, comprising: The energy input to the one or more motors is determined by the computing system based on an amount of current and an amount of voltage provided to the one or more motors.

14. The method according to claim 11, comprising: The rolling resistance is determined by the computing system based on a comparison of the energy input to the one or more motors and the speed of the vehicle.

15. The method according to claim 11, comprising: The slip target is selected by the computing system based on a lookup in a multidimensional data structure including a plurality of partitions corresponding to a plurality of types of driving surfaces.

16. The method according to claim 11, comprising: determining, by the computing system, a temperature associated with an environment through which the vehicle is traversing; selecting, by the computing system, a multidimensional data structure based on the temperature; as well as The slip target is selected by the computing system based on a lookup in the multidimensional data structure selected based on the temperature.

17. The method according to claim 11, comprising: receiving, by the computing system via a user interface of the vehicle, a selection of a driving mode for the vehicle that includes a second slip target different from the slip target; determining, by the computing system based on a lookup in a multidimensional data structure having the rolling resistance and the friction level, that the second slip target for the driving mode does not meet a tolerance; as well as Overwriting the second slip target with the second slip target by the computing system based on a determination that the second slip target does not satisfy the tolerance indicated via the lookup in the multidimensional data structure.

18. The method according to claim 11, comprising: receiving, by the computing system via a user interface of the vehicle, a selection of a driving mode for the vehicle that includes a second slip target different from the slip target; determining, by the computing system based on a lookup in a multidimensional data structure having the rolling resistance and the friction level, that a difference between the second slip target and the slip target satisfies a tolerance threshold; as well as The slip target is overridden, by the computing system, with the second slip target based on satisfying the tolerance threshold to provide the second slip target to the traction control system of the vehicle to control the one or more motors.

19. An electric vehicle comprising: multiple electric motors; and A computing system comprising one or more processors coupled to a memory for: determining a rolling resistance of the electric vehicle based on energy input to the plurality of electric motors of the electric vehicle and a speed of the electric vehicle; selecting a slip target for the electric vehicle based on the rolling resistance and a friction level associated with a surface over which the electric vehicle traverses; as well as The slip target is provided to a traction control system of the electric vehicle to control the plurality of electric motors.

20. The electric vehicle of claim 19, comprising: The computing system is configured to determine the energy input to the plurality of electric motors based on electrical parameters of the plurality of electric motors.