Moving body mass estimation method and device based on energy balance

By receiving information about transmission and braking events in the vehicle, estimating vehicle quality using the energy balance method is solved, and the cost and complexity problems caused by sensor dependence is achieved, and an accurate and economical vehicle quality estimation is achieved.

CN120390706APending Publication Date: 2025-07-29CUMMINS LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380087543.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-21
Filing Date
2023-12-20
Publication Date
2025-07-29

AI Technical Summary

Technical Problem

In the prior art, the determination of vehicle quality depends on sensors, resulting in high costs, increased complexity and susceptible to failure and tampering, making it difficult to accurately estimate vehicle quality without using or essentially not using sensors.

Method used

By receiving information about the indication and braking event that the transmission is continuously in a single setting, the first and second energy values of the vehicle are estimated using the energy balance method, combining these energy values to determine the mass of the vehicle, and controlling the operation of the vehicle components.

Benefits of technology

It realizes reducing costs and complexity without relying on load sensors, improving the accuracy and reliability of vehicle quality estimation, reducing the risks of failure and tampering, and simplifying the calibration process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120390706A_ABST
    Figure CN120390706A_ABST
Patent Text Reader

Abstract

Systems and methods are provided for determining a value regarding a system, such as a vehicle, so as to be able to control the system. The method includes receiving an indication that the transmission continues to be in a single setting; receiving an indication of a braking event of the vehicle; determining a first energy value for the vehicle based on an indication that the transmission is continuously in a single setting and a braking event; receiving an indication of a change in operation of at least one of the transmission and the braking event; determining a second energy value with respect to the vehicle based on an indication of a change in operation of at least one of the transmission and the braking event; determining a value with respect to the vehicle based on the first energy value and the second energy value; and controlling operation of a component of the vehicle based on the determined value.
Need to check novelty before this filing date? Find Prior Art

Description

Cross - Reference to Related Applications

[0001] This PCT patent application claims the benefit and priority of Indian Provisional Patent Application No. 202241074147, filed on December 21, 2022, and incorporates the entire content of that application by reference herein. Technical Field

[0002] This application relates to systems and methods for dynamically determining the mass of a system (such as a vehicle) to enable control of the vehicle, its components or systems, and / or for reporting purposes (e.g., reporting to various agencies). Background Art

[0003] The mass of a vehicle (such as a load vehicle like a truck) is typically information required for controlling and operating the vehicle. For example, the mass of the vehicle can be used to determine the driving resistance (or the load on the vehicle) in order to predict the future behavior of the vehicle. Additionally, the mass of the vehicle can be used to develop driver assistance programs as well as manage and control the vehicle. Typically, the mass of the vehicle can be determined or estimated based on a slope sensor and a load sensor and potentially other sensors. However, the use of sensors increases the cost and complexity of determining the mass of the vehicle. Moreover, the sensors may suffer from faults and / or tampering, resulting in inaccuracies in the information from the sensors and / or the determinations based on the sensor information. Therefore, systems and methods for estimating the mass of a vehicle without using or substantially not using certain sensors may be desirable. Summary of the Invention

[0004] One embodiment relates to a method. The method includes: receiving an indication that a transmission of a vehicle is continuously in a single setting; receiving an indication of a brake event of the vehicle; determining a first energy value regarding the vehicle based on the indication that the transmission is continuously in a single setting and the indication of the brake event; receiving an indication of a change in operation of at least one of the transmission and the brake event; determining a second energy value regarding the vehicle based on the indication of the change in operation of at least one of the transmission and the brake event; determining a value regarding the vehicle based on the first energy value and the second energy value; and controlling the operation of a component of the vehicle based on the determined value.

[0005] In some implementations, the value is an estimated mass of the vehicle. In some implementations, the first energy value is based on at least one of a first power value regarding vehicle operation, a first height of the vehicle, or a first speed of the vehicle, and wherein the second energy value is based on at least one of a second power value regarding vehicle operation, a second height of the vehicle, or a second speed of the vehicle. In some implementations, the first energy value includes the first power value, and the second energy value includes the second power value, and wherein the first power value and the second power value are determined without using a load sensor. In some implementations, the operation of the control component includes controlling a transmission of the vehicle.

[0006] Another embodiment relates to a system. The system includes: a controller having one or more processors and one or more storage devices. The one or more storage devices store instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: receiving an indication that a transmission of a vehicle remains in a single setting; receiving an indication of a braking event of the vehicle; determining a first energy value regarding the vehicle based on the indication that the transmission remains in a single setting and the indication of the braking event; receiving an indication of a change in operation of at least one of the transmission and the braking event; determining a second energy value regarding the vehicle based on the indication of the change in operation of at least one of the transmission and the braking event; determining a value regarding the vehicle based on the first energy value and the second energy value; and controlling the operation of a component of the vehicle based on the determined value.

[0007] Yet another embodiment relates to a non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors of a processing circuit, cause the one or more processors to perform operations including: receiving an indication that a transmission of a vehicle remains in a single setting; receiving an indication of a braking event of the vehicle; determining a first energy value regarding the vehicle based on the indication that the transmission remains in a single setting and the indication of the braking event; receiving an indication of a change in operation of at least one of the transmission and the braking event; determining a second energy value regarding the vehicle based on the indication of the change in operation of at least one of the transmission and the braking event; determining a value regarding the vehicle based on the first energy value and the second energy value; and controlling the operation of a component of the vehicle based on the determined value.

[0008] Numerous specific details are provided to facilitate a thorough understanding of embodiments of the subject matter of the present disclosure. The described features of the present disclosure may be combined in any suitable manner in one or more embodiments and / or implementations. In this regard, one or more features of one aspect of the invention may be combined with one or more features of other aspects of the invention. Additionally, additional features may be recognized in certain embodiments and / or implementations that may not be present in all embodiments or implementations. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 Schematic diagram of a vehicle having a controller configured to determine the mass of the vehicle according to an exemplary embodiment.

[0010] Figure 2 According to an exemplary embodiment Figure 1 Schematic diagram of a controller of the vehicle.

[0011] Figure 3 Flowchart of a method for determining the mass of a vehicle according to an exemplary embodiment.

[0012] Figure 4 According to an exemplary embodiment showing Figure 1 Sampling period of the vehicle.

[0013] Figure 5 According to an exemplary embodiment showing Figure 1 Graph of mass estimation of the vehicle.

[0014] Figure 6 According to an exemplary embodiment for Figure 5 Quadrant filtering method for filtering the estimated mass of the vehicle in.

[0015] Figure 7 According to another exemplary embodiment showing Figure 1 Graph of mass estimation of the vehicle. Detailed description

[0016] The following is a more detailed description of various concepts and implementations of systems and methods for determining vehicle mass. More specifically, systems and methods for determining vehicle mass in real-time or near real-time during vehicle operation are described herein. The mass determination systems and methods described herein allow for relatively more accurate vehicle mass estimates, which can then be broadcast to vehicle managers, remote operators (e.g., fleet managers), original equipment manufacturers, etc. for vehicle monitoring and control. Additionally, the mass determination methods and systems described herein allow for the estimation of vehicle mass using sensors that may already be present in the vehicle without the need for additional sensors (e.g., load sensors, slope sensors, etc.), thereby reducing the cost and complexity of the systems required to determine vehicle mass. In some embodiments, at least one sensor may not be used compared to traditional methods. In one embodiment, the at least one sensor omitted includes a load sensor. Omitting the use of load information from a load sensor can reduce vehicle costs, reduce the chance of failure and / or tampering, and increase the uptime of accurate vehicle mass calculations by not relying on sensors that may fail. In other embodiments, different sensors or multiple sensors may also be omitted to determine vehicle mass. Additionally, the mass determination methods described herein require less adjustment, thereby allowing new vehicles to be calibrated with fewer levels of testing. Although the term "mass" is used throughout this document, it should be understood that other similar terms, such as weight, may also be used.

