METHODS AND SYSTEMS FOR DETERMINING VEHICLE FUEL LEVEL
20260071907 ยท 2026-03-12
Inventors
- Justin Russell Ballaro (Hamilton, CA)
- Young Seok Shin (Kitchener, CA)
- Nadia Sophia Stefopulos (Scarborough, CA)
Cpc classification
B60K2015/03223
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
Systems, methods, devices, and models determining fuel level in vehicles are described. Fuel tank capacity often extends beyond what can be measured by a fuel level sensor. Herein, fuel level data is augmented with fuel consumption data or fuel consumption rate to estimate a fuel level in a fuel tank when a fuel level sensor reads 100%. Fuel consumed until the fuel level sensor reads less than 100% can be added to measurable capacity of the tank to determine an initial volume of fuel in the tank.
Claims
1. A method comprising: collecting, by a telematics device positioned at a vehicle, operation data representing kinetic operation of the vehicle from at least one operation sensor at the vehicle; collecting, by the telematics device, raw fuel level data indicating a fuel level in a fuel tank from the vehicle from a fuel sensor in communication with the telematics device; generating, by a first at least one processor of the telematics device, a fuel level data subset comprising only data points of the raw fuel level data for which corresponding operation data is within the stability criteria; receiving, by a management device remote from the vehicle, the fuel level data subset, the fuel level data subset indicating a first fuel level f.sub.I(t.sub.1e) for a fuel tank of the vehicle as measured by the fuel level sensor at an end t.sub.1e of a first period t.sub.1; if the first fuel level f.sub.I(t.sub.1e) is less than 100%, determining, by a second at least one processor of the management device, a final fuel volume V(t.sub.1e) for the first period t.sub.1 as fuel volume corresponding to the first fuel level f.sub.I(t.sub.1e); and if the first fuel level f.sub.I(t.sub.1e) is 100%: accessing a second fuel level f.sub.I(t.sub.2) for the fuel tank of the vehicle indicated in the fuel level data subset as measured by the fuel level sensor from a start t.sub.2s of a second period t.sub.2, the start t.sub.2s of the second period t.sub.2 being after an end t.sub.1e of the first period t.sub.1; after the second fuel level f.sub.I(t.sub.2) falls below 100% at a time t.sub.<100 during the second period t.sub.2, determining, by the second at least one processor, a fuel adjustment value f.sub.A as fuel consumed between start t.sub.2s of the second period t.sub.2 and the time t.sub.<100, based on a fuel consumption rate of the vehicle; determining, by the second at least one processor, an adjusted fuel volume V.sub.A as a measurable capacity V.sub.max of the fuel tank plus the fuel adjustment value f.sub.A; and determining, by the second at least one processor, the final fuel volume V(t.sub.1e) for the first period t.sub.1 as the adjusted fuel volume V.sub.A.
2. The method of claim 1, further comprising: receiving, by the telematics device, fuel consumption data indicating the fuel consumption rate of the vehicle during the second period.
3. The method of claim 1, further comprising: accessing an indication from the fuel level data subset of initial fuel volume V(t.sub.1s) for start t.sub.1s of the first period t.sub.1; determining, by the second at least one processor, a difference D between the initial fuel volume V(t.sub.1s) and the final fuel volume V(t.sub.1e); and comparing, by the second at least one processor, the difference D to a threshold; and if the difference D exceeds the threshold, sending an alert to a system operator indicating the difference D exceeds the threshold.
4. The method of claim 1, further comprising: accessing, by the management device, the fuel consumption rate for the vehicle as a stored nominal fuel consumption rate.
5. The method of claim 1, further comprising, prior to the first period: accessing, by the management device, historic fuel level data for the vehicle as collected by the fuel sensor; accessing, by the management device, operational data for the vehicle as collected by a telematics device installed at the vehicle; and determining, by the second at least one processor, the fuel consumption rate as a dynamic fuel consumption rate based on changes in fuel level as indicated in the historic fuel level data, associated with the operational data.
6. The method of claim 5, wherein: the operational data for the vehicle comprises location data for the vehicle; and determining, by the second at least one processor, the fuel consumption rate as a dynamic fuel consumption rate based on changes in fuel level as indicated in the historic fuel level data, associated with the operational data, comprises: determining distance travelled by the vehicle over each interval of a plurality of intervals based on the location data; determining fuel consumed for each interval of the plurality of intervals based on a respective difference in fuel level represented in the historic fuel level data over each interval; and determining the fuel consumption rate as a fuel consumption per distance travelled rate based on correlation between the distance travelled and the fuel consumed for each interval of the plurality of intervals.
7. The method of claim 5, wherein: the operational data comprises speed data for the vehicle; and determining, by the second at least one processor, the fuel consumption rate as a dynamic fuel consumption rate based on changes in fuel level as indicated in the historic fuel level data, associated with the operational data, comprises: determining speed of the vehicle over each interval of a plurality of intervals; determining fuel consumed for each interval of the plurality of intervals based on a respective difference in fuel level represented in the historic fuel level data over each interval; and determining the fuel consumption rate as a speed-dependent fuel consumption per time rate based on correlation between vehicle speed, fuel consumed, and interval length for each interval of the plurality of intervals.
8. The method of claim 1, further comprising: capturing, by the fuel level sensor at the vehicle, the raw fuel level data; simplify, by the first at least one processor, the fuel level data subset by selectively filtering data points of the fuel level data subset; and transmitting, by a communication interface at the vehicle, the fuel level data subset as simplified to the management device.
9. The method of claim 8, wherein simplifying, by the first at least one processor, the fuel level data subset by selectively filtering data points of the fuel level data subset comprises: identifying select data points from the raw fuel level data for inclusion in the fuel level data subset as simplified, based on differences between the select data points and iteratively-defined reference lines through portions of the raw fuel level data; and compiling the select data points as the fuel level data subset as simplified, excluding data points which are not identified as select data points.
10. The method of claim 9, further comprising: identifying, by the first at least one processor, a threshold data point based on when the fuel level data subset indicates that fuel level of the vehicle has dropped below 100%; and including, by the first at least one processor, the data corresponding to the threshold data point in the fuel level data subset as simplified.
11. The method of claim 1, wherein: collecting, by the telematics device, operation data representing kinetic operation of the vehicle comprises collecting operation data including at least one of acceleration data, speed data, or engine rotation speed data for the vehicle; and the stability criteria comprise at least one criteria selected from a list of criteria consisting of: vehicle acceleration being within an acceleration magnitude threshold; vehicle acceleration being within a threshold difference from a mean or median vehicle acceleration; and vehicle movement speed being within a movement speed-change threshold; vehicle movement speed being within a threshold difference from a mean or median vehicle movement speed; and engine rotation speed being within an engine rotation speed-change threshold; engine rotation speed being within a threshold difference from a mean or median engine rotation speed; and engine rotation speed being within a coefficient of variation threshold.
12. A system comprising: a telematics device positioned at the vehicle and in communication with a fuel sensor installed at the vehicle, the telematics device including: a first communication interface; a first at least one processor; and a first at least one non-transitory processor-readable storage medium, the first at least one non-transitory processor-readable storage medium storing first processor-executable instructions which, when executed by the first at least one processor cause the telematics device to: collect, by the telematics device, operation data representing kinetic operation of the vehicle from at least one operation sensor at the vehicle; collect, by the telematics device, raw fuel level data indicating a fuel level in a fuel tank of the vehicle from the fuel sensor; generate, by the at least one processor, a fuel level data subset comprising only data points of the raw fuel level data for which corresponding operation data is within the stability criteria; and transmit, by the first communication interface, the fuel level data subset; and a management device remote from the vehicle, the management device comprising: a second communication interface; a second at least one processor; a second at least one non-transitory processor-readable storage medium, the second at least one non-transitory processor-readable storage medium storing second processor-executable instructions which, when executed by the second at least one processor cause the management device to: receive, by the second communication interface, the fuel level data subset, the fuel level data subset indicating a first fuel level f.sub.I(t.sub.1e) for a fuel tank of the vehicle as measured by the fuel level sensor at an end t.sub.1e of a first period t.sub.1; if the first fuel level f.sub.I (t.sub.1e) is less than 100%, determine, by the second at least one processor, a final fuel volume V(t.sub.1e) for the first period t.sub.1 as fuel volume corresponding to the first fuel level f.sub.I(t.sub.1e); and if the first fuel level f.sub.I(t.sub.1e) is 100%: access a second fuel level f.sub.I(t.sub.2) for the fuel tank of the vehicle indicated in the fuel level data subset as measured by the fuel level sensor from a start t.sub.2s of a second period t.sub.2, the start t.sub.2s of the second period t.sub.2 being after an end t.sub.1e of the first period t.sub.1; after the second fuel level f.sub.I(t.sub.2) falls below 100% at a time t.sub.<100 during the second period t.sub.2, determine, by the second at least one processor, a fuel adjustment value f.sub.A as fuel consumed between start t.sub.2s of the second period t.sub.2 and the time t.sub.<100, based on a fuel consumption rate of the vehicle; determine, by the second at least one processor, an adjusted fuel volume V.sub.A as a measurable capacity V.sub.max of the fuel tank plus the fuel adjustment value f.sub.A; and determine, by the second at least one processor, the final fuel volume V(t.sub.1e) for the first period t.sub.1 as the adjusted fuel volume V.sub.A.
13. The system of claim 12 wherein the first processor-executable instructions further cause the telematics device to: receive fuel consumption data from the vehicle indicating the fuel consumption rate of the vehicle during the second period.
14. The system of claim 12, wherein the second processor-executable instructions further cause the management device to: an indication from the fuel level data subset of initial fuel volume V(t.sub.1s) for start t.sub.1s of the first period t.sub.1; determine, by the second at least one processor, a difference D between the initial fuel volume V(t.sub.1s) and the final fuel volume V(t.sub.1e); compare, by the second at least one processor, the difference D to a threshold; and if the difference D exceeds the threshold, send an alert to a system operator indicating the difference D exceeds the threshold.
15. The system of claim 12, wherein the second processor-executable instructions further cause the management device to, prior to the first period: access historic fuel level data for the vehicle as collected by the fuel sensor; access historical operational data for the vehicle as collected by the at least one operation sensor; and determine, by the second at least one processor, the fuel consumption rate as a dynamic fuel consumption rate based on changes in fuel level as indicated in the historic fuel level data, associated with the historical operational data.
16. The system of claim 15, wherein: the operational data for the vehicle comprises location data for the vehicle; and the second processor-executable instructions which cause the second at least one processor to determine the fuel consumption rate as a dynamic fuel consumption rate based on changes in fuel level as indicated in the historic fuel level data, associated with the operational data, cause the second at least one processor to: determine distance travelled by the vehicle over each interval of a plurality of intervals based on the location data; determine fuel consumed for each interval of the plurality of intervals based on a respective difference in fuel level represented in the historic fuel level data over each interval; and determine the fuel consumption rate as a fuel consumption per distance travelled rate based on correlation between the distance travelled and the fuel consumed for each interval of the plurality of intervals.
17. The system of claim 15, wherein: the operational data comprises speed data for the vehicle; and the second processor-executable instructions which cause the second at least one processor to determine the fuel consumption rate as a dynamic fuel consumption rate based on changes in fuel level as indicated in the historic fuel level data, associated with the operational data, cause the second at least one processor to: determine speed of the vehicle over each interval of a plurality of intervals; determine fuel consumed for each interval of the plurality of intervals based on a respective difference in fuel level represented in the historic fuel level data over each interval; and determine the fuel consumption rate as a speed-dependent fuel consumption per time rate based on correlation between vehicle speed, fuel consumed, and interval length for each interval of the plurality of intervals.
18. The system of claim 12, further comprising the fuel sensor at the vehicle, wherein the first processor-executable instructions further cause the telematics device to: capture, by the fuel level sensor at the vehicle, the raw fuel level data; and simplifying, by the first at least one processor, the fuel level data subset by selectively filtering data points of the fuel level data subset; wherein the first processor-executable instructions which cause the first communication interface to transmit the fuel level data subset cause the first communication interface to transmit the fuel level data subset as simplified.
19. The system of claim 18, wherein the first processor-executable instructions which cause the first at least one processor to simplify the fuel level data subset by selectively filtering data points of the fuel level data subset cause the first at least one processor to: identify select data points from the fuel level data subset for inclusion in the fuel level data subset as simplified, based on differences between the select data points and iteratively-defined reference lines through portions of the fuel level data subset; and compile the select data points as the fuel level data as simplified, excluding data points which are not identified as select data points.
20. The system of claim 19, wherein the first processor-executable instructions further cause the telematics device to: identify, by the first at least one processor, a threshold data point based on when the fuel level data subset indicates that fuel level of the vehicle has dropped below 100%; and include, by the first at least one processor, the data corresponding to the threshold data point in the fuel level data subset as simplified.
21. The system of claim 12, wherein: the first processor executable instructions which cause the telematics device to collect operation data representing kinetic operation of the vehicle, cause the telematics device to collect operation data including at least one of acceleration data, speed data, or engine rotation speed data; and the stability criteria comprise at least one criteria selected from a list of criteria consisting of: vehicle acceleration being within an acceleration magnitude threshold; vehicle acceleration being within a threshold difference from a mean or median vehicle acceleration; and vehicle movement speed being within a movement speed-change threshold; vehicle movement speed being within a threshold difference from a mean or median vehicle movement speed; and engine rotation speed being within an engine rotation speed-change threshold; engine rotation speed being within a threshold difference from a mean or median engine rotation speed; and engine rotation speed being within a coefficient of variation threshold.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Exemplary non-limiting embodiments are described with reference to the accompanying drawings in which:
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
DETAILED DESCRIPTION
[0040] The present disclosure details systems, devices, methods, and models for determining fuel level of vehicles. Accurate fuel level information for vehicles helps to effectively manage the vehicles, particularly in a fleet setting. As a non-limiting example, fuel level information can be used for a vehicle rental fleet, to determine whether a vehicle has been refueled on return, or to determine a difference in fuel level to charge, credit, or debit a user. It is desirable for accurate fuel level information to be made available to a management device which manages vehicles in the fleet, such as a central management server.
[0041]
[0042] In the illustrated example, management device 110 is shown as communicating with vehicle devices in four vehicles 120a, 120b, 120c, and 120d (collectively referred to as vehicles 120). However, management device 110 could communicate with vehicle devices in any appropriate number of vehicles, such as one vehicle, dozens of vehicles, hundreds of vehicles, thousands of vehicles, or even more vehicles. In some exemplary implementations, management device 110 is a telematics server, which collects and stores telematics data for a fleet of vehicles. In other exemplary implementations, management device 110 is a location-specific device, which manages vehicles for a particular location (or vehicles for a plurality of locations). In any of these examples, management device 110 can be used to monitor fuel level for vehicles.
[0043] Vehicle 120a includes at least one processor 124a, at least one non-transitory processor-readable storage medium 126a, and a communication interface 128a. Together, the at least one processor 124a, the at least one non-transitory processor-readable storage medium 126a, and the communication interface 128a can be referred to as vehicle device 122a.
[0044] Vehicle 120b includes at least one processor 124b, at least one non-transitory processor-readable storage medium 126b, and a communication interface 128b. Together, the at least one processor 124b, the at least one non-transitory processor-readable storage medium 126b, and the communication interface 128b can be referred to as vehicle device 122b.
[0045] Vehicle 120c includes at least one processor 124c, at least one non-transitory processor-readable storage medium 126c, and a communication interface 128c. Together, the at least one processor 124c, the at least one non-transitory processor-readable storage medium 126c, and the communication interface 128c can be referred to as vehicle device 122c.
[0046] Vehicle 120d includes at least one processor 124d, at least one non-transitory processor-readable storage medium 126d, and a communication interface 128d. Together, the at least one processor 124d, the at least one non-transitory processor-readable storage medium 126d, and the communication interface 128d can be referred to as vehicle device 122d.
[0047] Collectively, vehicle 120a, vehicle 120b, vehicle 120c, and vehicle 120d can be referred to as vehicles 120. Collectively, the at least one processor 124a, the at least one processor 124b, the at least one processor 124c, and the at least one processor 124d can be referred to as processors 124. Collectively, the at least one non-transitory processor-readable storage medium 126a, the at least one non-transitory processor-readable storage medium 126b, the at least one non-transitory processor-readable storage medium 126c, and the at least one non-transitory processor-readable storage medium 126d can be referred to as non-transitory processor-readable storage mediums 126. Collectively, communication interface 128a, communication interface 128b, communication interface 128c, and communication interface 128d can be referred to as communication interfaces 128. Collectively, vehicle device 122a, vehicle device 122b, vehicle device 122c, and vehicle device 122d can be referred to as vehicle devices 122.
[0048] Any of the communication interfaces 128 can be a wired interface or a wireless interface, or a vehicle device can include both a wired communication interface and a wireless communication interface.
[0049] Each of vehicle devices 122 can be a monolithically packaged device (i.e. a device contained in a single housing) which is installed in a respective vehicle. For example, any of vehicle devices 122 could be a telematics device, which plugs into the respective vehicle (e.g. at the OBDII port). Such telematics devices can gather vehicle information from the vehicle, from sensors built into the telematics device itself, and communicate said information to management devices such as management device 110. An exemplary telematics device is discussed later with reference to
[0050] Management device 110 can communicate with vehicle devices 122 over a communication network, which may include one or more computing systems and may be any suitable combination of networks or portions thereof to facilitate communication between network components. Some examples of networks include, Wide Area Networks (WANs), Local Area Networks (LANs), Wireless Wide Area Networks (WWANs), data networks, cellular networks, voice networks, among other networks, which may be wired and/or wireless. The communication network may operate according to one or more communication protocols, such as, General Packet Radio Service (GPRS), Universal Mobile Telecommunications Service (UMTS), GSM, Enhanced Data Rates for GSM Evolution (EDGE), LTE, CDMA, LPWAN, Wi-Fi, Bluetooth, Ethernet, HTTP/S, TCP, and CoAP/DTLS, or other suitable protocol. The communication network may take other forms as well.
[0051]
[0052] In the illustrated example, device 130 communicates with management device 110 via communication interfaces 118 and 138. Such communication can be direct or indirect (e.g. over the internet or any other network). Device 130 can perform processing and provide data to management device 110, which management device 110 in turn uses to manage at least one fleet or group of vehicles (e.g. vehicles 120). As an example, management device 110 may be owned by one entity, which manages a fleet of vehicles. Device 130 may belong to another entity, which provides services to many fleets of vehicles. As a result, device 130 may have access to more vehicle data (i.e. data from a larger quantity of vehicles) compared to management device 110. In an exemplary use case, device 130 may generate metrics, models, or profiles for at least one plurality of vehicles, based on a large amount of vehicle data available to device 130. In this exemplary use case, device 130 communicates such metrics, models, or profiles to management device 110, which management device 110 then uses to perform analysis, assessment, or prediction for similar vehicles in a fleet managed by management device 110 (e.g. vehicles 120). In this way, management device 110 can assess models for vehicles based on a large amount of statistical data that management device 110 itself does not have access to. As another example, management device 110 may be a management device for a specific location (e.g. vehicle lot, warehouse, or hub), such that management device 110 manages vehicles which operate out of said location. In such an example, device 130 may be a fleet management device, which manages vehicles in a fleet across multiple locations (e.g. all locations, or a subset of locations).
[0053]
[0054] Sensor interface 210 is shown as including a communication interface 212 configured to interface with matching port 202 in a vehicle (such as any of vehicles 120 in
[0055] Sensor interface 210 is also shown as including at least one sensor 214. In the illustrated example, two sensors 214 are illustrated, but any appropriate number of sensors could be included as appropriate for a given application. Data pertinent to the vehicle can be collected by sensors such as sensor 214. In this way, data can be collected which is not collected by sensors in the vehicle, or is not reported over an accessible port such as port 202. Sensors 214 could include, as non-limiting examples, a speed sensor, an inertial sensor, an ambient temperature sensor, a location sensor, an image sensor (e.g. camera), and any other appropriate sensors which collect vehicle-related data.
[0056] Sensor interface 210 is also shown as including a communication interface 216, which communicates with an optional peripheral device 290. Peripheral device 290 includes at least one sensor 292, and can provide data collected by the at least one sensor 292 to telematics device 204 via communication interface 216. In this way, data can be collected which is not collected by sensors in the vehicle, is not reported over an accessible port such as port 202, or is not collected by sensors in telematic device 204. The at least one sensor 292 could include, as non-limiting examples, a speed sensor, an inertial sensor, an ambient temperature sensor, a location sensor, an image sensor (e.g. camera), a fuel level sensor, and any other appropriate sensors which collect vehicle-related data.
[0057] Optionally, peripheral device 290 can also include at least one processor 294 and at least one non-transitory processor-readable storage medium 296. Peripheral device 290 can thus be used to perform acts of the methods discussed herein (by the at least one processor 294 executing processor-executable instructions stored at the at least one non-transitory processor-readable storage medium 296).
[0058] Communication interface 212 (and port 202), sensors 214, and communication interface 216 (and sensor 292) show multiple means by which telematics device 204 can collect sensor data. However, each of these components is not necessarily required. For example, any of communication interface 212, sensors 214, or communication interface 216 can be omitted, as long as one means of collecting sensor data remains.
[0059] Telematics device 204 can also include at least one processor 222 and at least one non-transitory processor-readable storage medium 224. Telematics device 204 can thus be used to perform acts of the methods discussed herein (by the at least one processor 222 executing processor-executable instructions stored at the at least one non-transitory processor-readable storage medium 224). Further, telematics device 204 can include communication interface 226, which is a long-range communication interface (such as a cellular module) for transmitting data from the vehicle, and receiving data at the vehicle.
[0060] Telematic device 204 (optionally in combination with peripheral device 290) can be implemented, for example, as any of vehicle devices 122 in
[0061] As mentioned earlier, telematics device 204, in the form illustrated in
[0062] As it regards particular sensor types and sensor data, several exemplary sensor types are of particular interest in this disclosure, and are discussed in detail below. The present disclosure is not limited to using data from these particular sensors (and several other sensor types are discussed above), nor is each of the particular sensors required in every implementation, but these particular sensors are called out as being especially valuable for the purposes discussed herein.
[0063] Any of the above discussed sensors or sensing modules (whether integrated in a vehicle or as part of a vehicle device or telematic device) can include a sensing module for determining vehicle location (also referred to as a location sensor). For instance, the sensing module may utilize Global Positioning System (GPS) technology (e.g., GPS receiver) for determining the geographic location (Lat/Long coordinates) of a vehicle. Alternatively, the sensing module utilizes another a global navigation satellite system (GNSS) technology, such as, GLONASS or BeiDou. Alternatively, the sensing module may further utilize another kind of technology for determining geographic location.
[0064] Alternatively, vehicle position information may be provided according to another geographic coordinate system, such as, Universal Transverse Mercator, Military Grid Reference System, or United States National Grid.
[0065] Any of the above discussed sensors or sensing modules can include a sensing module for determining an engine rotation speed for a vehicle (e.g. a tachometer). Engine rotation speed is typically expressed in revolutions per minute (RPM).
[0066] Any of the above discussed sensors or sensing modules can include a sensing module for determining movement speed for a vehicle. Vehicle movement speed can be expressed in any appropriate units, but is commonly expressed in miles per hour (mph), kilometers per hour (km/h), or meters per second (m/s). The speed sensor may be a sensor which measures data which is not directly movement speed of the vehicle, but is data from which movement speed of the vehicle can be derived. In some implementations, movement speed can be derived from location data measured by a location sensor (by determining change in location over time). In some implementations, movement speed can be derived from engine rotation speed data (based on a correlation in engine rotation speed and corresponding movement speed of the vehicle), or can be derived based on wheel rotation speed of the vehicle (which can itself be based on engine rotation speed, or measured by a specific wheel rotation speed sensor). For example, if wheels of a vehicle are of a known size, then distance travelled by the vehicle per wheel rotation (wheel circumference) is also known, such that a correlation can be established between time per wheel rotation and distance travelled per wheel rotation.
[0067] Any of the above discussed sensors or sensing modules can include a sensing module for determining acceleration of a vehicle, such as an accelerometer or IMU (inertial measurement unit).
[0068] Any of the above discussed sensors or sensing modules can include a fuel sensor or plurality of fuel sensors. Fuel sensors can be implemented and integrated within a vehicle. As a specific example, a fuel sensor can comprise a series of optical sensors positioned within a fuel tank of a vehicle. These optical sensors can detect the presence of fluid in front of the respective optical sensor. By positioning these optical sensors at specific heights in the fuel tank, fuel level can be measured by identifying which of the optical sensors have fluid in front, and which optical sensors do not. As another specific example, a float sensor could be integrated within a fuel tank of a vehicle. As yet another specific example, an ultrasonic fuel sensor can be positioned within a fuel tank of a vehicle. Fuel level as measured by such sensors can be reported to a vehicle control unit, and is used to inform a position of a fuel reading on a dashboard display of the vehicle. Further, such fuel data can also be reported over a diagnostic or communication interface of the vehicle (such as an OBDII port). A vehicle device (such as any of vehicle devices 122 or telematic device 204) can receive the fuel level data over the communication interface of the vehicle.
[0069] Generally, throughout this disclosure, measured fuel level is a broad term which refers to fuel level as output by at least one fuel level sensor at a vehicle. In some implementations, the measured fuel level data can be raw fuel level data (i.e. fuel data from the at least one fuel sensor which is generally unfiltered or unprocessed). In other implementations, the measured fuel level data can be processed from the raw fuel level data, for example to selectively identify stable fuel data. Examples are discussed later with reference to
[0070] In other implementations, a fuel level sensor could be implemented which is not integrated with the vehicle. For example, a fuel level sensor could be implemented which communicates wirelessly with a vehicle device (e.g. as a peripheral device which communicates with telematic device 204). Such a fuel level sensor could be an optical or float sensor which is inserted into a vehicle fuel tank, as examples.
[0071]
[0072] In Equation (1), V represents volume of fuel, f.sub.I represents measured fuel level, and c.sub.f(f.sub.I) represents calibration factor corresponding to the measured fuel level.
[0073] Table 300 illustrates a limited number of rows (and thus a limited granularity of volume, fuel level, and calibration factors). In practice, more rows can be available for a given vehicle model to improve granularity of calibration factors. Alternatively or additionally, for a measured fuel level between the percentages shown, a calibration factor between those shown can be determined, as shown in Equation (2) below.
[0074] In Equation (2), f.sub.I represents measured fuel level, f.sub.I.sup.+ represents a next represented fuel level above f.sub.I, and f.sub.I represents a next represented fuel level below f.sub.I. Further c.sub.f(f.sub.I) represents calibration factor corresponding to the measured fuel level, c.sub.f(f.sub.I.sup.+) represents calibration factor corresponding to f.sub.I.sup.+, c.sub.f (f.sub.I.sup.) represents calibration factor corresponding to f.sub.I.sup.. That is, in Equation (2) a proportional ratio is determined between the closest (above and below) represented fuel levels, and this proportional ratio is multiplied by the difference between the closest (above and below) calibration factors, and added to the next lowest calibration factor. The result is an intermediate calibration factor which approximately corresponds to the measured fuel level.
[0075] In some implementations, alternate methodologies for determining an intermediate calibration factor could be applied. In some implementations, calibration factor can be modeled as an equation or fit trend. In other implementations, the nearest represented calibration factor could be applied, without determining an intermediate calibration factor.
[0076] However, Equations (1) and (2) above are limited to when measured fuel level is less than 100%. Commonly, a vehicle fuel tank can hold more fuel than a corresponding fuel level sensor can read. In the example of table 300, the fuel level sensor reports 100% fuel level when fuel volume is at 88.81 L. However, the fuel tank can actually hold up to 93 L. Throughout this disclosure, when referring to the actual capacity of a fuel tank, what is meant is the amount of fuel which the tank can hold before an ordinary fuel pump automatically stops filling (when a safety mechanism in the fuel pump clicks and stops output of fuel). In the example of
[0077] Table 300 illustrates one exemplary vehicle model, but fuel tank capacity in the saturation region can vary widely for other vehicle models. For example, some vehicle models have been measured to have at least 9 L of capacity in the saturation region.
[0078] In many scenarios, the available fuel tank capacity in the saturation region can have significant consequences. In the example of a vehicle rental or car share fleet, vehicle users are commonly expected to refill the vehicle fuel prior to returning the vehicle, and a staff member manually checks the fuel gauge of the vehicle to verify that fuel has been refilled. The fuel gauge is typically built into the vehicle and is based on the fuel level as measured by the fuel level sensor, and thus does not account for the saturation region. In some cases, a savvy user may be aware of the extra fuel capacity in the saturation region, and may only refill the vehicle to a point where the fuel gauge will still display 100%, but with at least a portion of the saturation region empty. This effectively pushes the cost of the empty portion of the saturation region onto the vehicle rental company, or onto a subsequent user. Additionally, even if not deliberate, a user may refill the vehicle at a fuel location very distant from a return location of the vehicle, such that a notable amount of fuel is consumed travelling to the return location. This consumed fuel may not be represented by the fuel gauge, and thus effectively the cost of the empty portion of the saturation region is pushed onto the vehicle company or onto a subsequent user.
[0079] It is desirable to be able to detect actual volume of fuel in the fuel tank, accounting for the saturation region, at least to accurately distribute costs according to who is responsible for fuel usage.
[0080]
[0081] Method 400 is directed to an example where a vehicle is used for a first period by a user (e.g. rented by the user), and is subsequently used by another user for a second period. The first period and the second period could be referred to as respective vehicle use periods. Acts performed during or pertinent to the first period are grouped as 410, and acts performed during or pertinent to the second period are grouped as 440. This grouping is not strictly limiting, as some acts are pertinent to both periods. The first and second periods represent subsequent periods of vehicle use, and can correspond to two periods out of any number of periods when a vehicle is used many different times. Further, in method 400 data accessed in the second period is used to determine fuel level for the first period; likewise, in a subsequent iteration of method 400 the previous second period can become the next first period, and a subsequent third period could be treated as the next second period for the subsequent iteration of method 400.
[0082] Throughout the discussion of method 400 in
[0101] As discussed earlier, throughout this disclosure, measured fuel level generally refers to a fuel level as measured by a fuel level sensor. Measured fuel level can referred to raw fuel level data (e.g. unprocessed or unfiltered), to a fuel level data subset which has undergone some processing (e.g. to filter out unstable data), to simplified fuel level data which has undergone some processing to reduce the amount of data, or to a simplified fuel level data subset which has undergone some processing both to filter out unstable data and to simplified the fuel level data.
[0102] At 412, initial fuel volume V(t.sub.1s) for the start t.sub.1s of the first period is stored. For example, initial fuel volume V(t.sub.1s) can be a final fuel volume as determined for a period which precedes the first period. This is discussed in more detail later with reference to act 450. Storing the initial fuel volume V(t.sub.1s) can comprise storing by at least one non-transitory processor-readable storage medium (such as medium 116) an indication the initial fuel volume V(t.sub.1s), for comparison later when the vehicle is returned.
[0103] After 412, the user utilizes the vehicle, and eventually returns the vehicle, ending the first period at approximately 414 (e.g. coincident with or shortly before 414). At 414, measured fuel level f.sub.I(t.sub.1e) for end of first vehicle use period t.sub.1e is accessed. For example, act 414 could comprise capturing measured fuel level f.sub.I(t.sub.1e) by a fuel sensor at the vehicle. As another example, act 414 could comprise receiving measured fuel level f.sub.I(t.sub.1e) as transmitted from a communication interface at the vehicle (e.g. from a communication interface 128 to communication interface 118). As yet another example, act 414 could comprise accessing measured fuel level f.sub.I(t.sub.1e) from a non-transitory processor-readable storage medium (such as medium 116) where measured fuel level f.sub.I(t.sub.1e) is stored (for example if act 414 is performed some time after the end of the first period).
[0104] At 416, at least one processor (e.g. the at least one processor 114, 124, or 134) determines whether measured fuel level f.sub.I(t.sub.1e) is less than 100%, or is 100%.
[0105] If measured fuel level f.sub.I(t.sub.1e) is less than 100% at 416, then fuel volume is accurately determinable from measured fuel level f.sub.I(t.sub.1e), and method 400 proceeds to act 418. At 418, the at least one processor determines final fuel volume V(the) for the first period as fuel volume corresponding to measured fuel value f.sub.I(t.sub.1e). For example, the at least one processor can multiply measured fuel level f.sub.I(t.sub.1e) by an appropriate calibration factor c.sub.f(f.sub.I(t.sub.1e)), as discussed earlier with reference to
[0106] If measured fuel level f.sub.I (t.sub.1e) is 100% at 416, then fuel volume is not accurately determinable from measured fuel level f.sub.I(t.sub.1e), since fuel volume could be anywhere in the saturation region. To accurately estimate final fuel volume, method 400 proceeds to 442.
[0107] At 442, measured fuel level f.sub.I(t.sub.2) from start of second period t.sub.2s is accessed. For example, act 442 could comprise capturing measured fuel level f.sub.I(t.sub.2) by a fuel sensor at the vehicle. As another example, act 442 could comprise receiving measured fuel level f.sub.I(t.sub.2) as transmitted from a communication interface at the vehicle (e.g. from a communication interface 128 to communication interface 118). As yet another example, act 414 could comprise accessing measured fuel level f.sub.I(t.sub.2) from a non-transitory processor-readable storage medium (such as medium 116) where measured fuel level f.sub.I(t.sub.2) is stored (for example if act 442 is performed with some delay after collection and/or transmission of measured fuel level data).
[0108] At 444, the at least one processor determines whether measured fuel level f.sub.I(t.sub.2) is 100%, or is less than 100%. If measured fuel level f.sub.I(t.sub.2) is 100%, then the at least one processor continues to monitor accessed measured fuel level f.sub.I(t.sub.2) over time. If measured fuel level f.sub.I(t.sub.2) is less than 100%, then method 400 proceeds to act 446. In this sense, the measured fuel level f.sub.I(t.sub.2) from start of second period t.sub.2s accessed at 442 is not necessarily measured fuel level for a particular moment in time, but rather represents fuel level as measured over a length of time, in particular from a start time t.sub.2s of the second period until a time t.sub.<100 when measured fuel level f.sub.I(t.sub.2) becomes less than 100%.
[0109] Once measured fuel level f.sub.I(t.sub.2) has become less than 100%, fuel volume is accurately determinable therefrom. In particular, the moment (t.sub.<100) that measured fuel level goes from 100% to less than 100%, fuel volume in the fuel tank of the vehicle is nearly V.sub.max (the maximum volume of fuel measurable by the fuel volume sensor). In the example of
[0110] At 446, fuel consumption is utilized to work backwards and determine fuel volume at the beginning of the second period. In particular, a fuel adjustment value f.sub.A is determined by the at least one processor. The fuel adjustment value f.sub.A represents fuel consumed between start time t.sub.2s of the second period and time t.sub.<100 when measured fuel level becomes less than 100%, based on a fuel consumption rate of the vehicle. Fuel adjustment value f.sub.A can be determined in several different ways such as the exemplary implementations discussed below.
[0111] In a first exemplary implementation, fuel consumption data is collected by a telematics device. In particular, many modern vehicles generate and output a fuel consumption signal, and this fuel consumption signal can be collected by a telematics device (e.g. telematics device 204 in
[0112] In an example, the fuel consumption signal is provided as a measure of fuel consumed correlated with time, such as liters consumed per minute, or any other appropriate volume or time units. Further, a fuel consumption signal can be output regularly (e.g. every second, or any other appropriate interval). A plurality of instants of the fuel consumption signal can be collectively referred to as fuel consumption data, and fuel consumed between start time t.sub.2s of the second period and time t.sub.<100 can be determined by the at least one processor accumulating the fuel consumption data between t.sub.2s and t.sub.<100. In this example, accumulating the fuel consumption data between t.sub.2s and t.sub.<100 can comprise integrating the fuel consumption data over the time span between t.sub.2s and t.sub.<100, which results in a total volume of fuel consumed between t.sub.2s and t.sub.<100 (and thus is the fuel adjustment factor f.sub.A).
[0113] In another example, the fuel consumption signal is provided as a measure of fuel consumed correlated with distance travelled, such as liters consumed per 100 km (L/100 km) or miles travelled per gallon (MPG). As in the above example, a fuel consumption signal can be output regularly (e.g. every second, or any other appropriate interval). A plurality of instants of the fuel consumption signal can be collectively referred to as fuel consumption data, and fuel consumed between start time t.sub.2s of the second period and time t.sub.<100 can be determined by the at least one processor accumulating the fuel consumption data between t.sub.2s and t.sub.<100. In this example, because fuel consumption is correlated to distance (as opposed to time), accumulating the fuel consumption data between t.sub.2s and t.sub.<100 can comprise evaluating the fuel consumption data over distance travelled in the time span between t.sub.2s and t.sub.<100. In this regard, location data can be accessed for the time between t.sub.2s and t.sub.<100. For example the location data can be collected by a location sensor at the vehicle or in telematics device 204, and transmitted to management server 110 via communication interfaces 128 and 118, or the location data could be accessed from storage at a non-transitory processor-readable storage medium such as medium 116. The at least one processor can correlate data points of fuel consumption data with data points of the location data, to determine distance travelled corresponding to data points of fuel consumption data. The distance travelled and corresponding fuel consumption data can be evaluated to determine volume of fuel consumed (e.g. L/100 km values can be multiplied by km values travelled and divided by 100 to determine Liters consumed; miles travelled can be divided by MPG values to determine Gallons consumed). The determined volume of fuel consumed is the fuel adjustment value f.sub.A. Alternatively, the at least one processor can determine total distance travelled in the time between t.sub.2s and t.sub.<100, and can determine an average fuel consumption rate in the time between t.sub.2s and t.sub.<100. The average fuel consumption rate can be weighted, to account for differing fuel consumption rates for different quantities of time between t.sub.2s and t.sub.<100. The total distance travelled can then be evaluated with the average fuel consumption rate to determine volume of fuel consumed (e.g. and average L/100 km value can be multiplied by total km travelled value and divided by 100 to determine Liters consumed; total miles travelled can be divided by average MPG value to determine Gallons consumed). The determined volume of fuel consumed is the fuel adjustment value f.sub.A.
[0114] In a second exemplary implementation, a fuel consumption rate signal is not output by the vehicle. In such a case, alternative signals may be output, such as manifold pressure, mass airflow, fuel injection quantity, etc. A fuel consumption rate or volume can be derived from these signals (e.g. by at least one processor 222 of telematics device 204, or at least one processor 114 of management device 110). Such a derived fuel consumption rate can be utilized to determine the fuel adjustment amount similarly to as discussed in the first exemplary implementation above.
[0115] In a third exemplary implementation, a fuel consumption rate signal is not output by the vehicle. Instead, a nominal fuel consumption rate can be used to estimate the fuel adjustment factor f.sub.A. For example, vehicles are commonly distributed with or advertised with expected fuel consumption rates (usually referred to as fuel efficiency values). Such fuel consumption rates are typically a measure of fuel consumed correlated with distance travelled, such as liters consumed per 100 km (L/100 km) or miles travelled per gallon (MPG). Similarly to as discussed in the first exemplary implementation above, location data can be accessed for the time between t.sub.2s and t.sub.<100. For example the location data can be collected by a location sensor at the vehicle or in telematics device 204, and transmitted to management server 110 via communication interfaces 128 and 118, or the location data could be accessed from storage at a non-transitory processor-readable storage medium such as medium 116. The at least one processor can determine total distance travelled in the time between t.sub.2s and t.sub.<100. The total distance travelled can then be evaluated with the nominal fuel consumption rate to determine volume of fuel consumed (e.g. a L/100 km value can be multiplied by total km travelled value and divided by 100 to determine Liters consumed; total miles travelled can be divided by an MPG value to determine Gallons consumed). The determined volume of fuel consumed is the fuel adjustment value f.sub.A.
[0116] In many cases, separate fuel consumption rates are advertised for highway vs city driving. In such cases accuracy of the determined fuel adjustment f.sub.A can be improved by applying the most appropriate fuel consumption rate. For example, based on location data for the vehicle (collected as discussed above), the at least one processor could determine whether the vehicle is in a city or on the highway (e.g. based on geofencing or zones), and evaluate distance travelled while in the city against the nominal city fuel consumption rate, and evaluate distance travelled while in on the highway against the nominal highway fuel consumption rate. As another example, based on speed data for the vehicle (collected by a telematics device as discussed above), the at least one processor could determine whether the vehicle is travelling at city speeds or are highway speeds, for example by comparing the speed of the vehicle to a speed threshold such as 70 km/h, where highway speed is 70 km/h and above, and city speed is less than 70 km/h. The threshold of 70 km/h is merely exemplary, and any appropriate threshold could be utilized as appropriate for a given application. The at least one processor can then evaluate distance travelled at city speeds against the nominal city fuel consumption rate, and evaluate distance travelled at highway speeds against the nominal highway fuel consumption rate.
[0117] In a fourth exemplary implementation, a lifetime fuel consumption accumulator is maintained for the vehicle. That is, fuel consumption by the vehicle over time is aggregated and stored, much like how an odometer is aggregated indicating lifetime distance travelled by the vehicle. In some cases, the vehicle itself maintains this accumulator; in other cases based on fuel consumption data an external device (such as vehicle device 122, telematics device 204, or management server 110) can aggregate fuel consumption data over time for the vehicle to store a lifetime fuel consumption value, trend, or dataset. In implementations where data indicating lifetime fuel consumption f.sub.lifetime(t) by the vehicle is available, the fuel adjustment value f.sub.A can be determined by subtracting the lifetime fuel consumed value at the start t.sub.2s of the second period from lifetime fuel consumed when measured fuel level becomes less than 100 at t.sub.<100. This is shown in Equation (3) below:
[0118] After fuel adjustment value f.sub.A is determined at 446 by any of the implementations discussed above (or any other appropriate implementations), method 400 proceeds to 448.
[0119] At 448, the at least one processor determines adjusted fuel volume V.sub.A. In an exemplary implementation, adjusted fuel volume is determined as fuel tank measurable capacity V.sub.max plus fuel adjustment value f.sub.A. This is shown in Equation (4) below:
[0120] Such an implementation is useful where V.sub.max accurately represents fuel level at time t.sub.<100. For example, for a fuel sensor which measures fuel level with significant granularity (e.g. fuel level at time t.sub.<100 is measured as 99.9%), then V.sub.max is a close approximation of fuel volume at t.sub.<100. As another example, in some cases fuel level and fuel volume data (such as table 300 in
[0121] In an alternative implementation, adjusted fuel volume V.sub.A is determined as fuel volume V.sub.<100 corresponding to measured fuel level at t.sub.<100 plus fuel adjustment value f.sub.A. Equation (5) below shows determination of fuel volume V.sub.<100 based on Equation (1) discussed earlier. Equation (6) below shows determination of adjusted fuel volume V.sub.A based on V.sub.<100 and fuel level f.sub.I (t.sub.<100) for time t.sub.<100:
[0122] Thus, at 448, an accurate measure of the actual fuel volume in the fuel tank is determined, accounting for the saturation region above the measurable capacity of the fuel tank.
[0123] At 420, the at least one processor determines final fuel volume V(t.sub.1e) for the first period as the adjusted fuel volume V.sub.A.
[0124] As a result of method 400 up to this point, final fuel volume V(t.sub.1e) for the first period is determined as either fuel volume corresponding to measured fuel value f.sub.I (t.sub.1e) as in act 418, or as adjusted fuel volume V.sub.A as in act 420. Thus, method 400 illustrates that depending on the measured fuel level of the vehicle f.sub.I(t.sub.1e) for the end of the first period, data for the second period can be relied on to account for the saturation region of the fuel tank if necessary. Based on the final fuel volume V(t.sub.1e) determine at 418 or 420, account rectification is triggered for example as discussed below with reference to acts 422, 424, and 426.
[0125] At 422, a difference D is determined by the at least one processor (e.g. processor 114, 124, or 134) between initial fuel volume V(t.sub.1s) for start t.sub.1s of the first period and final fuel volume V(t.sub.1e) for end of the first period. In the context of a vehicle rental, the difference D indicates whether and to what extent the user has adequately, inadequately, more than adequately refueled the vehicle. This difference D can be actioned in any appropriate way, with several examples discussed below.
[0126] In the example shown at 424, an account of the first user is automatically balanced based on the difference D. For the example, the at least one processor can access the account of the first user could be a credit account, and funds commensurate with (based on a price of fuel) the difference D can be charged, credited to, or debited from the account.
[0127] In the example shown at 426, a system operator can be sent an alert or notification to take action (to rectify an associated account) based on the difference D (several examples are discussed in detail later with reference to
[0128] Any means of handling difference D can be implemented as appropriate for a given implementation or scenario, and method 400 is not limited to the examples discussed above.
[0129] At 450, the adjusted fuel volume V.sub.A is stored (e.g. at the non-transitory processor-readable storage medium 116) as the initial fuel volume V(t.sub.2s) for the start t.sub.2s of the second period. This initial fuel volume V(t.sub.2s) can be used for determining a difference between initial fuel volume and final fuel volume when the second period ends, similar to as discussed in act 422 for the first period. Box 452 in
[0130] As mentioned earlier, act 412 entails storing initial fuel volume V(t.sub.1s) for the start tis of the first period. Similarly to act 450, act 412 can include storing an adjusted fuel volume as determined for a period which precedes the first period.
[0131] Method 400 can be implemented across devices in different ways; that is, different devices can perform portions of method 400 as appropriate for a given application. Several exemplary implementations are discussed below, but one skilled in the art will understand that these are merely examples, and acts of method 400 can be portioned to different devices as appropriate for a given application.
[0132] In a first exemplary implementation, method 400 is performed as much as possible at a management device (such as management device 110). In this example, acts 414, 416, 418, 420, 422, 424, 426, 442, 444, 446, 448, and 452 can be performed (at least in part) by at least one processor of the management device (e.g. processor 114). Acts 412 and 450 can be performed by at least one non-transitory processor-readable storage medium of the of management device (e.g. non-transitory processor-readable storage medium 116). As another example, acts 414 and 442 could comprise the processor 114 accessing the respective data from medium 116. As yet another example, acts 414 and 442 could comprise a communication interface (e.g. communication interface 118) of the management device receiving the respective data. As yet another example, acts 424 could be performed in concert with a device where monetary transactions occur (e.g. a banking server); for example act 424 could be performed by a communication interface (e.g. communication interface 118) of the management device transmitted transaction details to the banking server. As yet another example, act 426 could comprise transmitting the alert via a communication interface of the management device (e.g. communication interface 118). As yet another example, act 426 could comprise outputting the alert via an output device (as discussed later with reference to
[0133] In a second exemplary implementation, method 400 is performed in part by a management device (such as management device 110) and by a vehicle device (such as vehicle device 122 or telematics device 204, or a peripheral device 290). In this example, acts 414, 416, 418, 420, 422, 424, 426, 446, 448, and 452 can be performed (at least in part) by at least one processor of the management device (e.g. processor 114). Acts 442 and 444 can be performed by at least one processor of the vehicle device (e.g. any of processors 124, 222, or 294). In this example, the at least one processor at the vehicle monitors measured fuel level at the vehicle in acts 442 and 444, and reports to the management device when measured fuel level drops below 100% at 444 (e.g. sends a transmission to the management device 110 via communication interfaces 128, 226, 216 and/or 118, as appropriate for a given application). Acts 412 and 450 can be performed by at least one non-transitory processor-readable storage medium of the of management device (e.g. non-transitory processor-readable storage medium 116). As another example, acts 414 and 442 could comprise the processor (114, 124, 222, or 294) accessing the respective data from a corresponding non-transitory processor-readable storage medium (e.g. 116, 126, 224, or 296). As yet another example, act 414 could comprise a communication interface (e.g. communication interface 118) of the management device receiving the respective data. As yet another example, acts 424 could be performed in concert with a device where monetary transactions occur (e.g. a banking server); for example act 424 could be performed by a communication interface (e.g. communication interface 118) of the management device transmitted transaction details to the banking server. As yet another example, act 426 could comprise transmitting the alert via a communication interface of the management device (e.g. communication interface 118). As yet another example, act 426 could comprise outputting the alert via an output device (as discussed later with reference to
[0134]
[0135]
[0136]
[0137] The user interface of
[0138] User 1 in output table 600 rented the vehicle with an initial fuel volume of 93 L, and returned the vehicle with a final fuel volume of 92.8 L, the difference being-0.2 L. Column 650 shows that the action to be taken with regards to User 1 is None. This example illustrates a case where the at least one processor determines whether the difference exceeds a threshold in order to determine whether action needs to be taken. The difference of 0.2 L is below such a threshold, such that no action needs to be taken.
[0139] User 2 in output table 600 rented the vehicle with an initial fuel volume of 92.8 L (the final fuel volume from User 1), and returned the vehicle with a final fuel volume of 89 L, the difference being-3.8 L. Column 650 shows that the action to be taken with regards to User 2 is Debit. This example illustrates that the difference is significant enough such that corrective action should be taken; in this case, the user 2 needs to be debited for the difference (3.8 L times the fuel price). The operator's attention can be expressly drawn to this action item, for example by highlighting the action as illustrated in bold, or by a dedicated alert such as those discussed later with reference to
[0140] User 3 in output table 600 rented the vehicle with an initial fuel volume of 89 L (the final fuel volume from User 2), and returned the vehicle with a final fuel volume of 93 L, the difference being+4 L. Column 650 shows that the action to be taken with regards to User 3 is Credit. This example illustrates that the difference is significant enough such that corrective action should be taken; in this case, the user 3 needs to be credited for the difference (4 L times the fuel price). The operator's attention can be expressly drawn to this action item, for example by highlighting the action as illustrated in bold, or by a dedicated alert such as those discussed later with reference to
[0141] The example of
[0142]
[0143]
[0144] Column 840 shows an action to be taken for each user. In the context of
[0145] The specific amounts of underfill and plentiful fill events required to trigger any specific action are merely exemplary, and could be different in other applications. Further, the actions shown in
[0146] While
[0147] In some scenarios, raw fuel level data can be prone to inaccuracy; a means for addressing such inaccuracy is discussed below with reference to
[0148]
[0149] Plot 910a shows Fuel Level over time, expressed as a percentage (as measured by a fuel level sensor). Fuel Level percentage can range from 0% (tank is read by fuel level sensor as empty) to 100% (fuel tank is read by fuel level sensor as full). A fuel level reading of 0% does not necessarily correspond to the fuel tank actually being exactly empty, nor does a fuel level reading of 100% necessarily correspond to the fuel tank being exactly full. As discussed earlier, the range of 0% to 100% typically represents a range which the fuel sensor covers (e.g. a range over which optical sensors are positioned, in the example where optical sensors are used). A fuel tank often still holds a small amount of fuel even when the fuel level sensor indicates 0%, and can often be filled to hold more fuel than what the fuel level sensor indicates as 100% (the saturation region discussed earlier).
[0150] Plot 910a indicates raw data as measured by a fuel level sensor. As is evident from plot 910a, the fuel level data swings significantly when the vehicle is in operation. For example, at approximately time 22:44:55, the fuel level sensor indicates a fuel level of about 40%, whereas at approximately time 22:44:60 (five seconds later), the fuel level reading increases to about 80%. These swings in fuel level data are commonly due to sloshing, which refers to the fuel moving, shifting, and splashing within the fuel tank, as is normal for fluids during motion or transport. Fuel level data swings can also be caused by other factors, such as engine vibration, infrastructure movement (e.g. bridge swaying), road slope (which causes shifting of the fuel), or many other factors. As a result of all these factors, it is difficult to obtain a meaningful fuel level reading directly from a fuel level sensor. In the present disclosure, noisy or problematic fuel level data can be handled selectively to increase accuracy. Detail methods and systems for handling noisy or problematic fuel level data described in U.S. Provisional patent application No. 63/598,755, and US Non-Provisional patent application Ser. Nos. 18,815,344 and 18,815,371, the entirety of which are incorporated by reference herein in their entirety.
[0151] One possibility for determining a consistent fuel level is to average the fuel level data over a significant period of time (e.g. 20 minutes) or using a significant number of fuel level sensor data points (e.g. over 200 points). However, this is prone to issues. For example, such a strategy is slow to update sudden changes in actual fuel level, such as refilling the fuel tank.
[0152]
[0153] The select fuel data subset which has been analyzed for stability can be transmitted from the vehicle (e.g. by communication interface 128 or 226), for reception at the management device 110 (e.g. via communication interface 118).
[0154]
[0155]
[0156]
[0157]
[0158] In some implementations, fuel level data measured or collected at a vehicle device 122 (such as telematic device 204) may be simplified prior to transmission, to reduce bandwidth usage. An exemplary means for simplifying fuel level data to a simplified fuel level dataset is discussed below with reference to
[0159] The at least one processor of the vehicle device (e.g. processor 124 or 222) can generate the simplified fuel level dataset by selectively filtering data points of the raw fuel level data (or of a fuel level trend or select fuel level data subset determined as discussed with reference to
[0160] A communication interface at the vehicle (e.g. communication interfaces 128 of 226) can transmit the simplified fuel level dataset, for reception at the management device (e.g. via communication interface 118), possibly through communication infrastructure like a cellular network and/or the internet.
[0161]
[0162] In the example of
[0163] In the example of
[0164] Each point of data in
[0165] In
[0166] In the exemplary implementation, the simplified fuel level dataset is generated by selecting data points from the fuel level data, based on differences of the data points to reference lines. In the scenario of
[0167] Further, a data point of the fuel level data is identified, where a minimum difference between the data point and the reference line 1030 is greater than a minimum difference between other data points being compared (sequential points between points 1010 and 1012) and the reference line 1030. That is, a data point of the fuel level data between points 1010 and 1012 is identified which is the most different from the reference line 1030. In
[0168] Following identification of point 1020, a determination is made as the whether the minimum difference between point 1020 and reference line 1030 exceeds a difference threshold. In practical applications, such a difference threshold could for example be 1% (for fuel level measured on a percentage scale from 0% to 100%), though other difference thresholds are possible as appropriate for a given application. In
[0169] Further, the iteratively-defined reference lines are updated to include reference lines which intersect point 1020, as is shown in
[0170]
[0171] As discussed earlier, the simplified fuel level dataset is determined by selecting data points from the fuel level data, based on differences of the data points to reference lines. In the scenario of
[0172] That is, a data point of the fuel level data between points 1020 and 1012 is identified which is the most different from the reference line 1035. In
[0173] Following identification of point 1021, a determination is made as to whether the minimum difference between point 1021 and reference line 1035 exceeds a difference threshold. In
[0174] Further in the scenario of
[0175] Further, a data point of the fuel level dataset data is identified, where a minimum difference between the data point and the reference line 1040 is greater than a minimum difference between other data points being compared (sequential data points between points 1010 and 1020) and the reference line 1040. That is, a data point of the fuel level data between points 1010 and 1020 is determined which is the most different from the reference line 1040. In
[0176] Following determination of point 1022, a determination is made as the whether the minimum difference between point 1022 and reference line 1040 exceeds a difference threshold. In
[0177] Further, because point 1022 is the most different point from reference line 1040 between points 1010 and 1020, every other point between points 1010 and 1020 is also within the difference threshold illustrated by threshold lines 1042 and 1043.
[0178] Consequently, every point between points 1010 and 1020 is not selected for inclusion in the simplified fuel level dataset. This is shown in
[0179] Further, the iteratively-defined reference lines are updated to include reference lines which intersect point 1021, as is shown in
[0180]
[0181] As mentioned earlier, the simplified fuel level dataset is generated by selecting data points from the fuel level data, based on differences of the data points to reference lines. In the scenario of
[0182] A data point of the fuel level data is identified, where a minimum difference between the data point and the reference line 1045 is greater than a minimum difference between other data points being compared (sequential points between points 1020 and 1021) and the reference line 1045. That is, a data point of the fuel level data between points 1020 and 1021 is identified which is the most different from the reference line 1045. In
[0183] Following determination of point 1023, a determination is made as the whether the minimum difference between point 1023 and reference line 1045 exceeds a difference threshold. In
[0184] Further in the scenario of
[0185] Further, a data point of the fuel level data is identified, where a minimum difference between the data point and the reference line 1050 is greater than a minimum difference between other data points being compared (sequential points between points 1021 and 1012) and the reference line 1050. That is, a data point of the fuel level data between points 1021 and 1012 is identified which is the most different from the reference line 1050. In
[0186] Following determination of point 1024, a determination is made as to whether the minimum difference between point 1024 and reference line 1050 exceeds a difference threshold. In
[0187] Further, the iteratively-defined reference lines are updated to include reference lines which intersect point 1024, as is shown in
[0188]
[0189] As mentioned earlier, the simplified fuel level dataset is generated by selecting data points from the fuel level data, based on differences of the data points to reference lines. In the scenario of
[0190] Further, a data point of the fuel level data is identified, where a minimum difference between the data point and the reference line 1055 is greater than a minimum difference between other data points being compared (sequential points between points 1021 and 1024) and the reference line 1055. That is, a data point of the fuel level data between points 1021 and 1024 is identified which is the most different from the reference line 1055. In
[0191] Following identification of point 1025, a determination is made as to whether the minimum difference between point 1025 and reference line 1055 exceeds a difference threshold. In
[0192] Further in the scenario of
[0193] Following identification of point 1026, a determination is made as to whether the minimum difference between point 1026 and reference line 1060 exceeds a difference threshold. In
[0194] In
[0195] The process of fuel level data simplification discussed with reference to
[0196] When selecting data points from the raw fuel level data for inclusion in the simplified fuel level data, the at least one processor of the vehicle device can identify a threshold data point where the fuel level becomes less than 100%. That is, the at least one processor can identify when fuel level drops below 100% (e.g. 99% or 99.9%, or any other appropriate amount as measurable by a fuel level sensor), and can include the corresponding fuel level data point in the simplified fuel level data.
[0197] Simplified fuel level data can be identified/determined as discussed above at a vehicle device (such as vehicle device 122, telematics device 204, or peripheral device 290), and subsequently transmitted to a management device (such as management device 110). For example, the simplified fuel level data can be transmitted via any of communication interfaces 128, 216, 226, and/or 118, and optionally stored at non-transitory processor-readable storage medium 116. The simplified fuel level data as transmitted (and stored) can be accessed as the measured fuel level data in acts 414 and/or 442.
[0198]
[0199] In a preferred optional implementation, method 1100 is primarily performed remotely from the vehicle, at management device 110 and/or optional device 130, using hardware thereof as discussed in the preceding paragraph, based on fuel level data and operational data received from sensors at the vehicle.
[0200] Method 1100 in
[0201] At 1102, fuel level data is accessed which is indicative of a measured fuel level in a fuel tank of a vehicle. At 1104, operation data representing at least one operational parameter of the vehicle is accessed. As mentioned above, in the context of method 400, the fuel level data accessed at 1102 and the operation data accessed at 1104 can be referred to as historic fuel level data and historic operation data, respectively.
[0202] Accessing the fuel level data at 1102 and accessing the operation data at 1104 could include capturing or collecting the respective data by at least one sensor, receiving the respective data by a vehicle device such as a telematics device, receiving the respective data as transmitted from a telematics device, or retrieving the respective data from storage (such as non-transitory processor-readable storage medium 116).
[0203] At 1110 the dynamic fuel consumption rate is determined for each interval of a plurality of intervals, based on the fuel level data and the operation data, and in particular based on changes in the fuel level as indicated in the fuel level data, associated with the operational data. Each interval refers to a period of time where fuel level data and operational data are available at endpoints of the interval. For example, each interval could be a respective period of time between when the vehicle is activated (turned on) versus when the vehicle is deactivated (turned off).
[0204] In some implementations, the operation data comprises location data. In some implementations, the operation data comprises speed data. Further, additional types of operation data could also be used.
[0205] At 1112, the at least one processor determines the operation parameter for each interval of a plurality of intervals, based on the operational data. Where the operational data comprises location data for the vehicle, the at least one processor determines distance travelled by the vehicle over each interval of the plurality of intervals. Where the operational data comprises speed data, the at least one processor determines speed of the vehicle over each interval of the plurality of intervals (e.g. average speed over the interval).
[0206] At 1114, the at least one processor determines fuel consumed for each interval of the plurality of intervals based on respective differences in fuel level represented in the fuel data over each interval. That is, over each interval fuel level will change; this change corresponds to fuel consumed for the interval.
[0207] At 1116, the at least one processor determines fuel consumption rate as an operation parameter dependent fuel consumption rate. This determination is based on correlation between the operation parameter, fuel consumed, and/or interval length for each interval of the plurality of intervals. Where the operational data comprises location data for the vehicle, the at least one processor determines the fuel consumption rate as a fuel consumption per distance travelled rate based on correlation between the distance travelled and the fuel consumed for each interval of the plurality of intervals. Where the operational data comprises speed data, the at least one processor determines the fuel consumption rate as a speed-dependent fuel consumption per time rate, based on correlation between vehicle speed, fuel consumed, and interval length for each interval of the plurality of intervals. In particular, the at least one processor can determine the fuel consumption rate as representing a difference in fuel level (in %), when travelling at a speed v, for a period of time t. Evaluating for a unit level of time (e.g. 1 second, 1 minute, or any other appropriate length of time), fuel consumption rate becomes difference in fuel for speed v per unit of time.
[0208] At 1120, the at least one processor aggregates fuel consumption rate for the plurality of intervals. For example, the fuel consumption rate could be average for the plurality of intervals. Where the operational data comprises location data for the vehicle, the at least one processor could average the fuel consumption per distance travelled for each interval, resulting in an overall fuel consumption per distance travelled. As another example, where the operational data comprises speed data for the vehicle, the at least one processor could average difference in fuel for speed v per unit of time for each interval, to determine an overall difference in fuel for speed v per unit of time.
[0209] In some implementations, aggregating fuel consumption rate for the plurality of intervals at 1120 comprises establishing respective fuel consumption rates for different regions of the fuel tank. For example, a respective fuel consumption rate could be established for the region 0% to 10%, the region 10% to 20%, the region 20% to 30%, the region 30% to 40%, the region 40% to 50%, the region 50% to 60%, the region 60% to 70%, the region 70% to 80%, the region 80% to 90%, and the region 90% to 100%. This could be achieved by associated fuel consumption rate for each given interval with the particular region or regions of fuel level to which the respective interval applies. The above delineations between regions (every 10%) is merely exemplary, and any delineation between regions could be used as appropriate for a given application.
[0210] As mentioned earlier, method 1100 can be referred to as a historical method in the context of method 400. In this regard, the determined fuel consumption rate can also be labelled as a historic fuel consumption rate.
[0211]
[0212] In a preferred optional implementation, method 1200 is primarily performed remotely from vehicles, e.g. at management device 110 and/or optional device 130, using hardware thereof as discussed in the preceding paragraph, based on fuel level data and operational data received from sensors at vehicles.
[0213] At 1202, a library of fuel level data is accessed which is indicative of a measured fuel level in respective fuel tanks for vehicles of a vehicle model. At 1204, a library of fuel consumption data indicative of fuel consumed by vehicles of the vehicle model is accessed.
[0214] Accessing the library of fuel level data at 1202 and accessing the library of fuel consumption data at 1204 could include capturing or collecting the respective data by a plurality of sensors at respective vehicles, receiving the respective data by a plurality of vehicle devices such as a telematics devices, receiving the respective data as transmitted from a plurality of vehicle devices, or retrieving the respective data from storage (such as non-transitory processor-readable storage mediums 116 or 136).
[0215] At 1210, a number of acts 1211, 1212, 1213, 1214, and 1215 are performed for a plurality of sets of data points in the library of fuel level data.
[0216] At 1211, the at least one processor identifies two points of the fuel level data which are indicative of a change in fuel level of a vehicle of the vehicle model. At 1212, the at least one processor identifies respective timestamps of the two points of fuel level data (e.g. by accessing the timestamps as stored with the fuel level data).
[0217] At 1213, the at least one processor determines fuel consumption of the vehicle between the respective timestamps based on the fuel consumption data. That is, the at least one processor accesses the library of fuel consumption data, to access fuel consumption data for the vehicle between the two timestamps, and determines the amount of fuel consumed between the two timestamps.
[0218] At 1214, the at least one processor determines a correlation between the determined fuel consumption of the vehicle based on the fuel consumption data (as determined at 1213) and the change in fuel level based on the fuel level data (as determined at 1211). The determined correlation represents a relationship between fuel level measured as a percentage, and fuel consumed measured in volume, between the two data points. At 1215, the determined correlation is stored as a calibration factor.
[0219] At 1220, the at least one processor aggregates the stored fuel level adjustment factors over a measurable range of fuel sensors for the vehicle model to generate a fuel level calibration scheme. In particular, the plurality of sets of data points at 1210 are ideally extensive enough to include fuel level data which encompasses the measurable range of the fuel sensor (0% to 100%). Act 1220 can in some implementations comprise generating an equation (such as a polynomial fit to the calibration factors stored at 1215) which converts between fuel level and fuel volume. In other implementations, act 1220 includes generating a look-up table or similar (such as shown in
[0220]
[0221]
[0222] Plot 1310, like plot 910a, shows Fuel Level over time, expressed as a percentage (as measured by a fuel level sensor). Plot 1340, like plot 940, shows Engine Rotation Speed as expressed in RPM. Plot 1370, like plot 970, shows vehicle Movement Speed expressed in km/h. Plot 1380 shows vehicle acceleration expressed in m/s.sup.2.
[0223] As discussed with reference to
[0224] The select fuel data subset which has been analyzed for stability can be transmitted from the vehicle (e.g. by communication interface 128 or 226), for reception at the management device 110 (e.g. via communication interface 118).
[0225] As discussed with reference to
[0226]
[0227] Individual exemplary stability criteria are discussed below. These specific thresholds are merely non-limiting examples, and any appropriate threshold which effectively identifies stability of the vehicle could be utilized as appropriate for a given application.
[0228] In some implementations, the operation data comprises engine rotation speed data representing a rotation speed of an engine of the vehicle, as discussed earlier. The stability criteria can thus comprise a threshold based on engine rotation speed of the vehicle over time.
[0229] In an exemplary implementation, the stability criteria could comprise a threshold engine rotation speed-change of the vehicle over time. That is, the stability criteria can be defined such that no two engine rotation speed data points in an interval or time window are more than a threshold rotation speed apart. For example, the stability criteria could be defined such that no two engine rotation speed data points in an interval or time window are more than 10 RPM, 50 RPM, 100 RPM, 300 RPM, 500 RPM apart, or any other appropriate value.
[0230] In another exemplary implementation, the stability criteria could comprise a threshold difference from a mean or median engine rotation speed over an interval or time window. For example, a mean or median engine rotation speed over an interval or time window can be determined (e.g. 1500 RPM), and the stability criteria can be defined as a difference threshold from this mean or median engine rotation speed (for example 1%, 5%, 10%, 25% or any other appropriate value from the mean engine rotation speed).
[0231] In another exemplary implementation, the stability criteria could comprise a threshold co-efficient of variation of the engine rotation speed over an interval or time window. In particular, co-efficient of variation (CV) is defined as the standard deviation in engine rotation speed divided by the mean engine rotation speed for the interval or time window. In an example, the stability criteria can be defined such that CV must be less than 2.246 (or any other appropriate number) for the interval or time window to be within the stability criteria.
[0232]
[0233] In some implementations, the operation data comprises movement speed data representing a movement speed of the vehicle, as discussed earlier. The stability criteria can thus comprise a vehicle speed threshold, with several examples discussed below.
[0234] In an exemplary implementation, the stability criteria could comprise a vehicle speed-change threshold over time. That is, the stability criteria can be defined such that no two movement speed data points in a window of time or interval are more than a set speed apart. For example, the stability criteria could be defined such that no two movement speed data points are more than 5 km/h apart over a 10 second time interval. Any appropriate speed value could be used, such as 1 km/h, 10 km/h, etc. Any appropriate time interval could be used, such as 3 seconds, 10 seconds, 30 seconds, etc.
[0235] In another exemplary implementation, the stability criteria could comprise a threshold difference from a mean or median movement speed over a time window or interval. For example, a mean or median movement speed over a time window or interval can be determined (e.g. 50 km/h), and the stability criteria can be defined as a difference threshold from this mean or median movement speed (for example 1%, 5%, 10%, or any other appropriate value from the mean or median speed).
[0236] In yet another exemplary implementation, the stability criteria could comprise a median speed over the interval or time window. For example, the stability criteria could be defined as requiring that median speed over the interval or time window be 0. A median speed of 0 over the interval or time window indicates that the vehicle is stopped for most of the instance.
[0237]
[0238] In some implementations, the operation data comprises acceleration data representing acceleration of the vehicle, as discussed earlier. The stability criteria can thus comprise a threshold in acceleration of the vehicle over time.
[0239] In an exemplary implementation, the stability criteria could comprise a threshold acceleration magnitude for the vehicle. That is, the stability criteria can be defined such that each point of accelerometer data within an interval or time window must be below a threshold magnitude. That is, the stability criteria can be defined such that the vehicle must not accelerate (positively or negatively) too greatly at any point in the interval or time window for the raw fuel level data to be included in the fuel level data subset. For example, the stability criteria could be defined such that acceleration magnitude does not exceed 0.1 m/s.sup.2, 0.2 m/s.sup.2, 0.5 m/s.sup.2, 1 m/s.sup.2, or any other appropriate value.
[0240] In another exemplary implementation, the stability criteria could comprise a threshold difference from a mean or median acceleration over an interval or time window. For example, a mean or median acceleration over the interval or time window can be determined (e.g. 0 m/s.sup.2), and the stability criteria can be defined as a difference threshold from this mean or median acceleration (for example 0.1 m/s.sup.2 or any other appropriate value) from the mean or median acceleration.
[0241] In another exemplary implementation, the stability criteria could comprise a threshold magnitude for a mean or median acceleration over an interval or time window. For example, a mean or median acceleration over the interval or time window can be determined (e.g. 0 m/s.sup.2), and the stability criteria can be defined such that this mean or median acceleration must be below a certain magnitude (for example 0.1 m/s.sup.2 or any other appropriate value).
[0242]
[0243] Several exemplary stability criteria are described above. These stability criteria are merely exemplary, and further are not exclusive to each other. In some implementations, the stability criteria may include multiple individual criteria, and/or may be based on multiple types of data from different data sources. In some cases, the stability criteria can require that multiple criteria be satisfied in order for the operation data to be within the stability criteria. In other cases that stability criteria can require that one or a subset of criteria be satisfied (from a greater set of criteria) in order for the operation data to be within the stability criteria. Some examples are discussed below.
[0244] In an exemplary implementation, the operation data comprises movement speed data representing a movement speed of the vehicle, and engine rotation speed data representing a rotation speed of an engine of the vehicle, as discussed earlier. The stability criteria can thus comprise a threshold in movement speed of the vehicle over time and a threshold in rotation speed of the engine of the vehicle over time. In this exemplary implementation, identifying whether the operation data is within stability criteria comprises identifying whether the movement speed data is within either the threshold in movement speed, and/or the engine rotation speed data is within the threshold in engine rotation speed. In a particular example, the at least one processor can determine whether the movement speed data is within the threshold in movement speed. This can be performed using any of the examples described earlier, such as movement speed-change threshold, threshold difference from mean or median movement speed, median speed, or any other appropriate example. Further, the at least one processor can determine whether the engine rotation speed data is within the threshold in engine rotation speed. This can be performed using any of the examples described earlier, such as threshold difference in engine rotation speed, threshold difference from a mean engine rotation speed, threshold co-efficient of variation, or any other appropriate example. In some examples, if either the movement speed threshold or the engine rotation speed threshold is satisfied, the stability criteria can be considered as satisfied. In other examples, only if each of the movement speed threshold and the engine rotation speed threshold are satisfied will the stability criteria be considered as satisfied.
[0245] In another exemplary implementation, the operation data comprises movement speed data representing a movement speed of the vehicle, engine rotation speed data representing a rotation speed of an engine of the vehicle, and acceleration data representing acceleration of the vehicle, as discussed earlier. The stability criteria can thus comprise a threshold in movement speed of the vehicle over time, a threshold in rotation speed of the engine of the vehicle over time, and a threshold in acceleration of the vehicle over time. In this exemplary implementation, identifying whether the operation data is within stability criteria comprises identifying whether the movement speed data is within the threshold in movement speed, the engine rotation speed data is within the threshold in engine rotation speed, and/or whether the acceleration data is within the acceleration threshold. In a particular example, the at least one processor can determine whether the movement speed data is within the threshold in movement speed. This can be performed using any of the examples described earlier, such as movement speed-change threshold, threshold difference from mean or median movement speed, median speed, or any other appropriate example. Further, the at least one processor can determine whether the engine rotation speed data is within the threshold in engine rotation speed. This can be performed using any of the examples described earlier, such as threshold difference in engine rotation speed, threshold difference from a mean engine rotation speed, threshold co-efficient of variation, or any other appropriate example. Further still, the at least one processor can determine whether the acceleration data is within the acceleration threshold. This can be performed using any of the examples described earlier, such as acceleration magnitude threshold, threshold difference from a mean or median acceleration, a threshold on mean or median acceleration, or any other appropriate example. In some examples, if one of the movement speed, engine rotation speed, or acceleration threshold is satisfied, the stability criteria can be considered as satisfied. In other examples, only if each of the movement speed threshold, the engine rotation speed threshold, and the acceleration threshold are satisfied will the stability criteria be considered as satisfied.
[0246] The above combinations are merely exemplary, and the present disclosure can be applied to other combinations as appropriate.
[0247] By setting two (or more) different criteria for the stability criteria, either of which can be satisfied for the operation data to be identified as being within the stability criteria, stringency of the identification in act 412 of method 400 can be reduced, thereby providing more fuel level data for the fuel level data subset. Further, fuel level data can be identified for inclusion in the fuel level data subset, even if operation data is temporarily unavailable. For example, in hybrid vehicles or plug-in hybrid vehicles, there can be long periods of time where engine rotation speed data is not available (because the vehicle relies on electrical energy and thus the engine is not used). By implementing another stability criteria which does not rely on engine rotation speed data, fuel level data can still be identified for inclusion in the fuel level data subset.
[0248] In contrast, by setting two (or more) different criteria for the stability criteria, all of which must be satisfied for the operation data to be identified as being within the stability criteria, stringency of the identification in act 412 of method 400 can be increased, thereby limiting the fuel level data subset to only very particular data.
[0249] These factors generally should be appropriately balanced to provide enough data in the fuel level data subset for meaningful interpretations (stability criteria is not overly stringent), while not polluting the fuel level data subset with poor quality fuel level data (i.e. stability criteria is not stringent enough).
[0250] The example of
[0251]
[0252]
[0253] Despite the fuel level data subset corresponding to relatively stable periods of operation of the vehicle, the fuel level data itself still may not be complete stable and accurate. To address this, fuel level data in the fuel level data subset can be aggregated (e.g. averaged or otherwise combined) to determine more consistent fuel level data for each interval.
[0254] Further still, the fuel level data subset (for example as determined in
[0255] The description of
[0256] In the example of plot 1430, only three data points are shown, but other fuel level points could be identified outside the viewable area of plot 1430. As a result, reference line 1432 could extend between such other data points, and points 1490 and 1494 could also not be identified for inclusion in the simplified fuel level data subset.
[0257] While the present invention has been described with respect to the non-limiting embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. Persons skilled in the art understand that the disclosed invention is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. Thus, the present invention should not be limited by any of the described embodiments.
[0258] Throughout this specification and the appended claims, infinitive verb forms are often used, such as to operate or to couple. Unless context dictates otherwise, such infinitive verb forms are used in an open and inclusive manner, such as to at least operate or to at least couple.
[0259] The specification includes various implementations in the form of block diagrams, schematics, and flowcharts. A person of skill in the art will appreciate that any function or operation within such block diagrams, schematics, and flowcharts can be implemented by a wide range of hardware, software, firmware, or combination thereof. As non-limiting examples, the various embodiments herein can be implemented in one or more of: application-specific integrated circuits (ASICs), standard integrated circuits (ICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), computer programs executed by any number of computers or processors, programs executed by one or more control units or processor units, firmware, or any combination thereof.
[0260] The disclosure includes descriptions of several processors. Said processor can be implemented as any hardware capable of processing data, such as application-specific integrated circuits (ASICs), standard integrated circuits (ICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), logic circuits, or any other appropriate hardware. The disclosure also includes descriptions of several non-transitory processor-readable storage mediums. Said non-transitory processor-readable storage mediums can be implemented as any hardware capable of storing data, such as magnetic drives, flash drives, RAM, or any other appropriate data storage hardware.