[0017] The various concepts introduced above and discussed in more detail below can be implemented in any number of ways, as the concepts described are not limited to any particular implementation. Examples of specific implementations and applications are provided primarily for illustrative purposes.

[0018] Generally referring to the accompanying drawings, various embodiments disclosed herein relate to systems and methods for determining and estimating vehicle mass without using certain additional sensors. Typically, various sensors on a vehicle are used to measure forces and accelerations of the vehicle and then estimate the mass of the vehicle based on Newton's second law (i.e., force = mass × acceleration). However, this typical method of determining vehicle mass incurs costs due to the required sensors. In addition, the sensors also increase the complexity of the vehicle system, resulting in the vehicle requiring more maintenance. As described herein, by the energy balance method described herein, only vehicle speed and altitude sensors can be used. Therefore, there is a need for a system and method for determining vehicle mass without using one or more sensors for fleet efficiency monitoring and optimization to reduce the risk of sensor failure and / or human tampering. The systems and methods described herein determine the mass of a vehicle without using certain additional sensors by measuring, estimating, and / or otherwise determining the energy consumed between a first point and a second point and correlating the consumed energy with the mass of the vehicle. After determining or estimating the mass of the vehicle, the vehicle's controller can control various systems, such as a fuel system to control the fuel injection amount related to the load and mass of the vehicle, a hydraulic system to provide the required power, etc. These and other features and advantages are described more fully below.

[0019] Now referring to Figure 1 , a vehicle 100 is shown according to one example embodiment. The vehicle 100 can be configured as a on-road or off-road vehicle (e.g., a front-end loader, a bulldozer, etc.), including but not limited to a long-haul truck, a medium-duty truck (e.g., a pickup truck), a sedan (e.g., a sedan car), and any other type of vehicle.

[0020] The vehicle 100 can be constructed as an internal combustion engine-driven vehicle (e.g., gasoline, diesel, natural gas, or another type of fuel that is burned and used to power the vehicle), at least partially a hybrid vehicle (e.g., a parallel or series hybrid vehicle including one or more electric motors and one or more internal combustion engines), a pure electric vehicle (e.g., without an internal combustion engine), a fuel cell, or a vehicle driven by other alternative energy sources, etc. In the example shown, the vehicle 100 is at least partially driven by an internal combustion engine.

[0021] Vehicle 100 is shown as including a powertrain system 120 having an internal combustion engine 125. The powertrain system 120 facilitates power transfer from the engine 125 to power and / or drive the vehicle 100. In some embodiments, as described above, the powertrain system 120 is configured as a conventional non-electrified powertrain (e.g., without an electric motor powered by one or more batteries or fuel cells to drive the vehicle). In other embodiments as described above, the powertrain system 120 can be an electric / hybrid powertrain. The powertrain system 120 includes an engine 125 operably coupled to a transmission 135, the transmission 135 being operably coupled to a drive shaft 103, the drive shaft 103 being operably coupled to a differential 104, wherein the differential 104 transfers the power output from the engine 125 to a final drive, which can be embodied as a wheel 105, but in other embodiments can be a track or other final drive.

[0022] If the powertrain system 120 is an electric / hybrid powertrain, it can include one or more electric machines, such as an electric motor and / or a generator. The electric machine can include torque assist features, regenerative braking energy capture capabilities, power generation capabilities, and any other features of a generator used in a hybrid vehicle. The electric machine can include power conditioning devices, such as an inverter and a motor controller. Additionally, one or more batteries can be included to supply power to the electric machine and / or store electrical energy for future use.

[0023] As a brief overview, the engine 125 receives a chemical energy input (e.g., a fuel such as gasoline or diesel) and burns the fuel to produce mechanical energy in the form of a rotating crankshaft. As a result of the power output from the engine 125, the transmission 135 can manipulate the speed of the rotating input shaft (e.g., the crankshaft) to achieve a desired drive shaft 103 speed. The rotating drive shaft 103 is received by the differential 104, which provides the rotational energy of the drive shaft 103 to the final drive 105. The final drive 105 then drives or moves the vehicle 100.

[0024] The engine 125 can be configured as any internal combustion engine (e.g., compression ignition or spark ignition) such that it can be powered by any fuel type (e.g., diesel, hydrogen, ethanol, gasoline, etc.). In the example shown, the engine 125 is configured as a compression ignition engine that burns diesel fuel. The transmission 135 can be configured as any type of transmission, such as a manual transmission, automated manual transmission, automatic transmission (e.g., dual clutch transmission, semi-automatic, and other types of automatic transmissions), etc. In the example shown, the transmission 135 includes a plurality of gears or settings and is an automatic transmission such that gear shifting can be controlled automatically and without user input by an electronic control unit (e.g., controller 140 and / or another ECU). Through the plurality of settings or gears, the transmission can affect different output speeds based on the engine speed. The final drive 105 can be configured in any configuration depending on the application (e.g., the final drive 105 is configured as a wheel in an automotive application such as vehicle 100 shown). Additionally, the drive shaft 103 can be configured as a one-piece, two-piece, and slip-in drive shaft depending on the application.

[0025] The transmission 135 can be operatively coupled to a transmission control unit (TCU) 160. The TCU 160 can be communicatively coupled to the controller 140 and can receive vehicle information, commands, instructions, etc. from the controller 140. The TCU 160 can be configured to monitor the state of the transmission 135 (e.g., monitor the transmission settings) and change the transmission settings (e.g., shift gears) based on information about the vehicle 100. The TCU 160 can include one or more processing circuits having one or more storage devices coupled to one or more processors. The TCU 160 can at least partially control the operation of the transmission 135, including but not limited to shifting the transmission from one gear or setting to another gear or setting. The TCU 160 can communicate information about the transmission to the controller 140. In some embodiments, the controller 140 can at least partially control the transmission 135 in place of the TCU 160. In such a case, the TCU 160 can be included in the controller 140.

[0026] Also as shown, vehicle 100 includes an aftertreatment system 115 coupled to engine 125, specifically in fluid communication with engine 125. The aftertreatment system 115 receives exhaust gas from the combustion process in engine 125 and reduces the emissions from engine 125 to emissions that are less harmful to the environment (e.g., reducing the amount of NOx, reducing the amount of particulate matter emitted, etc.). The aftertreatment system 115 can include any components for reducing engine exhaust emissions, such as a selective catalytic reduction catalyst, a diesel oxidation catalyst, a diesel particulate filter, a diesel exhaust fluid injector coupled to a diesel exhaust fluid supply, a plurality of sensors for monitoring the aftertreatment system 115 (e.g., NOx sensors, CO sensors, particulate sensors, greenhouse gas sensors, exhaust gas flow and pressure sensors, ammonia sensors, etc.), a three-way catalyst, an aftertreatment system heater, etc. It should be understood that other embodiments may exclude the aftertreatment system and / or include different, fewer, and / or additional components than those listed above. Additionally, the spatial arrangement of the components / systems for aftertreatment is highly configurable. All such variations are intended to fall within the spirit and scope of the present disclosure.

[0027] Vehicle 100 also includes one or more sensors 145 that can be configured to provide information about vehicle 100 to controller 140. In some embodiments, one or more sensors 145 can include a speed sensor configured to measure or otherwise obtain information indicative of the speed of vehicle 100 and send that information to controller 140. One or more sensors 145 can also include an altitude sensor configured to measure or otherwise receive altitude information indicative of vehicle 100 and send that information to controller 140. Other sensors 145 can also be included in the vehicle, including but not limited to temperature sensors (e.g., obtaining temperature information about the operation of the engine and / or another component of the vehicle), cameras (e.g., rearview cameras, front cameras, etc.), pressure sensors (e.g., exhaust manifold pressure sensors, etc.), oxygen sensors, power source speed sensors, power sensors, etc. In some embodiments, the sensors can include a clutch sensor configured to determine when the clutch is actuated. In some embodiments, the sensors can include a brake sensor configured to determine when the brakes are actuated (e.g., at least partially depressed, etc.). For example, the brake sensor can be a Hall effect sensor or other suitable sensor. Controller 140 can determine the start and end of a sampling period based on the actuation of the brakes and / or clutch determined by the brake sensor and / or clutch sensor, as will be explained in more detail below.

[0028] The sensor 145 can be real or virtual (i.e., a non-physical sensor that is constructed as program logic in the controller 140 to perform various estimations or determinations). For example, an engine speed sensor can be a real or virtual sensor arranged to measure or otherwise obtain data, values, or information indicative of the speed of the engine 125 (commonly expressed in revolutions per minute). When constructed as a real sensor, the sensor is coupled to the engine and is configured to send a signal indicative of the speed of the engine 125 to the controller 140. When constructed as a virtual sensor, the controller 140 can use at least one input in an algorithm, model, look-up table, etc. to determine or estimate an engine parameter (e.g., power output, etc.). Any sensor 145 described herein can be real or virtual.

[0029] The controller 140 is coupled to the powertrain 120, the aftertreatment system 115, and one or more sensors 145. The controller 140 can be configured to at least partially control the operation of the vehicle 100. Communication between components can occur via any number of wired or wireless connections, as described herein with respect to the communication interface 240. Because the controller 140 is communicatively coupled to Figure 1 the systems and components in the vehicle 100, the controller 140 is configured to receive data (e.g., instructions, commands, signals, values, etc.) from Figure 1 one or more components of the vehicle 100 as shown. This can generally be referred to as in-vehicle information (e.g., data, values, etc.). In-vehicle information represents data that has been determined, obtained, predicted, estimated, and / or collected regarding one or more components in the vehicle 100.

[0030] The controller 140 can be configured to determine the mass of the vehicle 100 based on the energy consumed / utilized per unit mass of work done by the vehicle 100. More specifically, the controller 140 is configured to receive vehicle operation data, such as vehicle power, vehicle speed, vehicle altitude, and power source speed, from one or more sensors 145 (alternatively, from a remote source such as a remote computing system via a network). The controller 140 then uses one or more energy equations based on the vehicle operation data (e.g., vehicle power, vehicle speed, vehicle altitude, and power source speed) to determine the mass of the vehicle.

[0031] Due to Figure 1The components are shown as being embodied in the vehicle, so the controller 140 can be constructed as one or more electronic control units (ECUs). The controller 140 can be independent of at least one of the transmission control unit 160, the exhaust aftertreatment control unit, the powertrain control module, the engine control module, etc., or included in the transmission control unit 160, the exhaust aftertreatment control unit, the powertrain control module, the engine control module. In one embodiment, the depicted components of the controller 140 are combined into a single unit. In another embodiment, one or more components of the controller 140 (or other controllers not depicted, such as the aftertreatment system controller, etc.) can be geographically dispersed throughout the vehicle (e.g., in separate locations in the vehicle). When there are multiple controllers or components, a data link (e.g., a J1939 communication network) or a CAN bus can connect the multiple controllers to provide shared information. The data link (or other communication structure) allows the controller 140 to identify faults, failures, and other information from each connected controller or component. The function and structure of the controller 140 are described in detail in the accompanying drawings. Figure 2 It will be appreciated that other embodiments may include different, fewer, and / or additional components than those described above with respect to vehicle 100. This depiction is intended to be exemplary, as the systems, methods, and apparatus may be applicable to a variety of different system configurations.

[0032] Now refer to Figure 2 , showing an example embodiment according to Figure 1 Schematic diagram of a vehicle 100 having a controller 140 coupled to one or more sensors 145. In some embodiments, the controller 140 controls operation of various vehicle components (eg, the engine 125, the transmission 135, and / or the TCU 160).

[0033] like Figure 2 As shown, the controller 140 includes a processing circuit 210 having a processor 215 and a memory or storage device 220. The controller 140 also includes a mass circuit 230 and a communication interface 240. The controller 140 is constructed or configured to determine the mass of the vehicle 100.

[0034] In one configuration, the quality circuit 230 is embodied as a machine or computer-readable medium that stores instructions and is executable by a processor (e.g., processor 215). As described herein and in other uses, the machine-readable medium facilitates the execution of certain operations to be able to receive and transmit data. For example, the machine-readable medium may provide instructions (e.g., commands, etc.) to obtain data. In this regard, the machine-readable medium may include programmable logic that defines the data acquisition (or data transmission) frequency. The computer-readable medium may include code that can be written in any programming language (including but not limited to Java or similar languages) and any conventional procedural programming language (e.g., the "C" programming language or a similar programming language). The computer-readable program code can be executed on one processor or multiple remote processors. In the latter case, the remote processors can be interconnected by any type of network (e.g., CAN bus, etc.).

[0035] In another configuration, the quality circuit 230 is embodied as one or more hardware units, such as an electronic control unit. Further, the quality circuit 230 can be embodied as one or more circuit components, including but not limited to processing circuits, network interfaces, peripherals, input devices, output devices, sensors, etc. In some embodiments, the quality circuit 230 can take the form of one or more analog circuits, electronic circuits (e.g., integrated circuits (ICs), discrete circuits, system-on-chip (SOC) circuits, microcontrollers, etc.), telecommunication circuits, hybrid circuits, and any other type of "circuit". In this regard, the quality circuit 230a can include any type of component for completing or facilitating the implementation of the operations described herein. For example, the circuits described herein can include one or more transistors, logic gates (e.g., NAND gates, AND gates, NOR gates, OR gates, XOR gates, NOT gates, XNOR gates, etc.), resistors, multiplexers, registers, capacitors, inductors, diodes, wiring, etc. The quality circuit 230 can also include programmable hardware devices, such as field-programmable gate arrays, programmable array logic, programmable logic devices, or the like. The quality circuit 230 can include one or more storage devices for storing instructions executable by the processor of the quality circuit 230. The one or more storage devices and the processor can have definitions that are the same as or similar to the definitions provided below for the storage device 220 and the processor 215. In some hardware unit configurations, the components of the quality circuit 230 can be geographically dispersed at separate locations in the vehicle. Alternatively and as shown, the quality circuit 230 can be embodied in a single unit / enclosure, which is shown as the controller 140.

[0036] In the illustrated example, controller 140 includes processing circuitry 210 having a processor 215 and a storage device 220. The processing circuitry 210 may be constructed or configured to execute or implement the instructions, commands, and / or control processes described herein with respect to quality circuitry 230. The depicted configuration represents quality circuitry 230 as instructions stored in a non-transitory machine or computer-readable medium. However, as noted above, this illustration is not restrictive, as the present disclosure contemplates other embodiments in which quality circuitry 230 is configured as a hardware unit. All such combinations and variations are intended to fall within the scope of the present disclosure.

[0037] Processor 215 may be one or more single-chip or multi-chip processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), programmable logic devices, discrete gate or transistor logic, discrete hardware components, another type of suitable processor, or any combination thereof, designed to perform at least some of the functions described herein. As such, processor 215 may be a microprocessor, a state machine, or other suitable processor. Processor 215 may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively or additionally, one or more processors may be configured to perform or otherwise execute certain operations independently of one or more coprocessors. In other example embodiments, two or more processors may be coupled by a bus to enable independent, parallel, pipelined, or multithreaded instruction execution. All such variations are intended to fall within the scope of the present disclosure.

[0038] Storage device 220 (e.g., memory, storage unit, storage device) may include one or more devices (e.g., RAM, ROM, flash memory, hard disk storage) for storing data and / or computer code for accomplishing or facilitating the various processes, layers, and modules described in the present disclosure. Storage device 220 may be communicatively coupled to processor 215 to provide computer code or instructions to processor 215 for executing at least some of the processes described herein. Additionally, storage device 220 may be or include a tangible, non-transitory volatile memory or non-volatile memory storing instructions executable by the processor to perform various operations. Thus, storage device 220 may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described herein.

[0039] The mass circuit 230 is configured to receive vehicle information / operation data from the sensors 145. The received vehicle information may include, but is not limited to, vehicle speed, vehicle height, vehicle power (which may be represented by engine torque and speed), and / or power source speed. The received vehicle information may be from one or more sensors 145 (e.g., engine speed sensor, torque sensor, etc.) and / or other sources (e.g., a remote computing system providing vehicle height). In other embodiments, the mass circuit 230 is configured to determine at least one of vehicle height, vehicle power output, vehicle speed, or vehicle power source speed, rather than receiving such information from one or more sensors 145 or from one or more remote sources. The mass circuit 230 stores one or more equations, tables, and / or algorithms representing one or more energy balance equations. As described herein, the mass circuit 230 may be configured to determine the mass of the vehicle based on the energy balance equations.

[0040] The mass circuit 230 determines or estimates the mass of the vehicle for one or more sampling periods. A "sampling period" refers to the operation of the vehicle between a first point and a second point, where the vehicle operates continuously in a single gear or setting without actuating the clutch and / or brake pedal. For example, and now referring to Figure 4 , an exemplary sampling period according to one example embodiment is shown. As shown in this example, the sampling period includes a first point (402) where the instantaneous power (P1), instantaneous speed (v1), instantaneous speed (rpm1), and height or altitude (h1) of the vehicle 100 are measured, received, and / or determined. The sampling period also includes a second point (404) where the instantaneous power (P2), instantaneous speed (v2), instantaneous speed (rpm2), and height (h2) of the vehicle 100 are measured, received, and / or determined. The speeds rpm1 and rpm2 at point one and point two may be defined as the speed of the power source. For example, if the power source is an internal combustion engine, then rpm1 and rpm2 represent the speed of the internal combustion engine. As another example, if the power source is an electric motor, then rpm1 and rpm2 represent the speed of the electric motor. Thus, the terms rpm1 and rpm2 are general terms that may be defined as the speed of the power source of the vehicle. The mass circuit 230 determines the mass of the vehicle based on one or more energy balance equations for the sampling period. Example performance energy balance equations (1)-(3) are provided below. In the controller, these equations may be represented as one or more look-up tables to facilitate relatively fast continuous or periodic determination. Work_done=Supplied_energy-losses (1) m veh·(Work_per_ton) = (Supplied_energy - losses) (3) In some embodiments, ΔKE veh is the change in kinetic energy of the vehicle from a first point to a second point. ΔKE veh is a function of the vehicle mass and the vehicle speed between the first and second points. More specifically, In some embodiments, W roll is the work done by the vehicle in rolling from a first point to a second point. W roll is a function of the vehicle mass, the coefficient of rolling friction, the acceleration due to gravity, and the distance traveled from the first point to the second point. In some embodiments, W gravity is the work done on the vehicle to raise it from a height at point 1 to a height at point 2. W gravity is a function of the vehicle mass, the acceleration due to gravity, and the height difference between the first and second points. In some embodiments, W supply is the energy supplied by the power source between the first and second points. W supply can be the sum of the instantaneous power supplied between the first and second points. W acc is the energy lost due to powering vehicle accessories. W acc can be the sum of the instantaneous power supplied to vehicle accessories between the first and second points. In some embodiments, the instantaneous power supplied to vehicle accessories is calibrated. W aero is the energy lost to overcome aerodynamic drag. In some embodiments, W aero is a function of the aerodynamic drag coefficient, the frontal area of the vehicle, the ambient air density, and the vehicle speed. is the energy lost due to the driveline. In some embodiments, is a function of the driveline loss coefficient, the gear ratio, and the vehicle speed. In some embodiments, ΔKE rot is the change in rotational kinetic energy of the power source (e.g., the engine) between the first and second points. In some embodiments, ΔKE rot is a function of the moment of inertia and the power source rotational speed.

[0041] The first energy equation (1) equates the work done by the vehicle 100 to the energy supplied to the vehicle minus the energy lost by the vehicle. The work done by the vehicle, Work_done (in kilojoules (kJ)), can be determined based on P1, v1, h1, P2, v2, and h2 measured, received, and / or otherwise determined for a sampling period. More specifically, in this case, Work_done is considered equal to the change in kinetic energy of the vehicle, ΔKE veh (in kJ), plus the rolling work, W roll(in kJ), and the lifting work done by the vehicle, W gravity (in kJ), as shown in the second energy equation (2). Each term on the left side of Equation (2) is a function of the vehicle mass. Therefore, the vehicle mass can be removed from these terms to determine (work done per ton of mass, Work_per_ton). The energy supplied to the vehicle minus the energy lost by the vehicle is further defined in the second energy equation. More specifically, the supplied energy W supply (in kJ), minus, the accessory losses W acc (in kJ), the aerodynamic losses W aero (in kJ), the driveline losses (in kJ), and the change in kinetic energy of the power source ΔKE rot (in kJ), is equal to Supplied_energy-losses (supplied energy - lost energy). For the third energy equation (3), the work done per ton of mass of the vehicle (regarded as Work_per_ton) can be calculated or determined for this sampling period. It should be understood that these energy balance equations are exemplary. In some embodiments, more or fewer equations are used. Additionally, in some other embodiments, more or fewer variables can be added or removed from the depicted equations (or other equations used). In some embodiments, for each calculation, the work done per ton of mass is stored as an X vector, and Supplied_energy-losses is stored as a Y vector since the vehicle started (e.g., for each ignition switch event or different "start" designation, etc.). In some embodiments, for each new sampling point evaluated, a linear regression analysis through the origin (X = 0, Y = 0) is performed on the X vector containing Work_per_ton and the Y vector containing Supplied_energy-losses using a process such as RMSE (Root Mean Square Error), and the slope obtained is the vehicle mass (m veh ), and this slope is determined based on the values plotted from the X vector and the Y vector. In some embodiments, the standard error of the slope (m veh ) or the minimum number of sampling points can be used to determine whether the mass of the vehicle can be broadcast with a confidence higher than a predefined threshold (i.e., a high confidence threshold).

[0042] These energy balance equations can be used for a predefined amount of sampling periods until a sufficient number of sampling periods (more than a predefined threshold) have been evaluated, summed, and averaged to determine the accurate or relatively accurate mass of the vehicle. In some embodiments, the amount of sampling periods required to calculate the accurate or relatively accurate mass can be a predefined value (e.g., thirty sampling periods, five sampling periods, etc.), predetermined based on the length of the sampling period and based on tests conducted to determine an accurate mass measurement of the vehicle (e.g., within + / - 15% of the actual mass). In another embodiment, the number of sampling periods can be based on the determined mass converging within one or more determined predefined amounts (i.e., a convergence threshold). For example, and with respect to the length of the sampling period, a relatively long sampling period can indicate no shift or brake events that result in a relatively accurate mass estimate over a relatively long period of time. The energy balance equations (4)-(6) outlined below illustrate the determination of the vehicle mass for "n" sampling periods according to some embodiments, where "n" sampling periods is the amount of sampling periods used to determine the accurate mass of the vehicle.

[0043] Now referring to Figure 5 , a determination of the energy balance equation (5) determined for a plurality of sampling periods according to an example embodiment is plotted in graph 500. Graph 500 includes a y-axis that shows the sum of the difference between the supplied energy and the lost energy for "n" sampling periods, i.e., Graph 500 also includes an x-axis that shows the sum of the work done per ton of mass of the vehicle for "n" sampling periods, i.e., The heavy load sequence 502 and the empty load sequence 504 show the total supplied energy minus the lost energy versus the work done per ton of mass of the vehicle. The heavy load sequence 502 shows the energy consumed when the vehicle is heavily loaded, while the empty load sequence 504 shows the energy consumed when the vehicle is empty (or the load is below a predefined threshold). In this example, the example vehicle used for determination is a dump truck (e.g., a tipper truck). In some embodiments, certain combinations of and can be filtered out because these combinations do not satisfy one or more constraints, such as an energy conservation constraint. Specifically, these combinations can be filtered according to an example embodiment by a quadrant filtering technique or process. The quadrant filtering technique is applied to data to remove or modify the data. The quadrant filtering technique refers to a data filtering technique that filters the plotted data based on the quadrant in which the data is plotted. The quadrant filtering technique is explained in more detail below with respect to Figure 6 . Now referring to Figure 6 , a graph 600 is shown that plots data that can be filtered by the quadrant filtering technique described herein according to an example embodiment. Figure 6Depicts FIG. 600, which plots the energy balance equation (5) for multiple sampling periods. The y-axis of FIG. 600 represents the energy supplied minus the energy lost for multiple sampling periods. The x-axis of FIG. 600 represents the work done per ton of vehicle mass for multiple sampling periods. The multiple sampling periods plotted on FIG. 600 are classified according to quadrants (e.g., first quadrant 604, second quadrant 606, third quadrant 608, and fourth quadrant 610). Table 602 describes a quadrant filtering technique based on the quadrant into which each of the multiple sampling periods falls. For example, sampling periods that fall within the second and fourth quadrants 606 and 610 can be eliminated because they do not satisfy constraints such as the law of conservation of energy. More specifically, in the second quadrant 606, although the amount of positive work done per ton of vehicle mass is small, the drive power or losses are higher than the supplied energy. Thus, these samples do not satisfy or may not satisfy the law of conservation of energy. Additionally, in the fourth quadrant 610, although the energy supplied minus the losses is a small positive value, the recorded sudden downhill height (downhill slope exceeding a predetermined amount) or negative kinetic energy work (exceeding a threshold) indicates that the samples collected in this quadrant do not satisfy or may not satisfy the law of conservation of energy. As another example, sampling periods that fall within the first quadrant 604 can be used as is. These sampling periods can be collected under flat or uphill road conditions (road slope within a predefined flat slope threshold or above an uphill slope threshold) because they are considered to satisfy the law of conservation of energy. As yet another example, sampling periods that fall within the third quadrant 608 can also be considered to satisfy the law of conservation of energy. These sampling periods can be collected under long downhill road conditions that result in high resistance and positive power close to zero (below a predefined low power value). However, since the values at these sampling periods are negative, the controller can use their absolute values to determine the mass of the vehicle.

[0044] Now referring to Figure 7 , FIG. 700 shows the energy balance equation (6) for multiple samples according to an example embodiment plotted on a graph. The y-axis of graph 700 represents the sum of the energy supplied minus the sum of the energy lost for n sampling periods, versus the sum of the work done per ton of vehicle mass for n sampling periods, ratio 706. The x-axis represents time. In this example embodiment, ratio 706 is equal to the mass of the vehicle. The heavy load sequence 702 and the empty load sequence 704 depict the mass of the vehicle as a function of time. The heavy load sequence 702 shows the mass of the vehicle when the vehicle is heavily loaded (above a predefined threshold, which can be an absolute value, a percentage of the vehicle, or other metric), while the empty load sequence 704 shows the mass of the vehicle when the vehicle is empty or loaded below a predefined value for a given vehicle.

[0045] The mass circuit 230 is configured to determine when a confidence threshold regarding an estimated mass (which may be determined over multiple sampling periods) is met and, in response to the confidence threshold being met, broadcast or communicate, or cause a broadcast or communication via the communication interface 240, the estimated mass of the vehicle 100. A "confidence threshold" refers to a threshold, level, or other criterion for evaluating the accuracy of the determined or estimated vehicle mass. When the confidence threshold is met or exceeded, the controller 140 (mass circuit 230) determines that the estimated or determined vehicle mass is likely to be accurate or substantially accurate (e.g., within a predefined amount of the actual mass). In some embodiments, the confidence threshold is determined when the number of sampling periods collected and evaluated exceeds a certain threshold. In some embodiments, the confidence threshold is based on the number of sampling periods exceeding a predefined threshold. In some embodiments, the confidence threshold is based on the distance the vehicle 100 travels for a sampling period exceeding a predefined threshold. In some embodiments, the confidence threshold is based on being higher than a predefined threshold. In some embodiments, the confidence threshold is based on being higher than a predefined threshold. When the mass circuit 230 determines that the confidence threshold has been met or exceeded, the communication interface 240 transmits the estimated mass value of the vehicle determined by the mass circuit 230 to one or more vehicle components (e.g., such as the TCU 160) or an external source (e.g., a remote computing system).

[0046] The communication interface 240 may include any combination of wired and / or wireless interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals) for data communication with various systems, devices, or networks configured to enable in-vehicle communication (e.g., between and among vehicle components) and out-of-vehicle communication (e.g., with a remote server). For example, and regarding out-of-vehicle / system communication, the communication interface 240 may include an Ethernet card and port for sending and receiving data via an Ethernet-based communication network, and / or a Wi-Fi transceiver for communicating via a wireless communication network. The communication interface 240 may be configured to communicate via a local area network or a wide area network (e.g., the Internet) and may use various communication protocols (e.g., IP, LON, Bluetooth, ZigBee, radio, cellular, near field communication). In some embodiments, out-of-vehicle communication may be provided by a telematics unit such that the communication interface may not be capable of out-of-vehicle communication.

[0047] The communication interface 240 can facilitate communication between the controller 140 and one or more components of the vehicle 100 (e.g., the engine 125, the transmission 135, the TCU 160, the aftertreatment system 115, the sensors 145, etc.). The communication between the controller 140 and the components of the vehicle 100 can be carried out through any number of wired or wireless connections (e.g., any standard under IEEE). For example, the wired connection can include a serial cable, an optical fiber cable, a CAT5 cable, or any other form of wired connection. In contrast, the wireless connection can include the Internet, Wi-Fi, cellular, Bluetooth, ZigBee, radio, etc. In one embodiment, the controller area network (CAN) bus provides the exchange of signals, information, and / or data. The CAN bus can include any number of wired and wireless connections that provide the exchange of signals, information, and / or data. The CAN bus can include a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0048] In some embodiments, the controller 140 is coupled to a remote computing system 235 (e.g., a server or a cloud-based computing system), where one or more of the processes discussed herein are completed in one or more processors of the remote computing system 235. The remote computing system 235 can be associated with, managed by, owned by, and / or otherwise controlled by a vehicle manufacturer, a vehicle system or component manufacturer (e.g., OEM), a fleet manager of multiple vehicles, an agency (e.g., a government agency for tracking emissions and fleet operations), and / or another entity. The remote computing system 235 can include one or more processing circuits having one or more processors coupled to one or more storage devices, one or more communication interfaces for communicating with one or more vehicles and other computing systems, and other suitable hardware and program logic. The remote computing system 235 can be configured as a backend server system, a cloud computing system, and / or other suitable computing systems. The remote computing system 235 can be configured or constructed to perform various operations.

[0049] Now referring to Figure 3 , a method 300 for calculating, estimating, and / or otherwise determining the vehicle mass according to an example embodiment is shown. In some embodiments, the method 300 can determine the vehicle mass based on one or more energy balance equations without using certain additional sensors, such as a load sensor or a slope sensor. In some embodiments, the method 300 can be executed by the controller 140. In some other embodiments, one or more processes can be executed in combination by the remote computing system 235 and the controller 140.

[0050] Method 300 begins at process 302, where controller 140 detects the start of a sampling period. Controller 140 may receive an indication that the vehicle's transmission has been continuously in a single setting and / or receive an indication of a braking event of the vehicle. The braking event may be non-actuation (not depressed) of the brake pedal (first braking event). The braking event may also be actuation (depression) of the brake pedal (second braking event). As described above with respect to Figure 4 The sampling period is defined as a vehicle event in which the vehicle operates between a first point and a second point, where the vehicle operates continuously in a single transmission setting or gear without actuating the clutch and / or brake pedal. For example, the TCU or controller 140 identifies the presence of a predetermined amount of time (e.g., five seconds) of a setting. Then, controller 140 detects, via a brake and / or clutch sensor, that the brake and / or clutch has not been actuated within the predetermined amount of time (e.g., three seconds, five seconds, seven seconds, etc.). At this time, controller 140 determines the start of the sampling period. Thus, at process 302, controller 140 determines the start of sampling period "i" (where i = 1) at point 1. Based on the determined start of the sampling period, controller 140 determines a first energy value regarding the vehicle based on the indication that the transmission has been continuously in a single setting and the braking event. In some embodiments, controller 140 uses a vehicle speed sensor to receive an indication of the braking event of vehicle 100. The energy value may be based on vehicle operation data of vehicle 100 (e.g., instantaneous power, instantaneous speed, instantaneous rotational speed of the power source (e.g., engine and / or electric motor), and / or instantaneous altitude or elevation), which is shown at Figure 4 point 402. This information may be received from the remote computing system 235 and / or determined via one or more sensors (e.g., engine torque and speed sensors, altitude sensors, etc.). In some embodiments, the first energy value is determined based on data received from at least one of a vehicle speed sensor, an altitude sensor, and a rotational speed sensor of the power source for moving the vehicle.

[0051] At process 304, controller 140 determines the end of the sampling period at point 2 (point 2 of the first sampling period i = 1). The end of the sampling period may be determined based on controller 140 receiving an indication of a change in operation of at least one of the transmission and the braking event (in this case, the second braking event mentioned above; in other embodiments, the indication may be a change in transmission operation; in still other embodiments, the indication may be two data points). At the second point, subsequent vehicle operation data (e.g., instantaneous power of vehicle 100, instantaneous speed, instantaneous rotational speed of the power source (e.g., engine and / or electric motor), and / or instantaneous altitude) is determined, which is shown at Figure 4The end of the medium sampling period 404. These values can be determined similar to the values at the start of the sampling period described above. The second point can be determined at the instant just before the clutch and / or brake pedal is actuated. Alternatively, the second point can be a predetermined amount of time after the first point and without actuation of the brake and / or clutch pedal (and the transmission remains in the same gear or setting).

[0052] In process 306, the controller 140 calculates, estimates, and / or otherwise determines a first energy value for the sampling period "i" (in the first instance, i = 1). The first energy value can be the energy value supplied to the vehicle minus the energy value lost by the vehicle when it moves, as described in the energy balance equation (1). More specifically, in some embodiments, the controller 140 determines the energy value supplied to the vehicle minus the energy value lost by the vehicle based on the instantaneous power, instantaneous speed, instantaneous altitude, and instantaneous rotational speed of the power source measured or otherwise determined at the start and end of the sampling period, this information being received at processes 302 and 304. In process 308, the controller 140 calculates, estimates, and / or otherwise determines a second energy value for the sampling period "i". The second energy value can be the work done per tonne of vehicle mass, as described in the energy balance equation (3). More specifically, in some embodiments, the controller 140 determines the work done per tonne of vehicle mass based on the vehicle operating data measured at the start and end of the sampling period (e.g., instantaneous power, instantaneous speed, instantaneous altitude, and / or instantaneous rotational speed of the power source). The value of "energy supplied to the vehicle minus energy lost" corresponding to each unit of "work done per tonne" can be used to estimate or determine a value regarding the vehicle, such as the mass of the vehicle.

[0053] In process 310, the controller 140 generates a data plot having the first energy value and the second energy value, where the energy value supplied to the vehicle minus the energy value lost by the vehicle is plotted on the y-axis and the work done per tonne of vehicle mass is plotted on the x-axis. In other embodiments, a plot may not be generated; instead, equations may be retrieved and executed by the controller 140 (e.g., via a look-up table and / or other mechanism). Once the data plot or values are generated in some other way, and in some embodiments, the controller 140 applies a filtering process. Specifically, the controller 140 uses a quadrant filtering process on the data values within the plot. As described above, Table 602 describes the quadrant filtering process for each energy value based on the quadrant in which each of the plurality of sampling periods falls. The quadrant filtering technique can reduce or eliminate combinations of the first energy value and the second energy value that do not satisfy the energy conservation constraint.

[0054] In process 312, the controller 140 calculates, estimates, or otherwise determines the mass of the vehicle based on the sum of the filtered first energy values and the sum of the filtered second energy values as described above with respect to equations (4)-(6). In some embodiments, the first and second energy values are not filtered. In process 314, the controller 140 determines whether a confidence threshold has been met. As described above, the confidence threshold refers to a criterion, level, threshold, or other metric used to evaluate the accuracy of the determined mass. In some embodiments, the confidence threshold is based on the amount of the sampling period. In some embodiments, the confidence threshold is based on the distance traveled by the vehicle 100 for the sampling period. The greater the distance traveled for the sampling period, the more sampling periods there are, which may result in a relatively more accurate determination. In some embodiments, the confidence threshold is based on being higher than a certain predefined threshold. In some embodiments, the confidence threshold is based on being higher than a certain predefined threshold. If the confidence threshold is not met, the method proceeds to process 316, where "i" is incremented and another sampling period is evaluated starting from process 302 (i = 2, i = 3, etc.). If the confidence threshold has been met, the method proceeds to process 318. In process 318, the controller 140 broadcasts the calculated mass of the vehicle 100 to, for example, the remote computing system 235. After broadcasting the calculated or determined mass, the method proceeds to process 316, and the sampling period is incremented at process 302 and the calculated mass is updated as more data is collected. In this way, the accuracy of the mass determination can be improved over time.

[0055] In process 320, once a reset condition is met, the controller 140 resets the vehicle mass as well as the sum of the first energy value and the second energy value. As described above, processes 302 - 318 can be repeated multiple times until a confidence threshold is met, thereby generating multiple first energy values and second energy values. Once the confidence threshold is met, the determined vehicle mass is kept updated and broadcast at processes 314 - 318. The vehicle mass as well as the sum of the first energy value and the second energy value can be reset at process 320. One or more of a plurality of reset conditions can be used. Example reset conditions include, but are not limited to, any one or more of the following: a period during which the vehicle engine is off is longer than a certain predefined time threshold (e.g., based on a timer implemented within the controller 140); a period during which the vehicle engine is idling is longer than a certain predefined time threshold; the vehicle is stationary for a period longer than a certain predefined threshold (e.g., based on an accelerometer located at or near the final drive to detect vehicle movement, based on GPS coordinates of the vehicle indicating no movement, etc.); and / or, the difference in the high-confidence vehicle estimated mass before and after one of the vehicle engine being off, the vehicle engine idling, and / or the vehicle being stationary is greater than a mass threshold. The last condition means that, before and after the moment when at least one of the following conditions is met, the difference in the value of the vehicle (e.g., estimated mass) is greater than a threshold. The conditions include: the engine-off time is greater than a first time threshold, the engine-idling time is longer than a second time threshold, and / or the period during which the vehicle is stationary exceeds a third time threshold. Thus, if the high-confidence vehicle mass estimate decreases or increases by more than a threshold amount after (e.g., before and after) any of the above conditions, the indication itself can be a reset condition. After detecting, determining, and / or otherwise receiving a reset condition, the process can reset to estimate a new vehicle mass at process 302.

[0056] In some embodiments, the controller 140 may control one or more components of the vehicle based on an estimated mass of the vehicle determined by the controller. For example, the controller 140 may perform one or more gearshifts based on the estimated mass in order to account for the mass load and improve fuel economy. As an example, a higher mass value may trigger the use of a transmission shift schedule different from that of a lower mass value, where the transmission shift schedule may be configured to improve fuel economy. The gearshift may be performed automatically (e.g., for an automatic transmission) and / or an indication may be provided via an input / output device (e.g., a display) to show the change to the operator (for an automatic transmission) or prompt the operator to make a determined gearshift (e.g., for a manual or automated manual transmission). As another example, the controller 140 may broadcast the estimated mass of the vehicle to the remote computing system 235. The remote computing system 235 may use the estimated mass of the vehicle to monitor vehicles in a fleet, determine vehicle usage patterns, and / or determine maintenance intervals for one or more vehicles in the fleet. The remote computing may also use the estimated mass of the vehicle to command a platooning arrangement of the vehicle relative to other vehicles in the fleet in order to improve fuel economy and achieve fleet operation goals. As another example, the controller 140 may control the torque of the engine 125 based on the estimated mass of the vehicle in order to improve fuel economy. As another example, the controller 140 may control the vehicle to limit the maximum acceleration based on the estimated mass of the vehicle in order to improve fuel economy.

[0057] As used herein, the terms “about,” “approximately,” “substantially,” and similar terms are intended to have a broad meaning in harmony with the ordinary and accepted usage by those of ordinary skill in the art to which the subject matter of this disclosure pertains. Those of ordinary skill in the art who review this disclosure will understand that these terms are intended to allow the description of certain features described and claimed without restricting the scope of these features to the precise numerical ranges provided. Accordingly, these terms should be interpreted to indicate that non-material or insubstantial modifications or variations of the subject matter described and claimed are considered to be within the scope of the disclosure as set forth in the appended claims.

[0058] It should be noted that the term “exemplary” and its variants as used herein to describe various embodiments are intended to indicate that such embodiments are possible examples, representations, or illustrations of possible embodiments (and such terms are not intended to imply that such embodiments are necessarily exceptional or superlative examples).

[0059] As used herein, the term "coupled" and its variants refer to the connection of two components to each other, either directly or indirectly. Such connection can be stationary (e.g., permanent or fixed) or movable (e.g., removable or releasable). Such connection can be achieved by directly coupling the two components to each other, by using one or more separate intermediate components to couple the two components to each other, or by using an intermediate component integrally formed with one of the two components to couple the two components to each other. If "coupled" or its variants are modified by additional terms (e.g., directly coupled), the general definition of "coupled" provided above is modified by the ordinary meaning of the additional term (e.g., "directly coupled" means the connection of two components without any separate intermediate component), resulting in a narrower definition than the general definition of "coupled" provided above. Such coupling can be mechanical, electrical, or fluidic. For example, circuit A being "communicatively coupled" to circuit B can mean that circuit A communicates directly with circuit B (i.e., without an intermediary) or indirectly with circuit B (e.g., through one or more intermediaries).

[0060] The references in this document to element positions (e.g., "top", "bottom", "above", "below") are only for describing the orientation of various elements in the drawings. It should be noted that the orientation of various elements can be different according to other exemplary embodiments, and such variations are intended to be covered by this disclosure.

[0061] It should be understood that the controller 140 can include any number of circuits for performing the functions described herein. Additional circuits with additional functions can also be included. Furthermore, the controller 140 can further control other activities beyond the scope of this disclosure.

[0062] As described above, in one configuration, a "circuit" can be implemented in a machine-readable medium storing instructions for execution by various types of processors (e.g., Figure 2 processor 215). For example, the executable code can include computer instructions of one or more physical or logical blocks, which can be organized, for example, as objects, procedures, or functions. However, the executable files do not have to be physically located together, but can include different instructions stored in different locations, which, when logically connected together, constitute a circuit and achieve the purpose of the circuit. In fact, the circuit of the computer-readable program code can be a single instruction or many instructions, and can even be distributed over several different code segments, among different programs, and across several storage devices. Similarly, the operational data can be identified and shown within the circuit, and can be embodied in any suitable form and organized within any suitable type of data structure. The operational data can be collected as a single data set, or can be distributed over different locations, including over different storage devices.

[0063] Although the term "processor" was briefly defined above, the terms "processor" and "processing circuit" are intended to be interpreted broadly. In this regard, and as noted above, a "processor" can be implemented as one or more processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), or other suitable electronic data processing components configured to execute instructions provided by a memory. One or more processors can take the form of a single-core processor, a multi-core processor (e.g., a dual-core processor, a triple-core processor, a quad-core processor, etc.), a microprocessor, and the like. In some embodiments, one or more processors can be external to the device, e.g., one or more processors can be remote processors (e.g., cloud-based processors). Alternatively or additionally, one or more processors can be internal and / or local to the device. In this regard, a given circuit or its components can be arranged locally (e.g., as part of a local server, a local computing system, etc.) or remotely (e.g., as part of a remote server such as a cloud-based server). To this end, "circuitry" as described herein can include components distributed across one or more locations.

[0064] Embodiments within the scope of the present disclosure include program products comprising a computer or machine-readable medium for carrying or storing computer or machine-executable instructions or data structures. Such machine-readable media can be any available media accessible by a computer. A computer-readable medium can be a tangible computer-readable storage medium that stores computer-readable program code. The computer-readable storage medium can be, by way of example but not limitation, an electronic, magnetic, optical, electromagnetic, infrared, holographic, micromechanical, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer-readable medium can include, but are not limited to, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), an optical storage device, a magnetic storage device, a holographic storage medium, a micromechanical storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium can be any tangible medium that can contain and / or store computer-readable program code for use by and / or in connection with an instruction execution system, apparatus, or device. Machine-executable instructions include, for example, instructions and data that cause a computer or processor to perform a certain function or a set of functions.

[0065] A computer-readable medium can also be a computer-readable signal medium. A computer-readable signal medium can include a propagated data signal in which computer-readable program code is embodied, for example, in a baseband or as part of a carrier wave. Such a propagated signal can take any of a variety of forms, including but not limited to electrical, electromagnetic, magnetic, optical, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium that is not a computer-readable storage medium and that can communicate, propagate, or transport computer-readable program code for use by or connection to an instruction execution system, apparatus, or device. The computer-readable program code embodied on the computer-readable signal medium can be transmitted using any appropriate medium, including but not limited to wireless, wireline, fiber optic cable, radio frequency (RF), etc., or any suitable combination of the foregoing.

[0066] In one embodiment, the computer-readable medium can include a combination of one or more computer-readable storage media and one or more computer-readable signal media. For example, the computer-readable program code can be propagated as an electromagnetic signal through a fiber optic cable for execution by a processor and stored on a RAM storage device for execution by the processor.

[0067] The computer-readable program code for performing the operations of aspects of the present disclosure can be written in any combination of one or more other programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, or the like, and conventional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program code can be executed entirely on the user's computer, partially on the user's computer, as a stand-alone computer-readable package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network connection, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0068] The program code can also be stored in a computer-readable medium that can direct a computer, other programmable data processing apparatus, or other device to operate in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions that implement the functions / actions specified in one or more blocks of the schematic flowchart and / or schematic block diagram.

[0069] Although the accompanying drawings and description may show a particular order of method steps, unless otherwise specified above, the order of such steps may differ from that depicted and described. In addition, unless otherwise specified above, two or more steps may be performed simultaneously or partially simultaneously. Similarly, the software implementation of the described method may be accomplished by standard programming techniques, rule-based logic, and other logics to effect various connection steps, processing steps, comparison steps, and decision steps.

[0070] It is important to note that the construction and arrangement of the devices and systems as shown in the various exemplary embodiments are merely illustrative. In addition, any element disclosed in one embodiment may be combined with or utilized in any other embodiment disclosed herein.

Claims

1. A method, characterized in that, include: receiving an indication that a transmission of the vehicle is continuously in a single setting; receiving an indication of a braking event of the vehicle; determining a first energy value about the vehicle based on the transmission remaining in a single setting and an indication of the braking event; receiving an indication of a change in operation of at least one of the transmission and the braking event; determining a second energy value for the vehicle based on an indication of a change in operation of at least one of the transmission and the braking event; determining a value related to the vehicle based on the first energy value and the second energy value; as well as Operation of a component of the vehicle is controlled based on the determined value.

2. The method according to claim 1, characterized in that: The determined value is an estimated mass of the vehicle.

3. The method according to claim 1, wherein The first energy value indicates an amount of energy supplied to the vehicle during movement of the vehicle minus an amount of energy lost by the vehicle, and wherein the second energy value indicates work done per ton of mass of the vehicle during movement of the vehicle.

4. The method according to claim 3, characterized in that: The first energy value is based on at least one of the following during the movement of the vehicle: the power supplied by the power source, the vehicle speed, and the change in the rotational speed of the power source; and wherein the second energy value is based on at least one of the following during the movement of the vehicle: the change in vehicle speed, the distance traveled, and the change in altitude.

5. The method according to claim 4, characterized in that Also included is filtering the first energy value and the second energy value based on an energy conservation constraint.

6. The method according to claim 1, characterized in that, The determined value is an estimated mass of the vehicle, and wherein the determined value is determined without the use of a load sensor.

7. The method according to claim 1, wherein Controlling the operation of the components includes controlling torque of the transmission or a power source of the vehicle.

8. The method according to claim 1, wherein The determined value is based on a sum of a plurality of first energy values and a sum of a plurality of second energy values for a plurality of samples collected since a reset condition was met.

9. The method according to claim 8, wherein The reset condition is at least one of an engine off time greater than a first time threshold, an engine idle time longer than a second time threshold, and a time when the vehicle is in a stationary state exceeding a third time threshold.

10. The method according to claim 9, wherein The reset condition is that the difference between the values about the vehicle is greater than a threshold at a moment before and a moment after at least one of the engine shutdown time being greater than the first time threshold, the engine idle time being longer than the second time threshold, and the time the vehicle is in a stationary state exceeding the third time threshold.

11. A system, characterized in that, include: A controller comprising one or more processors and one or more storage devices, wherein the one or more storage devices store instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: receiving an indication that a transmission of the vehicle is continuously in a single setting; receiving an indication of a braking event of the vehicle; determining a first energy value about the vehicle based on the transmission remaining in a single setting and an indication of the braking event; receiving an indication of a change in operation of at least one of the transmission and the braking event; determining a second energy value for the vehicle based on an indication of a change in operation of at least one of the transmission and the braking event; determining a value related to the vehicle based on the first energy value and the second energy value; as well as Operation of a component of the vehicle is controlled based on the determined value.

12. The system according to claim 11, wherein The first energy value indicates an amount of energy supplied to the vehicle during movement of the vehicle minus an amount of energy lost by the vehicle, and wherein the second energy value indicates work done per ton of mass of the vehicle during movement of the vehicle.

13. The system according to claim 12, wherein The first energy value is based on at least one of a change in power supplied by a power source, a vehicle speed, and a rotational speed of the power source during movement of the vehicle, and wherein the second energy value is based on at least one of a change in vehicle speed, a distance traveled, and a change in altitude during movement of the vehicle.

14. The system according to claim 13, wherein The instructions, when executed by the one or more processors, further cause the one or more processors to perform operations comprising filtering the first energy value and the second energy value based on an energy conservation constraint.

15. The system according to claim 11, wherein The determined value is an estimated mass of the vehicle, and wherein the determined value is determined without the use of a load sensor.

16. The system according to claim 11, wherein: Controlling the operation of the components includes controlling torque of the transmission or a power source of the vehicle.

17. The system according to claim 11, wherein: The determined value is based on a sum of a plurality of first energy values and a sum of a plurality of second energy values for a plurality of samples collected since a reset condition was met.

18. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors of a processing circuit, cause the one or more processors to perform operations comprising: receiving an indication that a transmission of the vehicle is continuously in a single setting; receiving an indication of a braking event of the vehicle; determining a first energy value about the vehicle based on the transmission remaining in a single setting and an indication of the braking event; receiving an indication of a change in operation of at least one of the transmission and the braking event; determining a second energy value for the vehicle based on an indication of a change in operation of at least one of the transmission and the braking event; determining a value related to the vehicle based on the first energy value and the second energy value; as well as Operation of a component of the vehicle is controlled based on the determined value.

19. The non-transitory computer-readable medium according to claim 18, wherein The first energy value indicates an amount of energy supplied to the vehicle during movement of the vehicle minus an amount of energy lost by the vehicle, and wherein the second energy value indicates work done per ton of mass of the vehicle during movement of the vehicle.

20. The non-transitory computer-readable medium according to claim 19, wherein The first energy value is based on at least one of a change in power supplied by a power source, a vehicle speed, and a rotational speed of the power source during movement of the vehicle, and wherein the second energy value is based on at least one of a change in vehicle speed, a distance traveled, and a change in altitude during movement of the vehicle.