METHOD AND DEVICE FOR ESTIMATE THE WEIGHT OF A VEHICLE
By employing strain gauges on shock absorber domes to measure strain, the method addresses the inaccuracy of existing vehicle weight estimation techniques, providing reliable and precise load and vehicle weight calculations.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-17
- Publication Date
- 2026-03-26
AI Technical Summary
Existing vehicle weight estimation techniques are prone to noise and inaccuracy due to hysteresis in suspension systems, suspension sag, and other factors, leading to unreliable load and vehicle weight measurements.
The use of strain gauges mounted on shock absorber domes to measure strain resulting from vehicle load, providing accurate and reliable estimates of vehicle weight and load by utilizing the primary vertical load path of the suspension spring, which is resistant to suspension-based noise factors.
The strain gauge-based method offers more accurate and consistent vehicle weight and load estimates by minimizing noise interference, thereby improving the reliability and precision of weight measurements.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
AREA OF REVELATION
[0001] This disclosure generally relates to vehicles and in particular to methods and devices for estimating the weight of a vehicle. GENERAL STATE OF THE ART
[0002] Some vehicles (e.g. vans, trucks, sports utility vehicles (SUVs), etc.) can carry significant loads and often have weight limits that should not be exceeded to ensure proper vehicle handling and / or performance during normal use. SUMMARY
[0003] An exemplary apparatus disclosed in this document includes an interface circuit, machine-readable instructions and at least one processor circuit programmed by the machine-readable instructions to obtain strain measurement data from a strain gauge, wherein the strain gauge is coupled to a surface of a shock absorber dome of a vehicle, and to estimate a permissible total weight of the vehicle based on the strain measurement data.
[0004] At least one example of a non-transient machine-readable medium disclosed in this document includes machine-readable instructions to cause at least one processor circuit to obtain at least strain measurement data from a strain gauge, wherein the strain gauge is coupled to a surface of a shock absorber dome of a vehicle, and to estimate a permissible total weight of the vehicle based on the strain measurement data.
[0005] An example of a method disclosed in this document includes at least obtaining strain measurement data from a strain gauge, wherein the strain gauge is coupled to a surface of a shock absorber dome of a vehicle, and estimating a permissible total weight of the vehicle based on the strain measurement data. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 illustrates an exemplary vehicle implementing an exemplary vehicle weight estimation circuit according to the teachings of this disclosure. Fig. Figure 2 is a perspective view of an exemplary shock absorber dome, which is fitted to the exemplary vehicle made of Fig. 1 can be implemented. Fig. Figure 3 illustrates a first exemplary mounting location for a strain gauge on an exemplary shock absorber dome. Fig. Figure 4 illustrates a second exemplary mounting location for the strain gauge on the exemplary shock absorber dome. Fig. 3. Fig. 5 is a top view of the shock absorber dome. Fig. 3 and / or 4, with additional exemplary assembly locations shown. Fig. Figure 6 illustrates a sixth exemplary mounting location for the strain gauge on the exemplary shock absorber dome. Fig. 3, Fig. 4 and / or 5. Fig. Figure 7 illustrates the exemplary shock absorber dome made of Fig. 3, Fig. 4, Fig. 5 and / or 6, including example mounting blocks. Fig. Figure 8 illustrates the exemplary shock absorber dome including the mounting blocks made of Fig. 7, wherein strain gauges are coupled to corresponding mounting blocks. Fig. Figure 9 is a block diagram of an exemplary implementation of the exemplary vehicle weight estimation circuit from Fig. 1. Fig. Figure 10 illustrates an exemplary progression that is representative of exemplary data samples taken from one of the wheels of Fig. 1 corresponds. Fig. Figure 11A illustrates a first exemplary graph showing exemplary estimated corner loads and corresponding exemplary measured corner weights for a corresponding wheel. Fig. 1. were obtained and / or determined to be representative. Fig. Figure 11B illustrates a second exemplary graph, representative of exemplary hysteresis analysis results, showing the selected corner weight values from Fig. 11A corresponds. Fig. Figure 11C illustrates a third exemplary graph, which represents an error between the estimated corner weights and the corresponding measured corner weights. Fig. 11A and / or 11B. Fig. Figure 12 is a flowchart representative of exemplary machine-readable instructions and / or exemplary operations used to estimate one or more weight metrics associated with the vehicle. Fig. 1 can be executed, instantiated and / or performed by an exemplary programmable circuit. Fig. 13 is a flowchart that presents exemplary machine-readable instructions and / or exemplary operations that can be executed, instantiated and / or performed by an exemplary programmable circuit to generate one or more exemplary calibration models. Fig. Figure 14 is a block diagram of an exemplary programmable circuit platform used to execute and / or instantiate the exemplary machine-readable instructions and / or the exemplary operations from Fig. 12 and / or 13 is structured to enable the vehicle weight estimation circuit. Fig. 9 to implement.
[0006] Generally, the same reference symbols are used throughout the drawing(s) and the accompanying written description to refer to the same or similar parts. The figures are not necessarily to scale. Instead, the thickness of the layers or regions in the drawings may be enlarged. Although the figures show layers and regions with clear lines and boundaries, some or all of these lines and / or boundaries may be idealized. In reality, the boundaries and / or lines may not be observable, may merge into one another, and / or may be irregular. DETAILED DESCRIPTION
[0007] In the sense used in this document, the orientation of features is described with reference to a transverse axis, a vertical axis, and a longitudinal axis of the vehicle to which the features are assigned. In the sense used in this document, the longitudinal axis of the vehicle runs parallel to a centerline of the vehicle. The terms "rear" and "front" refer to directions along the longitudinal axis closer to the rear end of the vehicle and the front end of the vehicle, respectively. In the sense used in this document, the vertical axis of the vehicle runs perpendicular to the ground on which the vehicle rests. The terms "below" and "above" are used to refer to directions along the vertical axis closer to the ground and away from the ground, respectively. In the sense used in this document, the transverse axis of the vehicle runs perpendicular to the longitudinal and vertical axes and is generally parallel to the vehicle's axes.
[0008] As used in this document, a "GVW" refers to the weight of a vehicle (e.g., the vehicle's unladen weight plus the weight of any cargo and / or passengers on the vehicle). As used in this document, the "load weight" of a vehicle refers to the difference between the GVW and the vehicle's unladen weight (e.g., the unladen weight being the weight of the vehicle's hardware and consumables, and the vehicle's weight including a full tank of fuel and standard equipment, but excluding passengers or cargo, etc.). The load weight on a vehicle typically includes the weight added by a user of the vehicle (e.g., the weight of the vehicle's occupants, the cargo loaded into the vehicle, etc.).In the sense used in this document, a "permissible vehicle weight rating" (PVWR) refers to a maximum permissible gross vehicle weight (e.g., a maximum permissible weight of the vehicle when loaded with passengers and / or freight). As used in this document, a "corner weight" refers to a weight of the vehicle borne by a particular wheel of the vehicle.
[0009] Some techniques for estimating vehicle weight and / or load weight rely on the use of special load sensors on the vehicle, which may require increasing the weight associated with the vehicle. Alternatively, some known techniques measure suspension position and / or displacement to estimate vehicle weight and / or load weight. In some cases, noise can be introduced into such suspension-based measurements due to hysteresis in one or more springs of a suspension system, suspension system sag, bushing roll-up, energy loss and / or gain at one or more suspension system links, camber amplification, suspension system stiffness induced by the parking brake, etc.Such noise can reduce the accuracy and / or consistency of measurements associated with the suspension system and, as a result, can reduce the accuracy of load weight and / or vehicle weight estimates based on the measurements.
[0010] The examples disclosed in this document utilize one or more strain gauges (e.g., strain sensors) coupled to the corresponding shock absorber domes of a vehicle to measure strain resulting from deformation of the shock absorber dome(s) under load. Based on measurement data (e.g., strain measurements) from the strain gauge(s), the disclosed examples estimate a load weight on the vehicle, a gross vehicle weight (GVW) of the vehicle, and / or one or more corner weights assigned to the respective wheels of the vehicle. In some examples, strain gauges are robust against temperature changes, and accordingly, measurement data from the strain gauges may be more resistant to noise (e.g., compared to measurement data from a position sensor and / or another type of sensor).Additionally, examples disclosed in this document utilize a primary vertical load path of a suspension spring associated with a shock absorber dome by mounting strain gauges on that dome to obtain measurable (e.g., sufficiently large) and consistent strain measurements. By using data from strain gauges mounted on appropriate shock absorber domes of the vehicle, examples disclosed in this document can provide vehicle weight and / or load weight estimates that are resistant to suspension-based noise factors and, as a result, may be more accurate and reliable (e.g., compared to estimates obtained using some known load estimation techniques).
[0011] Fig. Figure 1 illustrates an exemplary vehicle 100 that implements an exemplary vehicle weight estimation circuit 102 according to the teachings of this disclosure. In the illustrated example from Fig. In example 1, vehicle 100 is a truck. In some examples, vehicle 100 may be a different type of vehicle (e.g., a sedan, a van, a sport utility vehicle (SUV), etc.). In the example from Fig. In this example, the vehicle 100 includes a first wheel (e.g., a left front (LF) wheel) 104A and a second wheel (e.g., a right front (RF) wheel) 104B, a third wheel (e.g., a left rear (LR) wheel) 104C, and a fourth wheel (e.g., a right rear (RR) wheel) 104D (collectively referred to in this document as wheels 104). In this example, the first and second wheels (e.g., the front wheels) 104A, 104B are coupled to and / or assigned to a front axle 110A of the vehicle 100, and the third and fourth wheels (e.g., the rear wheels) 104C, 104D are coupled to and / or assigned to a rear axle 110B of the vehicle 100.
[0012] Additionally, the vehicle includes 100 from Fig. 1 Exemplary suspension systems 112A, 112B, 112C, 112D (collectively referred to in this document as suspension systems 112) which are operatively coupled to each of the wheels 104. For example, the vehicle 100 includes a first suspension system 112A which is operatively coupled to the first wheel 104A, a second suspension system 112B which is operatively coupled to the second wheel 104B, a third suspension system 112C which is operatively coupled to the third wheel 104C, and a fourth suspension system 112D which is operatively coupled to the fourth wheel 104D. In this example, the suspension systems 112 are MacPherson strut suspension systems. In some examples, one or more different types of suspension systems may be used for one or more of the suspension systems 112 (e.g. passive double wishbone (SLA) suspensions, trailing arm suspensions, active and / or semi-active suspension systems, etc.).In some examples, the suspension systems 112 may include shock absorbers and / or struts, which may be mounted on the vehicle 100 via one or more exemplary shock absorber domes (e.g. on a body and / or frame of the vehicle 100).
[0013] Fig. Figure 2 is a perspective view of an exemplary shock absorber dome 200, which is attached to the exemplary vehicle 100. Fig. 1 can be implemented. For example, the shock absorber dome 200 can be one of the suspension systems 112 from Fig. 1 be assigned. In the illustrated example from Fig. In Figure 2, the shock absorber mount 200 is coupled to an exemplary frame 202 of the vehicle 100 and includes one or more exemplary openings (e.g., a shock absorber opening 204 and mounting openings 206) for receiving and / or mounting a shock absorber. In this example, the shock absorber opening 204 is positioned at or near the center of an upper surface 208 of the shock absorber mount 200, and the mounting openings 206 are positioned in the upper surface 208 and spaced apart by a circumference of the shock absorber opening 204. In this example, the shock absorber mount 200 includes three of the mounting openings 206. In some examples, the number of openings, their location(s), and / or the spacing between the openings 204 and 206 may differ.
[0014] In some examples, an increase in the load on the vehicle 100 (e.g., as a result of an increase in the number of occupants and / or an increase in cargo positioned in and / or on the vehicle 100) can lead to a deformation and / or elongation of one or more surfaces (e.g., the upper surface 208 and / or a side surface 210) of the shock absorber dome 200. In the illustrated example from Fig. 2 represents an exemplary indicator 212 illustrating exemplary strain values that were measured and / or determined for the shock absorber dome 200 as a result of such a load. For example, indicator 212 relates exemplary patterns, colors, and / or shades at respective locations of the shock absorber dome 200 to corresponding strain values that were measured and / or determined for the respective locations. In this example, the strain values (e.g., relative to other locations of the shock absorber dome 200) are increased near a distal end 214 of the shock absorber dome 200 (e.g., a location on the upper surface 208 furthest from the vehicle frame 202). Furthermore, in this example, the strain values (e.g., relative to other locations of the shock absorber dome 200) are increased at one or more locations on the side surface 210 and / or on the upper surface 208 between adjacent mounting holes 206.In some examples, the strain values corresponding to one or more points of the shock absorber dome 200 may differ (e.g. as a result of a change in the load on the vehicle 100 and / or a change in the properties (e.g. geometry, material, composition, etc.) of the shock absorber dome 200).
[0015] In some examples, the strain values (such as those indicated by indicator 212) can be determined. Fig. 2 shown) based on the results of a finite element analysis of a computer model (e.g., a computer-aided design (CAD) model) corresponding to the shock absorber dome 200. In some examples, the strain values can be determined based on strain measurements from one or more strain sensors (e.g., strain gauges) positioned on the shock absorber dome 200. In some examples, the strain values can be used to inform and / or assist in the selection of the mounting positions for the strain sensor(s). For example, the strain sensor(s) can be positioned near a location(s) on the shock absorber dome 200 where the strain value(s) is elevated and / or increased (e.g., relative to other locations on the shock absorber dome 200).
[0016] With renewed reference to Fig. 1 The vehicle 100 further includes one or more exemplary strain gauges (e.g. strain sensors) 114, which are operationally attached to corresponding shock absorber domes (e.g. the shock absorber dome 200 made of Fig. 2) are coupled and / or mounted to the corresponding suspension systems 112. In this example, four of the strain gauges 114 are mounted on corresponding different shock absorber mounts near respective corners and / or wheels 104 of the vehicle 100. While in this example one of the strain gauges 114 is mounted per shock absorber mount, a different number of strain gauges 114 may be used instead (e.g., in some examples two or more of the strain gauges 114 may be mounted on a single shock absorber mount). In some examples locations (e.g. mounting locations) for the respective strain gauges 114 are determined based on the expected strain values (as in Fig. 2) are selected at the respective locations. In some examples, the locations are selected to provide a relatively flat surface for the strain gauges 114. The selection of mounting locations for the strain gauges 114 and possible candidate mounting locations are described further below in conjunction with Fig. Shown 3-6.
[0017] In the illustrated example from Fig. 1. The vehicle weight estimation circuit 102 is communicatively coupled to the strain gauges 114 in order to access, retrieve, and / or otherwise obtain exemplary strain measurements (e.g., strain measurement data) from the strain gauges 114. In some examples, the strain measurements represent a strain on a surface of the respective shock absorber domes. In the example from Fig. 1. Based on strain measurements, the vehicle weight estimation circuit 102 can determine the vehicle weight of at least one of the vehicle's wheel 100, a size and / or location corresponding to a load on the vehicle 100, and / or corner weights assigned to the corresponding wheels 104 (e.g., near the respective corners) of the vehicle 100. The vehicle weight estimation circuit 102 is also communicatively coupled to an exemplary user interface (e.g., a human-machine interface (HMI)) 116 of the vehicle 100. In some examples, the vehicle weight estimation circuit 102 can display the measured and / or determined values (e.g., strain measurements, wheel 100, size and / or location of the load, corner weights, etc.) via the user interface 116.Furthermore, in some examples, the vehicle weight estimation circuit 102 is communicatively coupled to one or more additional devices via an exemplary network 118. In such examples, the vehicle weight estimation circuit 102 can provide the measured and / or determined values to the additional device(s) for storage and / or display via the network 118.
[0018] Fig. Figures 3-6 illustrate exemplary assembly locations (e.g. candidate assembly locations) of an exemplary shock absorber dome 300, on which the strain gauge 114 is mounted. Fig. 1. In the examples from Fig. 3-6 is the shock absorber dome 300 to the first suspension system 112A and / or the first wheel (e.g. the left front wheel) 104A of the vehicle 100. Fig. 1 assigned. In some examples, the shock absorber mount 300 can be assigned to another of the suspension systems 112 and / or the wheels 104. Fig. 1.
[0019] With reference to Fig. Figure 3 shows a first exemplary assembly location (e.g., a first candidate location) 302A for the strain gauge 114. In the illustrated example from Fig. 3 The first mounting point 302A is located on an exemplary side surface 304 of the shock absorber dome 300, wherein the side surface 304 extends downwards (e.g., substantially vertically downwards) from an upper surface 306 of the shock absorber dome 300. In particular, the first mounting point 302A is located on a forward-facing section 308A of the side surface 304, wherein the forward-facing section 308A extends with respect to the vehicle 100 from Fig. 1 is facing forwards.
[0020] Alternatively illustrated Fig. 4 a second exemplary mounting location (e.g. a second candidate location) 302B on the shock absorber dome 300 from Fig. 3. In the illustrated example from Fig. 4 the second mounting point 302B is located on a rearward-facing section 308B of the side surface 304, wherein the rearward-facing section 308B extends in relation to the vehicle 100 from Fig. 1 is facing backwards.
[0021] Fig. Figure 5 is a top view of the shock absorber dome 300. Fig. 3 and / or 4, with additional exemplary assembly locations shown. In particular Fig. Figure 5 illustrates a third, fourth, and fifth exemplary mounting location (e.g., a third, fourth, and fifth candidate location) 302C, 302D, 302E on the upper surface 306 of the shock absorber dome 300. In the illustrated example from Fig. 5 the third mounting point 302C is located between a first and second mounting opening 502A, 502B in the upper surface 306, the fourth mounting point 302D is located between the second mounting opening 502B and a third mounting opening 502C in the upper surface 306 and the fifth mounting point 302E is located between the first and the third mounting opening 502A, 502C, wherein the mounting openings 502A, 502B, 502C are spaced apart by a circumference of a shock absorber opening 504 in the upper surface 308.
[0022] Fig. Figure 6 illustrates a sixth exemplary assembly location (e.g., a sixth candidate location) 302F for the strain gauge 114. In the illustrated example from Fig. 6 The sixth mounting point 302F is located on an exemplary inner surface 602 of the shock absorber dome 300, wherein the inner surface 602 is said to face a shock absorber when the shock absorber is mounted on the shock absorber dome 300 (e.g., via the shock absorber opening 504 and / or the mounting openings 502A, 502B, 502C). In some examples, the sixth mounting point 302F corresponds to a substantially flat section of the inner surface 602.
[0023] In some examples, the strain gauge 114 can be mounted at any of the mounting points 302 (e.g., the first mounting point 302A, the second mounting point 302B, the third mounting point 302C, the fourth mounting point 302D, the fifth mounting point 302E and / or the sixth mounting point 302F). Fig. 3-6 are operatively coupled and / or mounted. For example, the strain gauge 114 can be coupled to one of the mounting locations 302, which provides a more consistent signal and / or results in strain measurements that exhibit reduced noise (e.g., compared to another mounting location(s) of the mounting locations 302). In some examples, the third mounting location 302C provides more consistent strain measurement signals (e.g., compared to another of the mounting locations 302), and consequently, the third mounting location 302C is selected for the strain gauge 114. In some examples, another of the mounting locations 302 can be selected instead. Furthermore, in some examples, the third mounting location 302C is used for several (e.g., all) shock absorber domes of the vehicle 100. For example, the strain gauges 114 can be from Fig. 1. The third mounting point 302C is coupled to the respective shock absorber domes (which correspond, for example, to the respective wheels 104 and / or corners of the vehicle 100). In some examples, different mounting points 302 can be selected for different shock absorber domes.
[0024] Fig. Figure 7 illustrates the exemplary shock absorber dome 300 from Fig. 3-6, including exemplary mounting blocks 702. In the illustrated example from Fig. 7 The shock absorber dome 300 includes a first and a second exemplary mounting block 702A, 702B, which are coupled to the upper surface 306 of the shock absorber dome 300 at the third mounting point 302C, and a third and a fourth exemplary mounting block 702C, 702D, which are coupled to the upper surface 306 of the shock absorber dome 300 at the fifth mounting point 302E. In some examples, the location(s) where the mounting blocks 702A, 702B are mounted may be different. For example, one or more of the mounting blocks 702A, 702B may be mounted at a different mounting point 302, which is associated with Fig. 3-6 are described, and / or are mounted at a location(s) that differ from the mounting locations 302. In this example, the mounting blocks 702 are welded to the upper surface 306. In some examples, the mounting blocks 702 may be formed integrally within the shock absorber dome 300 (e.g., during a casting or stamping process for the shock absorber dome 300) and / or may be detachably coupled to the upper surface 306 (e.g., via one or more fasteners) in some examples. In some examples, the mounting blocks 702 may be coupled to the shock absorber dome 300 by brazing, soldering, riveting, and / or bonding. In the illustrated example from Fig. 7 include the mounting blocks 702 exemplary threaded openings 704 for receiving a screw or other fastener to accommodate a corresponding strain gauge 114 Fig. 1 to be attached to the shock absorber dome 300. The threaded openings 704 are positioned in mounting surfaces 706 of the respective mounting blocks 702, wherein the mounting surfaces 706 should contact the strain gauge(s) 114 when the strain gauge(s) 114 is / are attached to the mounting blocks 702.
[0025] In some examples, corresponding pairs of mounting blocks 702 (e.g., the first and second mounting blocks 702A, 702B, the third and fourth mounting blocks 702C, 702D, etc.) are dimensioned, shaped, and / or positioned to provide an essentially flat surface for mounting the respective strain gauge 114 therein. If, for example, a section of the upper surface 306 (corresponding, for example, to the third mounting location 302C and / or the fifth mounting location 302E) is curved, the corresponding pair(s) of mounting blocks 702 is / are dimensioned, shaped, and / or positioned such that the mounting surfaces 706 of the mounting blocks 702 provide an essentially flat (e.g., non-curved) surface. In some such examples, a first of the mounting blocks 702 (e.g.,the first mounting block 702A, the third mounting block 702C) have an increased height relative to a corresponding second of the mounting blocks 702 to provide the substantially flat surface (e.g. the second mounting block 702B, the fourth mounting block 702D) and / or the mounting surface 706 of the first of the mounting blocks 702 may be angled relative to the mounting surface 706 of the second of the mounting blocks 702.
[0026] In some examples, the mounting blocks 702 can increase, amplify, and / or improve the strain measurements obtained by the strain gauges 114. For example, the strain measurements obtained by the strain gauges 114 can be increased when the strain gauges 114 are coupled to the mounting blocks 702, compared to when the strain gauges 114 are coupled directly to a surface (e.g., the upper surface 306) of the shock absorber dome 300 (e.g., without the mounting blocks 702). In other words, a first strain measured by the strain gauges 114 when mounted on the mounting surface 706 of the mounting blocks 702 can be greater than a second strain measured by the strain gauges 114 when mounted on a surface (e.g., a section of the upper surface 306) of the shock absorber dome 300.As a result, strain can be detected more easily when the strain gauges 114 are coupled to the shock absorber dome 300 via the mounting blocks 702 (e.g., compared to when the mounting blocks 702 are not used).
[0027] Fig. Figure 8 illustrates the exemplary shock absorber dome 300 including the mounting blocks 702. Fig. 7, wherein some of the strain gauges 114 (e.g., a first strain gauge 114A and a second strain gauge 114B) are coupled to corresponding mounting blocks 702. For example, the first strain gauge 114A is coupled to the first and second mounting blocks 702A and 702B, and the second strain gauge 114B is coupled to the third and fourth mounting blocks 702C and 702D. Furthermore, in the illustrated example from Fig. 8 An exemplary shock absorber (e.g., a shock absorber assembly) 802 is mounted to the shock absorber dome 300 by means of fasteners 804. In some examples, the strain gauges 114A, 114B can provide more consistent signals and / or less noisy measurements by mounting the strain gauges 114A, 114B to substantially flat surfaces of the respective mounting blocks 702 (e.g., compared to when the strain gauges 114A, 114B are mounted directly to curved surfaces of the shock absorber dome 300). In this example, two of the mounting blocks 702 are used to mount one of the strain gauges 114 to the shock absorber dome 300. In some examples, a different number of mounting blocks 702 can be used to mount one of the strain gauges 114. For example, a corresponding pair of mounting blocks 702 (e.g.,the first and second mounting blocks 702A, 702B, the third and fourth mounting blocks 702C, 702D) in some examples may be formed as a single part on the shock absorber dome 300.
[0028] Fig. Figure 9 is a block diagram of an exemplary implementation of the exemplary vehicle weight estimation circuit 102 from Fig. 1. The vehicle weight estimation circuit 102 from Fig. 9 can be instantiated by a programmable circuit, such as a central processing unit (CPU), which executes initial instructions (e.g., create an instance of it, bring it about for any desired duration, materialize it, implement it, etc.). Additionally or alternatively, the vehicle weight estimation circuit 102 can be made from Fig. 9. instantiated (e.g., creating an instance of, induced for any duration, materializing, implementing, etc.) by (i) an application-specific integrated circuit (ASIC) and / or (ii) a field-programmable gate array (FPGA) constructed and / or configured to perform operations corresponding to those of the first instructions in response to the execution of second instructions. It is understood that some or all of the circuits from Fig. 9 can therefore be instantiated at the same or different times. Some or all of the circuits from Fig. For example, 9 can be instantiated in one or more threads that are executed concurrently on hardware and / or sequentially on hardware. Furthermore, in some examples, some or all of the circuits from Fig. 9. This may be implemented by a microprocessor circuit that executes instructions and / or an FPGA circuit that performs operations to implement one or more virtual machines and / or one or more containers.
[0029] In the illustrated example from Fig. 9 includes the vehicle weight estimation circuit 102, an exemplary data interface circuit 902, an exemplary calibration circuit 904, an exemplary weight estimation circuit 906, an exemplary position estimation circuit 908, an exemplary output circuit 910, an exemplary map analysis circuit 912 and an exemplary database 914.
[0030] The exemplary database 914 from Fig. Database 9 stores data that is used and / or determined by the vehicle weight estimation circuit 102. The example database 914 from Fig. 9 is implemented by any storage medium, storage device, and / or storage disk for storing data, such as flash memory, magnetic media, optical media, solid-state storage, hard disk drive(s), USB drive(s), etc. Furthermore, the data stored in database 914 can be in any data format, such as binary data, comma-separated data, tab-separated data, Structured Query Language (SQL) structures, etc. While the illustrated example depicts database 914 as a single device, the example database 914 and / or any other data storage devices described in this document can be implemented by any number and / or type(s) of storage and / or software.
[0031] The data interface circuit 902 from Fig. 9 accesses, retrieves, and / or otherwise obtains exemplary input data that is to be used by the vehicle weight estimation circuit 102 to estimate weight(s) (e.g. GVW, corner weight(s), load weight(s), etc.) that the vehicle 100 has from Fig. 1 are assigned. For example, the data interface circuit 902 can be connected to the strain gauges 114. Fig. 1. Obtain exemplary sensor data 916, the strain measurements, the respective shock absorber domes (e.g., the shock absorber dome 300). Fig. 3-8) of the vehicle 100 are included. In some examples, the strain measurements represent a strain on a surface of the shock absorber dome to which a corresponding strain gauge 114 is mounted.
[0032] Furthermore, in the example from Fig. 9 the data interface circuit 902 exemplary scale data 918, which are assigned to the vehicle 100, and / or exemplary user inputs (e.g. user input data) 920, which for example via the user interface 116 from Fig. 1. In some examples, the vehicle 100 can be driven onto and / or placed on one or more scales (e.g., at a weighing station, in a production plant, etc.) to obtain the scale data 918. In some such examples, the data interface circuit 902 is communicatively coupled to the scale(s) to obtain weight measurement(s) from them. Additionally or alternatively, an operator can read the weight measurement(s) output by the scale(s) and then provide the weight measurement(s) to the data interface circuit 902 (e.g., via user input 920).
[0033] In some examples, the scale data 918 may represent a measured weight(s) of the vehicle 100, corresponding to the respective different time and / or load conditions. For example, the scale data 918 may include a measured unladen weight (e.g., a vehicle's empty weight) of the vehicle 100. In some examples, the measured unladen weight corresponds to a scale output when the vehicle 100 is unloaded (e.g., when there are no passengers and no cargo on the vehicle 100). In some examples, the scale data 918 may include one or more corner weights (e.g., measured corner weights) corresponding to the respective wheels 104 of the vehicle 100. In some examples, the unloaded vehicle 100 is driven on several scales and / or placed on several scales to obtain the corner weights (so that the wheels 104 are positioned on each of the scales, for example).In such examples, the output (e.g., the measured weight) from one of the scales indicates the corner weight assigned to the wheel 104 positioned on the scale. In some examples, the tare weight and / or the corner weight(s) are values provided by the manufacturer and can therefore be supplied to the data interface circuit 902 (e.g., via user input 920) without the use of one or more scales.
[0034] In some examples, the eckler weights and the corresponding strain measurements are stored as exemplary data samples (e.g., calibration samples) in the exemplary database 914. For example, when one of the wheels 104 is positioned on a scale, the data interface circuit 902 obtains the output of the eckler weight from the scale and also obtains the strain measurement output from one of the strain gauges 114 that is assigned to that one of the wheels 104. In such examples, the data interface circuit 902 causes the database 914 to store the eckler weight and the corresponding strain measurement as an exemplary data sample that corresponds to that one of the wheels 104.
[0035] In some examples, the data interface circuit 902 obtains additional data samples for each of the wheels 104 based on results from an exemplary calibration process. In such a calibration process, a load (e.g., a calibration load) is positioned on the vehicle 100 at an exemplary calibration location (e.g., a starting location, an initial calibration location) along a two-dimensional (2-D) plane (e.g., a horizontal plane, a transverse plane) of the vehicle 100. In some examples, the calibration location corresponds to an expected center of mass of the vehicle 100 (e.g., the expected center of mass when the vehicle 100 is loaded with passengers and / or cargo). In some examples, the calibration location is approximately equidistant (e.g., along the 2D plane) from each of the wheels 104. In some examples, a different calibration location may be used instead.
[0036] In some examples, the data interface circuit 902 detects and / or determines, based on a change in the scale data 918 (e.g., an increase in the measured corner weight(s) output by one or more scales), that the load is positioned at the calibration point and / or based on user input 920. When the load is detected, the data interface circuit 902 obtains the measured corner weights (e.g., via the scale data 918 and / or the user input 920) and the strain measurements (e.g., via the sensor data 916) that are assigned to the respective wheels 104. In such examples, the data interface circuit 902 causes the database 914 to store the measured corner weights in conjunction with the corresponding strain measurements as a data sample assigned to the corresponding wheels 104. Furthermore, a weight (e.g., a size) of the load can be set during the calibration process.The data interface circuit 902 can be used to increase and / or decrease the load weight, and it can also enable the storage of additional data samples (e.g., additional measured corner weights and corresponding strain measurements) corresponding to the set load weight. In some examples, the data interface circuit 902 determines that the calibration process is complete when a number (e.g., a quantity) of data samples meets an exemplary threshold (e.g., at least 2 data samples, 10 or more data samples, etc.) (e.g., is greater than or equal to this threshold).
[0037] In the example from Fig. 9. The data interface circuit 902 can further acquire data samples corresponding to different locations of the load on the vehicle 100. For example, in addition to or instead of the weight of the load being set, a location of the load (e.g., relative to the 2D plane of the vehicle 100) can be set, and the resulting corner weights and / or strain measurements can be recorded as data samples. For example, the load can be positioned forward or backward relative to the initial calibration location and / or closer to the right or left side of the vehicle 100 (e.g., relative to the initial calibration location). In some examples, the data interface circuit 902 determines the location of the load (e.g., relative to the initial calibration location) along the 2D plane of the vehicle 100 based on the user input 920.In some such examples, the load point is stored in conjunction with the corresponding data samples for each of the wheels 104 (e.g., in database 914). In some examples, the data interface circuit 902 is instantiated by a programmable circuit executing data interface circuit instructions and / or is used to perform operations such as those described by the flowchart(s) from . Fig. 12 and / or 13 are displayed, configured.
[0038] The calibration circuit 904 from Fig. 9 generates and / or updates one or more exemplary calibration models (e.g., calibration curves) for use in estimating vehicle weight(s) (e.g., corner weight(s), load weight(s), GVW(s), etc.) of the vehicle 100. For example, the calibration circuit 904 can generate the calibration models to output estimated corner weights based on the strain measurements assigned to each of the wheels 104 (e.g., the strain measurements from the respective strain gauges 114 mounted on shock absorber domes assigned to the wheels 104).
[0039] In the illustrated example from Fig. 9. The calibration circuit 904 accesses a section of the data samples obtained for the corresponding wheel 104 (e.g., via the data interface circuit 902) (e.g., from the database 914) to generate the calibration model for that wheel 104. For example, the section of data samples includes the strain measurements and the corresponding corner weights measured on the wheel 104 when the load is positioned at the calibration point. In some examples, the calibration circuit 904 determines a correlation (e.g., a linear relationship) between the strain measurements and the corresponding corner weights.
[0040] For example, it illustrates Fig. 10 an exemplary course 1000, which represents exemplary data samples 1002, which are from one of the wheels 104 Fig. 1 corresponds. In the illustrated example from Fig. Figure 10 includes a first exemplary axis (e.g., a horizontal axis) 1004, representing exemplary corner weights (e.g., in kilograms (kg)) measured on wheel 104, and a second exemplary axis (e.g., a vertical axis) 1006, representing the strain on a shock absorber dome associated with wheel 104. In this example, the data samples 1002 represent the strain and corner weights resulting from corresponding different load weights applied to the vehicle 100 (e.g., at the calibration point).
[0041] In the illustrated example from Fig. 10. The calibration circuit 904 generates and / or obtains an exemplary calibration model 1008 based on the data samples 1002. For example, the calibration circuit 904 can perform a linear regression based on the data samples 1002 to obtain the calibration model 1008. In some examples, the calibration model 1008 can be represented using a gain value and an offset value, where the gain value is based on a slope of the calibration model 1008 and the offset value is based on an axis intercept (e.g., a y-axis intercept) of the calibration model 1008 with respect to the second axis 1006. In some examples, the offset value represents a strain on a shock absorber dome associated with the respective wheel 104 when no load is applied to the vehicle 100.In some examples, the calibration circuit 904 provides the calibration model 1008 to the database 914 for storage therein.
[0042] In some examples, the calibration circuit 904 generates one or more additional calibration models for the respective remaining wheel(s) 104. Fig. 1, and causes the calibration models to be stored in database 914. Fig. 9.
[0043] While this example generates four calibration models (e.g., one calibration model per wheel 104), a different number of calibration models can be used instead. For example, a first calibration model can be generated for the front wheels (e.g., the first and second wheels 104A, 104B) of vehicle 100, and a second calibration model can be generated for the rear wheels (e.g., the third and fourth wheels 104C, 104D) of vehicle 100. In some examples, the model(s) are calibrated for a specific vehicle (e.g., vehicle 100) and / or vehicle type, and the model(s) are recalibrated (e.g., a new calibration model is generated) for different vehicles and / or vehicle types.In some examples, the calibration circuit 904 is instantiated by a programmable circuit executing calibration circuit instructions and / or is used to perform operations such as those described by the flowchart(s) from . Fig. 13 are shown, configured.
[0044] With renewed reference to Fig. 9 utilizes the weight estimation circuit 906 Fig. 9 the calibration model(s) to determine and / or estimate an exemplary weight(s) of the vehicle 100. If, for example, the measured weight(s) for the vehicle 100 is / are not available (e.g., the vehicle 100 is in operation and / or no longer positioned on one or more scales), the weight estimation circuit 906 can extract the sensor data 916 from the strain gauges 114. Fig. 1 and the calibration model(s) to estimate the corner weight(s), GVW, and / or load weight on the vehicle 100. In such examples, the weight estimation circuit 906 can estimate the vehicle weight(s) without the use of a scale and / or one or more specific weight sensors on the vehicle 100 and can consequently reduce the weight assigned to the vehicle 100.
[0045] In the illustrated example from Fig. The weight estimation circuit 906 obtains the strain measurements assigned to the respective shock absorber domes of the wheels 104 from the sensor data 916. Furthermore, the weight estimation circuit 906 obtains the calibration models for each of the wheels 104 from the database 914. Using the calibration models, the weight estimation circuit 906 estimates corner weights on each of the wheels 104 based on the respective strain measurements. In some examples, the weight estimation circuit 906 also estimates a gross vehicle weight (GVW) of the vehicle 100 based on the estimated corner weights. For example, the weight estimation circuit 906 estimates the GVW based on an entirety (e.g., a sum) of the corner weights. In some examples, the weight estimation circuit 906 determines the load weight (e.g., the weight of the load on the vehicle 100) based on a difference between the GVW and the unladen weight of the vehicle 100.Additionally or alternatively, the weight estimation circuit 906 can determine one or more corner load weights (e.g., a weight of the load at each wheel 104 of the vehicle 100) based on differences between the estimated corner weights and the corresponding corner weights for the respective wheels 104. In some examples, the weight estimation circuit 906 provides one or more estimated values (e.g., the estimated corner weight(s), the estimated GVW, the estimated load weight, the estimated corner load weight(s), etc.) to the database 914 for storage. In some examples, the weight estimation circuit 906 is instantiated by a programmable circuit that executes weight estimation circuit instructions and / or is configured to perform operations such as those described by the flowchart(s) from [reference missing]. Fig. 12 reproduced, to carry out.
[0046] The job estimation circuit 908 from Fig. 9 estimates an exemplary location (e.g., a center of gravity location) of the load on the vehicle 100. For example, the location estimation circuit 908 can estimate the location of a center of mass of the load along a 2D plane (e.g., a horizontal plane, a ground plane) of the vehicle 100 based on the corner load weights (e.g., the corner weights assigned to the load on the vehicle 100). In some examples, the location estimation circuit 908 estimates the location based on a ratio between the corner load weights. For example, if the corner load weights are approximately equal across the respective wheels 104 (e.g., the load is evenly distributed across the wheels 104), the location estimation circuit 908 can estimate that the center of mass of the load is approximately equidistant between the wheels 104 (e.g.,The center of mass is located approximately halfway between the front wheels 104A, 104B and the rear wheels 104C, 104D along a longitudinal axis of the vehicle 100, and the center of mass is located approximately halfway between the left wheels 104A, 104C and the right wheels 104B, 104D along a transverse axis of the vehicle 100).
[0047] In another example, the corner load weights can vary between the wheels 104. For example, a first corner load weight assigned to the first wheel 104A can be approximately 40 kilograms (kg), a second corner load weight assigned to the second wheel 104B can be approximately 20 kg, a third corner load weight assigned to the third wheel 104C can be approximately 30 kg, and a fourth corner load weight assigned to the fourth wheel 104D can be approximately 10 kg (resulting, for example, in a total load of approximately 100 kg on the vehicle). In such an example, the position estimation circuit 908 determines that the center of mass of the load is biased 60 / 40 from front to rear (e.g., 60 percent (%) of the load is on the front wheels 104A, 104B and 40 percent of the load is on the rear wheels 104C, 104D) and the center of mass is further biased 70 / 30 from left to right (e.g.,70% of the load is on the left wheels (104A, 104C) and 30% of the load is on the right wheels (104B, 104D).
[0048] In some examples, the position estimation circuit 908 estimates a longitudinal and a transverse position of the center of mass based on the ratios between the corner load weights (e.g., with respect to an origin at the first wheel 104A). For example, the longitudinal position is measured along a longitudinal axis extending between the front and rear wheels 104 (e.g., from the first wheel 104A to the third wheel 104C). Furthermore, the transverse position is measured along a transverse axis extending between the left and right wheels 104 (e.g., from the first wheel 104A to the second wheel 104B). In the preceding example, the position estimation circuit 908 estimates that the longitudinal position is approximately 40% of a first distance (e.g., a longitudinal distance) between the front wheels 104A, 104B and the rear wheels 104C, 104D, and further estimates that the lateral position is approximately 30% of a second distance (e.g.,a lateral distance) between the left wheels 104A, 104C and the right wheels 104B, 104D. While the center of mass location in this example is described with respect to a coordinate system (e.g., the transverse and longitudinal axes) positioned at the first wheel 104, in some examples the location may be described with respect to a different coordinate system. In some examples, the location estimation circuit 908 causes the estimated location (e.g., the longitudinal and lateral location) to be stored in the database 914. In some examples, the location estimation circuit 908 is instantiated by a programmable circuit that executes location estimation circuit instructions and / or is configured to perform operations such as those described by the flowchart(s) from . Fig. 12 reproduced, to carry out.
[0049] The map analysis circuit 912 from Fig. 9 sets one or more estimated corner weights based on an example correction factor map (e.g., a gain map) generated and / or obtained by the map analysis circuit 912. In some examples, the correction factor map includes example correction factors for adjusting gain values of the calibration models based on a location of the load. For example, if the load on the vehicle 100 is shifted relative to the initial calibration location (e.g., the initial location for which the calibration model(s) was generated), the shock absorber domes may deform differently (e.g., at a different rate) compared to when the load is at the calibration location. As a result, corner loads estimated using the calibration model(s) may be inaccurate (e.g., they may differ from the measured loads by more than a threshold amount).(actual, true) corner loads may deviate). In such examples, the map analysis circuit 912 can obtain from the correction factor map the correction factors corresponding to a current location of the load (e.g., the center of mass of the load). The map analysis circuit 912 can apply the correction factors to the corresponding gain values of the calibration models (e.g., multiply the correction factors by them). In such examples, the set calibration models (e.g., the calibration models that have set gain values) can be used to determine set corner weight estimates, whereby the set corner weight estimates can more accurately (e.g., compared to the previous corner weight estimates) represent the measured corner weights of vehicle 100.
[0050] In some examples, the correction factor map is preloaded in the map analysis circuit 912 and / or generated by the map analysis circuit 912 based on data samples collected by the data interface circuit 902. For example, one position of the load (e.g., the calibration load) on the vehicle 100 can be moved and / or set to a second position (which differs, for example, from the initial calibration position). The vehicle 100 can then be loaded (or unloaded) by increasing (or decreasing) the load at the second position, and the data interface circuit 902 can collect data samples (e.g., strain measurements and associated scale measurements) corresponding to the different applied loads at the second position. The map analysis circuit 912 can perform a correlation (e.g.,a linear relationship) between the strain measurements and the associated balance measurements, and determines set gain values (e.g., for the respective strain gauges 114) based on the correlation. In some examples, the map analysis circuit 912 stores the set gain values in the correction factor mapping as example correction factors to be applied to the respective calibration model(s) when the load is positioned at the second location. For example, when the load is positioned at the second location, the calibration circuit 904 uses the set gain values in the calibration model(s) (e.g., instead of the initial gain values determined for the calibration model(s) at the calibration location).Additionally or alternatively, the card analysis circuit 912 determines ratios between the set gain values and the initial gain values and stores the ratios in the correction factor card in conjunction with the second digit.
[0051] In some examples, the map analysis circuit 912 repeats the preceding process for each different location of the load on the vehicle 100. As a result, the map analysis circuit 912 determines correction factors corresponding to each of the different load locations where the load can be positioned on the vehicle 100. In some examples, the map analysis circuit 912 generates the correction factor map by storing (e.g., in the database 914) the correction factors (e.g., the set gain values and / or ratios) in association with the corresponding load locations. In some examples, the map analysis circuit 912 can use the correction factor map to adjust the calibration model(s) to compensate for variations in strain measurements resulting from an unbalanced load distribution on the wheels 104.For example, the 912 map analyzer circuit can set the calibration model(s) by replacing initial gain values with the set gain values from the correction factor chart. In some examples, the 912 map analyzer circuit can set the calibration model(s) by multiplying the initial gain values by the ratios (to obtain, for example, the set gain values).
[0052] In some examples, the location estimator 908 and the map analyzer 912 can execute and / or perform a balancing algorithm to set one or more corner weights estimated by the weight estimator 906 based on an estimated location of the load. For example, after the weight estimator 906 estimates the corner weights based on the sensor data 916, the location estimator 908 estimates a location (e.g., a centroid location, a first load location) of the load based on the corner weights. Using the correction factor map, the map analyzer 912 selects and / or identifies correction factors corresponding to the estimated load location. The map analyzer 912 can apply the selected correction factors to the calibration model(s) to obtain a set calibration model(s) (e.g.,The calibration model(s), which has / have set gain values relative to the initial calibration model(s), then determines updated corner weights for the respective wheels 104 based on the set calibration model(s). In some examples, the position estimation circuit 908 estimates a new and / or updated position (e.g., a second load position) of the load based on the updated corner weights, then calculates a distance (e.g., a 2D distance along a horizontal plane of the vehicle 100) between the updated position and the previously estimated position.
[0053] In some examples, the distance between the updated and the previous location (e.g., the first and second load locations) represents an error associated with the updated location. In some examples, the Location Estimator 908 and / or the Map Analysis Circuit 912 repeat the preceding process until the distance between the previous and updated locations meets an exemplary threshold (e.g., an error threshold). For example, if the distance does not meet the error threshold (e.g., is greater than it), the updated location is used as the first location (e.g., the previous location), and new correction factors and a new updated location are determined (e.g., by the Map Analysis Circuit 912 and / or the Location Estimator 908) based on the first location. Alternatively, if the distance meets the error threshold (e.g.,If the position estimation circuit 908 is less than or equal to the position value, it determines that a convergence of the position estimation has been achieved, and thus the estimated position and the corresponding set weights are stored in the database 914. In some examples, the map analysis circuit 912 is instantiated by a programmable circuit that executes map analysis circuit instructions and / or is configured to perform operations such as those described by the flowchart(s) from [reference]. Fig. 12 as shown, to carry out.
[0054] The output circuit 910 from Fig. 9 generates and / or outputs exemplary weight information 922 based on one or more weights obtained and / or estimated by the vehicle weight estimation circuit 102. For example, the weight information 922 may include the estimated corner weight(s), the estimated GVW, the estimated load weight, and / or the estimated corner load weight(s) determined by the weight estimation circuit 906. Furthermore, in some examples, the weight information 922 may include the estimated load location (e.g., the estimated center of mass of the load) with respect to the 2D plane of the vehicle 100 (as determined, for example, by the location estimation circuit 908). In some examples, the output circuit 910 communicates with the user interface 116. Fig. 1 coupled. In such examples, the output circuit 910 can display (e.g., show) the weight information 922 via the user interface 116 (e.g., for a driver of the vehicle 100). In some examples, the output circuit 910 is communicative (e.g., via the network 118). Fig. 1) coupled to one or more additional (e.g., remote) devices. In such examples, the output circuit 910 can provide the weight information 922 to the additional device(s) for display and / or storage.
[0055] In some examples, output circuit 910 can generate a warning if the weight information 922 does not meet (e.g., exceeds) one or more weight ratings for vehicle 100. For example, in response to determining that the estimated GVWR is greater than a gross vehicle weight rating (GVWR) for vehicle 100, output circuit 910 can generate and / or output the warning (e.g., via user interface 116) to inform an operator of vehicle 100 and / or instruct the operator to reduce a load on vehicle 100. In some examples, output circuit 910 is instantiated by a programmable circuit that executes output circuit instructions and / or is configured to perform operations such as those described in the flowchart(s) from Fig. 12 as shown, to carry out.
[0056] Fig. 11A, Fig. 11B and Fig. Figure 11C illustrates exemplary results of a comparison between estimated corner weights determined based on sensor data 916 and measured corner weights determined based on scale data 918. For example, it illustrates Fig. 11A a first exemplary graph 1100, which shows exemplary estimated corner weights (e.g. based on sensor data 916) and corresponding exemplary measured corner weights (e.g. based on scale data 918), which for each of the wheels 104 from Fig. 1 were obtained and / or determined. In some examples, the corner weights are derived from Fig. 11A is determined during an exemplary calibration procedure in which the vehicle is loaded for a first duration from a starting weight up to a threshold weight (e.g., the weight of a load on the vehicle is gradually increased 100) and the vehicle is unloaded (e.g., the weight of the load is gradually decreased) for a second duration from the threshold weight to the starting weight.
[0057] In the illustrated example from Fig. Figure 11A includes the first graph 1100, a first exemplary axis (e.g., a horizontal axis) 1102, which represents durations (e.g., in seconds) relative to a start time, and a second exemplary axis (e.g., a vertical axis) 1104, which represents the weight (e.g., in kilograms (kg)) on the wheel 104. Furthermore, the first graph 1100 includes a first exemplary line 1106, which is representative of the estimated corner load at the respective durations, the estimated corner load being based on a transformed sensor output from one of the strain gauges 114 coupled to a shock absorber dome of the wheel 104. In this example, the first graph 1100 includes a second exemplary line 1108, which is representative of the measured corner load at the respective durations. In the illustrated example from Fig. 11A includes the first graph 1100, first example markers 1110 corresponding to selected values of the estimated corner weights, and further includes second example markers 1112 corresponding to selected values of the measured corner weights (e.g., the measured corner weights corresponding to the selected estimated corner weights). In this example, respective pairs of selected values (e.g., the estimated corner weights and the corresponding measured corner weights) correspond to data samples obtained at corresponding durations along the first axis 1102.
[0058] Fig. Figure 11B illustrates a second exemplary graph 1120, which is representative of exemplary hysteresis analysis results derived from the selected corner weight values (e.g., the estimated values and the corresponding measured values). Fig. 11A corresponds. In the illustrated example from Fig. In 11B, the second graph 1120 includes a third exemplary axis 1122, representing the measured corner weight (e.g., a scale weight) in kilograms, and a fourth exemplary axis 1124, representing the estimated corner weight (e.g., a sensor weight) in kilograms. In this example, the second graph 1120 includes a third and a fourth exemplary marker 1126, 1128, where the markers 1126, 1128 are from Fig. 11B corresponding various data samples from Fig. 11A represent (e.g. the respective pairs of the first and second markings 1110, 1112 from Fig. 11A). For example, the markings 1126, 1128 can be from Fig. Figure 11B represents the measured corner weights along the third axis 1122 and the corresponding estimated corner weights along the fourth axis 1124. In this example, the third markings 1126 represent the first of the data samples obtained during the loading (e.g., increasing a load) of the vehicle 100, and the fourth markings 1128 represent the second of the data samples obtained during the unloading (e.g., reducing the load) of the vehicle 100.
[0059] Fig. Figure 11C illustrates a third exemplary graph 1130, which represents an error (e.g., differences) between the estimated corner weights and the corresponding measured corner weights from Fig. 11A and / or 11B. For example, the third graph 1130 includes a fifth example axis 1132, which represents an actual weight (e.g., the measured corner weight) in kilograms, and a sixth example axis 1134, which represents an absolute error (e.g., in kilograms) between the estimated corner weight and the corresponding measured corner weight. In the illustrated example from Fig. 11C, the fifth exemplary markings 1136 represent the error corresponding to the first data samples obtained during the loading of vehicle 100 (e.g., according to the third markings 1126 from Fig. 11B), and the sixth exemplary markings 1138 represent the error that the second data samples obtained during the unloading of vehicle 100 (e.g., corresponding to the fourth markings 1128 from Fig. 11B). In the example from Fig. 11C represents negative error values (e.g., error values less than zero) for data samples where the estimated corner weight underestimates the corresponding measured corner weight (e.g., is less than it), and positive error values (e.g., error values greater than zero) represent data samples where the estimated corner weight overestimates the corresponding measured corner weight (e.g., is greater than it). In some examples, by estimating the corner weight using the examples disclosed in this document, the error between the estimated and measured corner weights is less than 20 kg.
[0060] In some examples, the vehicle weight estimation circuit 102 includes means for acquiring data, means for calibrating, means for estimating weight, means for estimating place value, means for outputting, and means for analyzing a map. For example, the means for acquiring data may be implemented by the data interface circuit 902, the means for calibrating may be implemented by the calibration circuit 904, the means for estimating weight may be implemented by the weight estimation circuit 906, the means for estimating place value may be implemented by the place value estimation circuit 908, the means for outputting may be implemented by the output circuit 910, and the means for analyzing a map may be implemented by the map analysis circuit 912.In some examples, the data interface circuit 902, the calibration circuit 904, the weight estimation circuit 906, the digit estimation circuit 908, the output circuit 910 and / or the map analysis circuit 912 can be instantiated by a programmable circuit, such as the exemplary programmable circuit 1512 from . Fig. 15. Additionally or alternatively, the data interface circuit 902, the calibration circuit 904, the weight estimation circuit 906, the digit estimation circuit 908, the output circuit 910, and / or the map analysis circuit 912 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the data interface circuit 902, the calibration circuit 904, the weight estimation circuit 906, the digit estimation circuit 908, the output circuit 910, and / or the map analysis circuit 912 may be instantiated by one or more hardware circuits (e.g., a processor circuit, a discrete and / or integrated analog and / or digital circuit, an FPGA, an ASIC, an XPU, a comparator, an operational amplifier (op-amp), a logic circuit, etc.).) be implemented in a way that is configured and / or structured to execute some or all of the machine-readable instructions and / or to perform some or all of the operations corresponding to the machine-readable instructions without executing any software or firmware, however, other structures are equally suitable.
[0061] While in Fig. 9 an exemplary way of implementing the vehicle weight estimation circuit 102 from Fig. As illustrated in 1, one or more of the elements, processes and / or devices that are in Fig. The exemplary circuits illustrated in Figure 9 may be combined, divided, rearranged, omitted, deleted, and / or otherwise implemented. Furthermore, the exemplary data interface circuit 902, the exemplary calibration circuit 904, the exemplary weight estimation circuit 906, the exemplary place value estimation circuit 908, the exemplary output circuit 910, the exemplary map analysis circuit 912, the exemplary database 914, and / or, more generally, the exemplary vehicle weight estimation circuit 102 may be derived from the following: Fig. 9 can be implemented by hardware alone or by hardware in combination with software and / or firmware. Thus, for example, any of the exemplary data interface circuit 902, the exemplary calibration circuit 904, the exemplary weight estimation circuit 906, the exemplary digit estimation circuit 908, the exemplary output circuit 910, the exemplary map analysis circuit 912, the exemplary database 914 and / or more generally the exemplary vehicle weight estimation circuit 102 could be implemented by a programmable circuit in combination with machine-readable instructions (e.g.Firmware or software), a processor circuit, an analog circuit, a digital circuit, a logic circuit, a programmable processor, a programmable microcontroller, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a programmable logic device (PLD), and / or a field-programmable logic device (FPLD), such as FPGAs. Furthermore, the exemplary vehicle weight estimation circuit 102 can be implemented from... Fig. 9 one or more elements, processes and / or devices in addition to or instead of those in Fig. The 9 illustrated elements include and / or may include more than one of any or all of the illustrated elements, processes and devices.
[0062] (A) flowchart(s) that represents exemplary machine-readable instructions that can be executed by programmable circuits to operate the vehicle weight estimation circuit 102 from Fig. 9 to implement and / or instantiate, and / or to represent exemplary operations that can be performed by a programmable circuit to implement the vehicle weight estimation circuit 102 from Fig. 9 to be implemented and / or instantiated are in Fig. 12 and / or 13. The machine-readable instructions may be one or more executable programs or (a) section(s) of one or more executable programs for execution by a programmable circuit, such as the programmable circuit 1512 shown in the exemplary processor platform 1500, which is described below in conjunction with Fig. 15 is discussed, and / or can be one or more functions or sections of functions to be performed by an exemplary programmable circuit (e.g., an FPGA). In some examples, the machine-readable instructions cause an operation, task, etc., to be performed automatically in the real world. In this context, "automated" means without human intervention.
[0063] The program can be implemented as instructions (e.g., software and / or firmware) stored on one or more non-transient computer-readable and / or machine-readable storage media, such as cache memory, a magnetic storage device or disk (e.g., a floppy disk, a hard disk drive (HDD), etc.), an optical storage device or disk (e.g., a Blu-ray disc, a compact disc (CD), a digital versatile disc (DVD), etc.), a redundant array of independent hard disks (RAID), a register, ROM, a solid-state drive (SSD), SSD memory, non-volatile memory (e.g., electrically erasable programmable read-only memory (EEPROM), flash memory, etc.), volatile memory (e.g., random-access memory (RAM) of any type, etc.), and / or any other storage device or disk.The instructions of the non-transitory computer-readable and / or machine-readable medium can program and / or be executed by programmable circuits located in one or more hardware devices. However, the entire program and / or parts thereof can alternatively be executed and / or instantiated by one or more hardware devices other than the programmable circuit and / or implemented as dedicated hardware. The machine-readable instructions can be distributed across multiple hardware devices and / or executed by two or more hardware devices (e.g., a server and a client hardware device). For example, the client hardware device can be an endpoint client hardware device (e.g., a hardware device associated with a human and / or machine user) or an intermediate client hardware device gateway (e.g., a server).a radio access network (RAN) that can enable communication between a server and an endpoint client hardware device. Similarly, the non-transitory computer-readable storage medium can include one or more media. Although the example program refers to the one(s) in . Fig. In addition to the flowchart(s) illustrated in Figure 12 and / or 13, many other methods can alternatively be used to implement the exemplary vehicle weight estimation circuit 102. For example, the execution order of the flowchart blocks can be changed, and / or some of the described blocks can be modified, omitted, or combined. Additionally or alternatively, any or all of the flowchart blocks can be implemented by one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, an FPGA, an ASIC, a comparator, an operational amplifier (op-amp), a logic circuit, etc.) designed to perform the corresponding operation without executing any software or firmware.The programmable circuit can be distributed across different network locations and / or locally on one or more hardware devices (e.g., a single-core processor (e.g., a single-core CPU), a multi-core processor (e.g., a multi-core CPU, an XPU, etc.)). For example, the programmable circuit can be a CPU and / or an FPGA located in the same package (e.g., in the same package of an integrated circuit (IC) or in two or more separate packages), one or more processors in a single machine, multiple processors distributed across multiple servers in a server rack, multiple processors distributed across one or more server racks, etc., and / or any combination thereof.
[0064] The machine-readable instructions described in this document can be stored in one or more formats, including compressed, encrypted, fragmented, compiled, executable, and packed. Machine-readable instructions, as described in this document, can be stored as data (e.g., computer-readable data, machine-readable data, one or more bits (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), a bitstream (e.g., a computer-readable bitstream, a machine-readable bitstream, etc.)) or a data structure (e.g., as part(s) of instructions, code, representations of code, etc.) that can be used to create, manufacture, and / or produce machine-executable instructions.For example, machine-readable instructions may be fragmented and stored on one or more storage devices, disks, and / or computing devices (e.g., servers) located at the same or different locations within a network or collection of networks (e.g., in the cloud, on edge devices, etc.). The machine-readable instructions may require one or more of the following actions: installation, modification, adaptation, updating, combining, augmenting, configuring, decrypting, decompressing, unpacking, distributing, reassigning, reassembling, etc., to make them directly readable, interpretable, and / or executable by a computing device and / or other machine.For example, the machine-readable instructions may be stored in multiple parts, which are individually compressed, encrypted and / or stored on separate computing devices, the parts, when decrypted, decompressed and / or combined, forming a set of computer-executable and / or machine-executable instructions that implement one or more functions and / or operations that together may form a program, as described here.
[0065] In another example, the machine-readable instructions might be stored in a state where they can be read by a programmable circuit, but require the addition of a library (e.g., a Dynamic Link Library (DLL)), a Software Development Kit (SDK), an Application Programming Interface (API), etc., to execute the machine-readable instructions on a specific computing device or other device. In yet another example, the machine-readable instructions might need to be configured (e.g., settings saved, data entered, network addresses recorded, etc.) before the machine-readable instructions and / or the corresponding program(s) can be executed, in whole or in part.Thus, machine-readable, computer-readable and / or machine-readable media, as used in this document, may contain instructions and / or (a) program(s) regardless of the specific format or state of the machine-readable instructions and / or program(s).
[0066] The machine-readable instructions described in this document can be represented by any past, present, or future instruction language, scripting language, programming language, etc. For example, the machine-readable instructions can be represented using any of the following languages: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift, etc.
[0067] As mentioned above, the exemplary processes can be derived from Fig. 12 and / or 13 are implemented using executable instructions (e.g., computer-readable and / or machine-readable instructions) stored on one or more non-transitory computer-readable and / or machine-readable media. As used in this document, the terms non-transitory computer-readable medium, non-transitory computer-readable storage medium, non-transitory machine-readable medium, and / or non-transitory machine-readable storage medium are expressly defined to include any type of computer-readable storage device and / or storage disk and to exclude signal propagation and transmission media.Examples of such non-transitory computer-readable medium, non-transitory computer-readable storage medium, non-transitory machine-readable medium and / or non-transitory machine-readable storage medium include optical storage devices, magnetic storage devices, a hard disk drive (HDD), flash memory, read-only memory (ROM), a CD, a DVD, a cache, RAM of any type, a register and / or any other storage device or storage disk on which information is stored for any duration (e.g., for extended periods, permanently, for short periods, for temporary buffering and / or intermediate storage of information).As used in this document, the terms "non-transitory computer-readable storage device" and "non-transitory machine-readable storage device" are defined to include any physical (mechanical, magnetic, and / or electrical) hardware for storing information, but excluding signal propagation and transmission media. Examples of non-transitory computer-readable storage devices and / or non-transitory machine-readable storage devices include random-access memory of any type, read-only memory of any type, semiconductor memory, flash memory, optical disks, magnetic disks, disk drives, and / or systems consisting of a redundant array of independent disks (RAID).As used in this document, the term "device" refers to a physical construction, such as mechanical and / or electrical equipment, hardware and / or a circuit, which may or may not be configured by computer-readable instructions, machine-readable instructions, etc., and / or is manufactured to execute computer-readable instructions, machine-readable instructions, etc.
[0068] Fig. Figure 12 is a flowchart representing exemplary machine-readable instructions and / or exemplary operations 1200 that can be executed, instantiated and / or performed by a programmable circuit to estimate one or more exemplary weight metric(s) that the vehicle 100 may have. Fig. 1 are assigned. The exemplary machine-readable instructions and / or exemplary processes 1200 from
[0069] Fig. 12 begins at block 1202, where the exemplary vehicle weight estimation circuit 102 accesses and / or obtains one or more exemplary calibration model(s) assigned to vehicle 100. For example, the calibration model(s) in the vehicle weight estimation circuit 102 (e.g., in database 914 from Fig. 9) can be preloaded and the exemplary calibration circuit 904 can access the calibration model(s) and / or retrieve them from the database 914. In some examples, the calibration circuit 904 can retrieve the calibration model(s) based on input data (e.g., the sensor data 916, the scale data 918, and / or the user input 920) from the database 914. Fig. 9) generate, which are produced by the exemplary data interface circuit 902 from Fig. 9. The generation of the calibration model(s) is described further below in connection with Fig. 13 described.
[0070] In block 1204, the exemplary vehicle weight estimation circuit 102 obtains exemplary strain measurements from the strain gauges 114. Fig. 1. For example, the data interface circuit 902 obtains the sensor data 916 from the strain gauges 114, which are operatively coupled to the respective shock absorber domes of the vehicle 100. In some examples, the sensor data 916 includes the strain measurements, which represent a strain on the surfaces of the respective shock absorber domes.
[0071] In block 1206, the exemplary vehicle weight estimation circuit 102 estimates exemplary corner weights of the vehicle 100 based on the strain measurements and the calibration model(s). For example, the exemplary weight estimation circuit 906 determines from Fig. 9 based on the calibration model(s) the corner weight(s) that correspond to the strain measurements for the corresponding wheels 104.
[0072] In block 1208, the exemplary vehicle weight estimation circuit 102 estimates a location (e.g., a center of gravity location) of the load based on the estimated corner and angular weights. For example, the exemplary location estimation circuit 908 can be derived from Fig. 9. The corner weights are obtained from the calibration model(s) that indicate the weight at the corresponding wheels 104 when the vehicle 100 is unloaded (e.g., when there are no passengers and / or cargo on the vehicle 100). Furthermore, the position estimator 908 determines exemplary corner load weights corresponding to the respective wheels 104 based on differences between the estimated corner weights and the corresponding corner weights. In such examples, the corner load weights represent the weight of the load on the vehicle (e.g., excluding the unladen weight). Based on ratios between the corner load weights, the position estimator 908 estimates the load position with respect to a 2D plane (e.g., a horizontal plane, a ground plane) of the vehicle 100.
[0073] In block 1210, the exemplary vehicle weight estimation circuit 102 selects exemplary correction factors based on the estimated digit. For example, the exemplary map analysis circuit 912 uses Fig. 9 refers to an exemplary correction factor map generated and / or obtained for vehicle 100 (e.g., from database 914). The correction factor map contains correction factors for different load locations on vehicle 100, which are to be applied to the respective calibration model(s). In some examples, the map analysis circuit 912 selects correction factors from the correction factor map that correspond to the estimated load location.
[0074] In block 1212, the exemplary vehicle weight estimation circuit 102 determines updated corner weights based on the correction factors. For example, the map analysis circuit 912 applies the selected correction factors to set gain values of the calibration model(s), then determines the updated corner weights based on the set calibration model(s).
[0075] For block 1214, the exemplary vehicle weight estimation circuit 102 estimates a new digit of the load based on the updated corner weights. For example, the digit estimation circuit 908 estimates the new digit based on ratios between the updated corner weights.
[0076] For block 1216, the exemplary vehicle weight estimation circuit 102 calculates an exemplary distance between the new position and the previously estimated position (e.g., the position estimated at block 1208). In some examples, the position estimation circuit 908 calculates the distance between the new and the previous position along the 2D plane of the vehicle 100.
[0077] At block 1218, the exemplary vehicle weight estimation circuit 102 determines whether the distance meets an exemplary threshold (e.g., an error threshold). For example, the digit estimation circuit 908 determines that the distance meets the threshold if the distance is less than or equal to the threshold. In response to the digit estimation circuit 908 determining that the distance does not meet the threshold (e.g., is greater than it) (e.g., block 1218 outputs a result of NO), the controller returns to block 1210. Alternatively, in response to the digit estimation circuit 908 determining that the distance meets the threshold (e.g., is less than or equal to it) (e.g., block 1218 outputs a result of YES), the controller proceeds to block 1220.
[0078] In block 1220, the exemplary vehicle weight estimation circuit 102 estimates one or more exemplary weight metrics associated with vehicle 100 based on the estimated corner weights. For example, the weight estimation circuit 906 can estimate a gross vehicle weight (GVW) of vehicle 100 based on a combination (e.g., an aggregation, a sum) of the estimated corner weights. Alternatively or additionally, the weight estimation circuit 906 can estimate a load weight of vehicle 100 (e.g., a load weight) based on a difference between the estimated GVW and an unladen weight of vehicle 100.
[0079] In block 1222, the exemplary vehicle weight estimation circuit 102 causes one or more estimated weight metrics to be stored and / or displayed. For example, the exemplary output circuit 910 can consist of Fig. 9. Provide the estimated metric(s) (e.g., including the estimated GVW, estimated corner weights, and / or estimated load weight) from database 914 for storage in this database. Additionally or alternatively, output circuit 910 can display the estimated metric(s) via user interface 116. Fig. 1. initiate.
[0080] In block 1224, the exemplary vehicle weight estimation circuit 102 determines whether monitoring should continue. For example, the data interface circuit 902 determines that monitoring should continue if additional sensor data 916 is received and / or if the user input 920 includes a request to determine one or more weighting metrics. In response to the data interface circuit 902 determining that monitoring should continue (e.g., block 1224 outputs a result of YES), the controller returns to block 1204. Alternatively, the controller terminates in response to the data interface circuit 902 determining that monitoring should not continue (e.g., block 1224 outputs a result of NO).
[0081] Fig. Figure 13 is a flowchart that represents exemplary machine-readable instructions and / or exemplary operations 1300 that can be executed, instantiated, and / or performed by an exemplary programmable circuit to generate one or more exemplary calibration models. The exemplary machine-readable instructions and / or exemplary operations 1300 from Fig. 13 begin at block 1301, where the exemplary vehicle weight estimation circuit 102 obtains and / or stores initial strain measurements and / or corner weights associated with the corresponding wheels 104 of the vehicle 100. For example, the exemplary data interface circuit 902 obtains from Fig. 9 the initial strain measurements from one or more of the strain gauges 114 Fig. 1, if no load is applied to the vehicle 100. The data interface circuit 902 also obtains the corner weights based on the scale data 918 (which are, for example, representative of the measured corner weights on the respective wheels 104). In some examples, the data interface circuit 902 causes the storage of initial strain measurements in conjunction with the corresponding corner weights as one or more sample data in the database 914. Fig. 9.
[0082] In block 1302, the vehicle weight estimation circuit 102 detects and / or determines whether a load (e.g., a calibration load) is applied to the vehicle 100. For example, the exemplary data interface circuit 902 determines from Fig. 9, that the load is applied when new scale data 918 is received and / or the user input 920 is entered into the user interface 116 Fig. 1. In response to the data interface circuit 902 determining that no load has been applied (e.g., block 1302 returns a result of NO), the data interface circuit 902 continues to monitor incoming data (e.g., the scale data 918 and / or the user input 920) until a load is applied. Alternatively, in response to the detection of a load on the vehicle 100 by the data interface circuit 902 (e.g., block 1302 returns a result of YES), the controller switches to block 1304.
[0083] At block 1304, the vehicle weight estimation circuit 102 obtains exemplary strain measurements from one or more of the strain gauges 114. Fig. 1. For example, the data interface circuit 902 obtains strain measurements, which are included in the sensor data 916, from some of the strain gauges 114. In some examples, the strain measurements represent a strain on corresponding shock absorber dome surfaces on which the strain gauges 114 are mounted.
[0084] In block 1306, the vehicle weight estimation circuit 102 obtains exemplary measured corner weights based on the scale data 918 and / or the user input 920. For example, the data interface circuit 902 obtains, based on the scale data 918 and / or the user input 920, the corner weights that are assigned to the respective wheels 104 of the vehicle 100 and result from the applied load.
[0085] In block 1308, the vehicle weight estimation circuit 102 stores the strain measurements in conjunction with the measured corner weights. For example, the data interface circuit 902 outputs the strain measurements and the corresponding measured corner weights to database 914. Fig. 9 ready, whereby the strain measurements in conjunction with the measured corner weights are stored as data samples corresponding to the corresponding wheels 104.
[0086] At block 1310, the vehicle weight estimation circuit 102 determines whether the number of data samples collected from and / or stored in database 914 meets a sample threshold (e.g., a data sample threshold). In response to the data interface circuit 902 determining that the number of data samples meets the threshold (e.g., is greater than or equal to it) (e.g., block 1310 outputs a result of YES), the controller proceeds at block 1314. Alternatively, in response to the data interface circuit 902 determining that the number of data samples does not meet the threshold (e.g., is less than it) (e.g., block 1312 outputs a result of NO), the controller proceeds at block 1312.
[0087] At block 1312, the vehicle weight estimation circuit 102 determines and / or detects whether the load has been set (e.g., whether a load weight has been increased or decreased). In some examples, the data interface circuit 902 determines that the load has been set based on a change in the scale data 918 and / or based on user input 920 indicating that the load has been set. In response to the data interface circuit 902 determining that the load has not been set (e.g., block 1312 returns a result of NO), the data interface circuit 902 continues to monitor the incoming data (e.g., the scale data 918 and / or the user input 920) until an indication that the load has been set is received. Alternatively, in response to the data interface circuit 902 determining that the load has been set (e.g.,Block 1312 returns a result of YES), returns to block 1304 to obtain one or more additional data samples.
[0088] In block 1314, the vehicle weight estimation circuit 102 generates the calibration model(s) based on correlations between the strain measurements and the measured corner weights. For example, the exemplary calibration circuit 904 determines from Fig. 9. The correlations are determined based on a linear regression between the strain measurements and the corresponding measured corner weights contained in the data samples, and the calibration model(s) are generated based on the correlations. In some examples, the calibration model for a given wheel 104 includes a gain value (e.g., a rise) and an offset value (e.g., an intercept value, a y-intercept) that are representative of a linear relationship between the strain measurements and the corresponding corner weights on wheel 104.
[0089] In block 1316, the vehicle weight estimation circuit 102 initiates the storage of the calibration model(s). For example, the calibration circuit 904 outputs the following to database 914: Fig. 9. The calibration model(s) (e.g., the gain values and the offset values) are available for storage. In some examples, the weight estimation circuit 906 can be used. Fig. 9. Access the calibration model(s) for use in estimating corner weight(s), load weight and / or GVW of the vehicle 100.
[0090] Fig. Figure 14 is a block diagram of an exemplary programmable circuit platform 1400, which is used to execute and / or instantiate the exemplary machine-readable instructions and / or the exemplary operations from Fig. 12 and / or 13 is structured to enable the vehicle weight estimation circuit 102 from Fig. 9. The Programmable Circuit Platform 1400 can be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a mobile phone, a smartphone, a tablet such as an iPad™), a personal digital assistant (PDA), an internet-enabled device, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a game console, a personal video recorder, a set-top box, a headset (e.g., a headset for augmented reality (AR), a headset for virtual reality (VR), etc.), or any other wearable device, or any other type of computing device and / or electronic device.
[0091] The programmable circuit platform 1400 of the illustrated example includes a programmable circuit 1412. The programmable circuit 1412 of the illustrated example is hardware. For example, the programmable circuit 1412 can be implemented by one or more integrated circuits, logic circuits, FPGAs, microprocessors, CPUs, GPUs, DSPs, and / or microcontrollers from any desired family or manufacturer. The programmable circuit 1412 can be implemented by one or more semiconductor-based (e.g., silicon-based) devices.In this example, the programmable circuit 1412 implements the exemplary data interface circuit 902, the exemplary calibration circuit 904, the exemplary weight estimation circuit 906, the exemplary place value estimation circuit 908, the exemplary output circuit 910, the exemplary map analysis circuit 912, and / or the exemplary database 914.
[0092] The programmable circuit 1412 of the illustrated example includes a local memory 1413 (e.g., a cache, registers, etc.). The programmable circuit 1412 of the illustrated example communicates via a bus 1418 with a main memory 1414, 1416, which includes a volatile memory 1414 and a non-volatile memory 1416. The volatile memory 1414 can be implemented by a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), a dynamic RAMBUS® random access memory (RDRAM®), and / or any other type of RAM device. The non-volatile memory 1416 can be implemented by flash memory and / or any other desired type of storage device. Access to the main memory 1414, 1416 of the illustrated example is controlled by a memory controller 1417.In some examples, the memory control 1417 can be implemented by one or more integrated circuits, logic circuits, microcontrollers from any desired family or manufacturer, or any other type of circuit to handle the data flow to and from the main memory 1414, 1416.
[0093] The programmable circuit platform 1400 of the illustrated example also includes a user interface circuit 1420. The interface circuit 1420 can be implemented by hardware in accordance with any type of interface standard, such as an Ethernet interface, a Universal Serial Bus (USB) interface, a Bluetooth® interface, a Near Field Communication (NFC) interface, a Peripheral Component Interconnect (PCI) interface, and / or a Peripheral Component Interconnect Express (PCIe) interface.
[0094] In the illustrated example, one or more input devices 1422 are connected to the user interface circuit 1420. The input device(s) 1422 enable(s) a user (e.g., a human user, a machine user, etc.) to input data and / or commands into the programmable circuit 1412. The input device(s) 1422 can be implemented, for example, by an audio sensor, a microphone, a camera (photo or video), a keyboard, a button, a mouse, a touchscreen, a trackpad, a trackball, an isopoint device, and / or a speech recognition system.
[0095] One or more output devices 1424 are also connected to the interface circuit 1420 from the illustrated example. The output device(s) 1424 can be, for example, a display device (e.g., a light-emitting diode (LED), an organic light-emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube (CRT), an in-place switching (IPS) display, a touchscreen, etc.), a tactile output device, a printer, and / or a loudspeaker. The interface circuit 1420 of the illustrated example therefore typically includes a graphics driver card, a graphics driver chip, and / or a graphics driver processor circuit, such as a GPU.
[0096] The interface circuit 1420 of the illustrated example also includes a communication device, such as a transmitter, a receiver, a transceiver, a modem, a residential gateway, a wireless access point, and / or a network interface, to facilitate data exchange with external machines (e.g., computing devices of any kind) through a network 1426. Communication can be established, for example, via an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a non-line-of-sight wireless system, a line-of-sight wireless system, a mobile phone system, an optical link, etc.
[0097] The programmable circuit platform 1400 of the illustrated example also includes one or more mass storage disks or devices 1428 for storing firmware, software, and / or data. Examples of such mass storage disks or devices 1428 include magnetic storage devices (e.g., floppy disks, drives, HDDs, etc.), optical storage devices (e.g., Blu-ray discs, CDs, DVDs, etc.), RAID systems, and / or semiconductor storage disks or devices, such as flash memory devices and / or SSDs.
[0098] The machine-readable instructions 1432, which are derived from the machine-readable instructions from the Fig. 12 and / or 13 can be implemented, can be stored in the mass storage device 1428, in the volatile memory 1414, in the non-volatile memory 1416 and / or on at least one non-transient computer-readable storage medium, such as a CD or DVD, which may be removable.
[0099] "Containing" and "comprising" (and all forms and tenses thereof) are used in this document as open expressions. Thus, when any form of "containing" or "comprising" (e.g., includes, encompasses, encompassing, containing, exhibiting, etc.) is used in a patent claim as a preamble or within a mention of any type of patent claim, it is understood that additional elements, expressions, etc., may be present without being outside the scope of the relevant patent claim or mention. As used in this document, the phrase "at least," when used, for example, as a transitional phrase in a preamble of a patent claim, is just as open as the expressions "comprising" and "containing."The expression "and / or," when used, for example, in a form such as A, B and / or C, denotes any combination or subset of A, B, C, such as (1) only A, (2) only B, (3) only C, (4) A with B, (5) A with C, and (6) B with C, or (7) A with B and with C. As used in this writing in the context of describing constructions, components, elements, objects, and / or things, the phrase "at least one of A and B" is intended to refer to implementations that include any one of the following: (1) at least one of A, (2) at least one of B, or (3) at least one of A and at least one of B.Likewise, the phrase "at least one of A or B," as used in this document in the context of describing structures, components, elements, objects, and / or things, shall refer to implementations that include any one of the following: (1) at least one of A, (2) at least one of B, or (3) at least one of A and at least one of B. As used in this document in the context of describing the implementation or execution of processes, instructions, actions, activities, etc., the phrase "at least one of A and B" shall refer to implementations that include any one of the following: (1) at least one of A, (2) at least one of B, or (3) at least one of A and at least one of B. Likewise, the phrase "at least one of A or B," as used in this document in the context of describing the implementation or execution of processes, instructions, actions, activities, etc.used, to refer to transformations that include any one of the following: (1) at least one of A, (2) at least one of B, or (3) at least one of A and at least one of B.
[0100] As used in this document, singular references (e.g., "a," "a," "first," "second," etc.) do not preclude a plurality. The expression "a" object, as used in this document, refers to one or more of these objects. The expressions "a," "one or more," and "at least one" are used interchangeably in this document. Furthermore, although listed individually, a plurality of means, elements, or actions may be implemented, e.g., by the same entity or object. Additionally, although individual features may be included in different examples or claims, they may possibly be combined, and inclusion in different examples or claims does not imply that a combination of features is not feasible and / or advantageous.
[0101] As used in this writing, the expression "above," unless otherwise specified, describes the relationship of two parts relative to the earth. A first part is above a second part if the second part has at least one part between the ground and the first part. Likewise, in the sense used in this writing, a first part is "below" a second part if the first part is closer to the ground than the second part. As noted above, a first part may be above or below a second part, with one or more of the following elements present: other parts in between, no other parts in between, the first and second parts touching, or without the first and second parts being in direct contact with each other.
[0102] As used in this patent specification, the statement that any part (e.g., a layer, a film, an area, a region, or a plate) is located on another part in any way (e.g., positioned, lying on, arranged on, or formed on, etc.) means that the part referred to is either in contact with the other part or that the part referred to is located above the other part with one or more intermediate part(s) in between.
[0103] As used in this writing, connection references (e.g., attached, coupled, connected, and joined) can include intermediate elements between the elements referred to by the connection reference and / or relative movement between those elements, unless otherwise specified. Accordingly, connection references do not necessarily imply that two elements are directly connected and / or in a fixed relationship to one another. As used in this writing, the statement that any part is in "contact" with another part is defined as meaning that there is no intermediate element between the two parts.
[0104] Unless expressly stated otherwise, descriptors such as "first," "second," "third," etc., are used in this document without implying or otherwise indicating any significance of priority, physical order, arrangement in a list, and / or order. They are used merely as designations and / or arbitrary names to distinguish elements for a better understanding of the disclosed examples. In some examples, the descriptor "first" may be used in the detailed description to refer to an element, while the same element may be referred to in a claim by a different descriptor such as "second" or "third." In such cases, it is understood that such descriptors serve only to uniquely identify, within the context of the discussion (e.g., within a claim), the elements that might otherwise have the same name.
[0105] In this context, "approximately" and "about" modify their subjects / values to acknowledge the potential presence of variations that occur in real-world applications. For example, "approximately" and "about" may modify dimensions that, due to manufacturing tolerances and / or other real-world imperfections, as would be apparent to the average person skilled in the art, cannot be exact. For example, "approximately" and "about" may indicate that such dimensions may be within a tolerance range of + / -10%, unless otherwise specified in this document.
[0106] As used in this document, "essentially real-time" refers to occurrence in a near-instantaneous manner, recognizing that there may be real delays for processing time, transmission, etc. Thus, unless otherwise specified, "essentially real-time" refers to real-time + 1 second.
[0107] As used in this document, the term “in communication”, including variations thereof, includes direct communication and / or indirect communication through one or more intermediate components and does not require direct physical (e.g., wired) communication and / or continuous communication, but rather additionally includes selective communication at periodic intervals, scheduled intervals, aperiodic intervals and / or at one-off events.
[0108] As used in this document, a “programmable circuit” is defined as comprising: (i) one or more specialized electrical circuits (e.g., an application-specific integrated circuit (ASIC)) designed to perform a specific operation and incorporating one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors); and / or (ii) one or more general-purpose electrical semiconductor circuits programmable with instructions to perform a specific function and / or operation and incorporating one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of programmable circuits include programmable microprocessors, such as central processing units (CPUs).that can execute first instructions to perform one or more operations and / or functions, field-programmable gate arrays (FPGAs) that can be programmed with second instructions to cause a configuration and / or construction of the FPGAs so that they instantiate one or more operations and / or functions corresponding to the first instructions, graphics processing units (GPUs) that can execute first instructions to perform one or more operations and / or functions, digital signal processors (DSPs) that can execute first instructions to perform one or more operations and / or functions, XPUs, network processing units (NPUs), one or more microcontrollers that can execute first instructions to perform one or more operations and / or functions, and / or integrated circuits,such as application-specific integrated circuits (ASICs). For example, an XPU can be implemented by a heterogeneous computing system that includes several types of programmable circuitry (e.g., one or more FPGAs, one or more CPUs, one or more GPUs, one or more NPUs, one or more DSPs, etc., and / or any combination thereof) and orchestration technology (e.g., application programming interface(s) - API(s)) that can assign computational task(s) to the one or more types of programmable circuitry that are suitable and available to perform the computational task(s).
[0109] As used in this document, an integrated circuit is defined as one or more semiconductor packages containing one or more circuit elements, such as transistors, capacitors, inductors, resistors, current paths, diodes, etc. For example, an integrated circuit may be implemented as one or more ASICs, FPGAs, chips, microchips, programmable circuits, semiconductor substrates coupling multiple circuit elements, systems-on-chips (SoCs), etc.
[0110] From the foregoing, it is understood that exemplary systems, devices, manufactured articles, and methods have been disclosed that estimate the load and / or weight of a vehicle. Examples disclosed in this document estimate the load and / or weight based on strain measurements from one or more strain gauges that are operationally coupled to (e.g., mounted on) surfaces of corresponding shock absorber domes of the vehicle. In some examples, by mounting the strain gauges to the respective shock absorber domes, the examples disclosed in this document can obtain measurable (e.g., sufficiently large) and consistent strain measurements for use in load and / or weight estimation. Furthermore, strain gauges can be made more robust against temperature changes and / or noise (e.g.,Noise resulting from hysteresis in one or more springs of a suspension system, suspension system sag, bushing curl, etc., compared to suspension-based sensors (e.g., position and / or displacement sensors operatively coupled to a vehicle's suspension system). Consequently, load and / or weight estimates based on strain measurements associated with the shock absorber dome can be more reliable and / or accurate compared to estimates using suspension-based techniques. By providing more accurate and / or reliable load and / or weight estimates, the examples disclosed in this document can prevent unintentional overloading of the vehicle and, as a result, reduce the probability of deterioration of one or more vehicle components.Disclosed systems, equipment, manufactured products and processes are accordingly directed towards (an) improvement of the operation of a machine, such as a computer or other electronic and / or mechanical device.
[0111] Exemplary methods, devices, systems, and articles for estimating the weight of a vehicle are disclosed in this document. Further examples and combinations thereof include the following: Example 1 includes a device comprising an interface circuit, machine-readable instructions and at least one processor circuit programmed by the machine-readable instructions to obtain strain measurement data from a strain gauge coupled to a surface of a shock absorber dome of a vehicle, to estimate a permissible total vehicle weight based on the strain measurement data and to output the permissible total vehicle weight for display to a user interface. Example 2 includes the setup from Example 1, wherein the surface is a first surface, wherein the strain gauge is operatively connected to the first surface via at least one mounting block, wherein the at least one mounting block is welded or integrally formed with the first surface, and wherein the at least one mounting block serves to provide a second surface for the strain gauge. Example 3 includes the setup from Example 2, wherein a first strain measured by the strain gauge on the first surface of the shock absorber dome is less than a second strain measured by the strain gauge on the second surface of the at least one mounting block, wherein the strain measurement data represent the second strain. Example 4 includes the setup from Example 1, where the area corresponds to an upper surface of the shock absorber dome between mounting openings of the shock absorber dome. Example 5 includes the setup from Example 1, wherein the area corresponds to an inner surface of the shock absorber dome, the inner surface being opposite a shock absorber coupled to a shock absorber dome. Example 6 includes the device from Example 1, wherein the surface corresponds to a side surface of the shock absorber dome, the side surface extending downwards from an upper surface of the shock absorber dome, the upper surface including an opening for a shock absorber. Example 7 includes the setup from Example 1, wherein the strain gauge is a first strain gauge, the shock absorber dome is a first shock absorber dome, and wherein one or more of the at least one processor circuit are used to obtain the strain measurement data from a second strain gauge coupled to a second shock absorber dome of the vehicle, a third strain gauge coupled to a third shock absorber dome of the vehicle, and a fourth strain gauge coupled to a fourth shock absorber dome of the vehicle, wherein the first, second, third, and fourth shock absorber domes are located near respective wheels of the vehicle. Example 8 includes the setup from Example 7, wherein one or more of the at least one processor circuit are used to estimate corner weights corresponding to the respective wheels of the vehicle based on the strain measurement data, and based on the corner weights, to estimate a location with respect to a ground plane of the vehicle, wherein the location corresponds to a center of mass of a load on the vehicle, to select correction factors from a map based on the location, to set the corner weights based on the correction factors, to estimate the permissible total vehicle weight based on a sum of the set corner weights, and to output the permissible total vehicle weight for display by a user interface. Example 9 includes the setup from Example 8, wherein one or more of the at least one processor circuits are used to estimate a load weight of the load based on the permissible total vehicle weight and an unladen weight of the vehicle. Example 10 includes at least a non-transient machine-readable medium comprising machine-readable instructions to cause at least one processor circuit to obtain at least strain measurement data from a strain gauge, wherein the strain gauge is coupled to a surface of a shock absorber dome of a vehicle, and to estimate a permissible total weight of the vehicle based on the strain measurement data. Example 11 includes at least one non-transient machine-readable medium from Example 10, wherein the surface is a first surface, wherein the strain gauge is operatively connected to the first surface via at least one mounting block, wherein the at least one mounting block is welded or integrally formed with the first surface, and wherein the at least one mounting block serves to provide a second surface for the strain gauge. Example 12 includes the at least one non-transient machine-readable medium from Example 10, wherein the area corresponds to an upper surface of the shock absorber dome between mounting openings of the shock absorber dome. Example 13 includes the at least one non-transient machine-readable medium from Example 10, wherein the area corresponds to an inner surface of the shock absorber dome, the inner surface being opposite a shock absorber coupled to a shock absorber dome. Example 14 includes non-transient machine-readable medium from Example 10, wherein the area corresponds to a side surface of the shock absorber dome, the side surface extending downwards from a top surface of the shock absorber dome, the top surface including an opening for a shock absorber. Example 15 includes non-transient machine-readable medium from Example 10, wherein the strain gauge is a first strain gauge, the shock absorber dome is a first shock absorber dome, and wherein the non-transient machine-readable medium is used to cause one or more of the at least one processor circuit to obtain the strain measurement data from a second strain gauge coupled to a second shock absorber dome of the vehicle, a third strain gauge coupled to a third shock absorber dome of the vehicle, and a fourth strain gauge coupled to a fourth shock absorber dome of the vehicle, wherein the first, second, third, and fourth shock absorber domes are located near respective wheels of the vehicle. Example 16 includes non-transient machine-readable medium from Example 15, wherein the non-transient machine-readable medium is used to cause one or more of the at least one processor circuit to estimate corner weights corresponding to the respective wheels of the vehicle based on the strain measurement data, and, based on the corner weights, to estimate a location with respect to a ground plane of the vehicle, wherein the location corresponds to a center of mass of a load on the vehicle, to select correction factors from a map based on the location, to set the corner weights based on the correction factors, and to estimate the permissible total vehicle weight based on a sum of the set corner weights, and to output the permissible total vehicle weight for display by a user interface. Example 17 includes a method comprising obtaining at least strain measurement data from a strain gauge, wherein the strain gauge is coupled to a surface of a shock absorber dome of a vehicle, estimating a permissible total weight of the vehicle based on the strain measurement data, and outputting the permissible total vehicle weight for display by a user interface. Example 18 includes the method from Example 17, wherein the surface is a first surface, wherein the strain gauge is operatively connected to the first surface via at least one mounting block, wherein the at least one mounting block is welded or integrally formed with the first surface, and wherein the at least one mounting block serves to provide a second surface for the strain gauge. Example 19 includes the method from Example 17, wherein the area corresponds to an upper surface of the shock absorber dome between mounting openings of the shock absorber dome. Example 20 includes the method from Example 17, wherein the area corresponds to an inner surface of the shock absorber dome, the inner surface being opposite a shock absorber coupled to a shock absorber dome. Example 21 includes the method from Example 17, wherein the area corresponds to a side surface of the shock absorber dome, wherein the side surface extends downwards from an upper surface of the shock absorber dome, the upper surface including an opening for a shock absorber. Example 22 includes the method from Example 17, wherein the strain gauge is a first strain gauge, the shock absorber dome is a first shock absorber dome, and wherein non-transient machine-readable medium is used to cause one or more of the at least one processor circuit to obtain the strain measurement data from a second strain gauge coupled to a second shock absorber dome of the vehicle, a third strain gauge coupled to a third shock absorber dome of the vehicle, and a fourth strain gauge coupled to a fourth shock absorber dome of the vehicle, wherein the first, second, third, and fourth shock absorber domes are located near respective wheels of the vehicle.
[0112] The following patent claims are hereby incorporated into this detailed description by reference. Although certain exemplary systems, devices, manufactured products, and processes have been disclosed in this document, the scope of protection of this patent specification is not limited thereto. On the contrary, this patent specification covers all systems, devices, manufactured products, and processes that lawfully fall within the scope of the patent claims of this patent specification.
Claims
[1] Institution, encompassing: an interface circuit; machine-readable instructions; and at least one processor circuit programmed by machine-readable instructions to do the following: Obtaining strain measurement data from a strain gauge (114), wherein the strain gauge (114) is coupled to a surface of a shock absorber dome (200) of a vehicle (100); Estimating the permissible gross vehicle weight of the vehicle (100) based on the strain measurement data; and Output of the permissible total vehicle weight for display via a user interface (116). [2] Device according to claim 1, wherein the surface is a first surface, wherein the strain gauge (114) is operatively connected to the first surface via at least one mounting block (702), wherein the at least one mounting block (702) is welded to or formed integrally with the first surface, wherein the at least one mounting block (702) serves to provide a second surface (706) for the strain gauge (114). [3] Device according to claim 2, wherein a first strain measured by the strain gauge (114) on the first surface of the shock absorber dome (200) is less than a second strain measured by the strain gauge (114) on the second surface (706) of the at least one mounting block (702), wherein the strain measurement data represent the second strain. [4] Device according to claim 1, wherein the surface corresponds to an upper surface (208) of the shock absorber dome (200) between mounting openings (206) of the shock absorber dome (200). [5] Device according to claim 1, wherein the surface corresponds to an inner surface (602) of the shock absorber dome (200), wherein the inner surface (602) is to be opposite a shock absorber coupled with a shock absorber dome (200). [6] Device according to claim 1, wherein the surface corresponds to a side surface (304) of the shock absorber dome (200), wherein the side surface (304) extends downwards from an upper surface (306) of the shock absorber dome (200), wherein the upper surface (306) includes an opening (504) for a shock absorber. [7] Device according to claim 1, wherein the strain gauge (114) is a first strain gauge (114), the shock absorber dome (200) is a first shock absorber dome (200), and wherein one or more of the at least one processor circuit serve to obtain the strain measurement data from a second strain gauge (114) coupled to a second shock absorber dome (200) of the vehicle (100), a third strain gauge (114) coupled to a third shock absorber dome (200) of the vehicle (100), and a fourth strain gauge (114) coupled to a fourth shock absorber dome (200) of the vehicle (100), wherein the first, second, third, and fourth shock absorber domes (200) are located near respective wheels (104) of the vehicle (100). [8] Device according to claim 7, wherein one or more of the at least one processor circuit serves to: Estimate based on the strain measurement data of corner weights corresponding to the respective wheels (104) of the vehicle (100); Estimate, based on the corner weights, from a point relative to a ground plane of the vehicle (100), where the point corresponds to a center of mass of a load on the vehicle (100); Selecting correction factors from a map based on the location; Setting the corner weights based on the correction factors; and Estimating the permissible total vehicle weight based on the sum of the set corner weights. [9] Device according to claim 8, wherein one or more of the at least one processor circuits serve to estimate a load weight of the load of the vehicle (100) on the basis of the permissible total vehicle weight and an unladen weight of the vehicle (100). [10] At least one non-transient machine-readable medium containing machine-readable instructions to cause at least one processor circuit to perform at least the following: Obtaining strain measurement data from a strain gauge (114), wherein the strain gauge (114) is coupled to a surface of a shock absorber dome (200) of a vehicle (100); and Estimating the permissible gross vehicle weight of the vehicle (100) based on the strain measurement data; and Output of the permissible total vehicle weight for display via a user interface (116). [11] At least one non-transient machine-readable medium according to claim 10, wherein the surface is a first surface, wherein the strain gauge (114) is operatively connected to the first surface via at least one mounting block (702), wherein the at least one mounting block (702) is welded or formed in one piece with the first surface, wherein the at least one mounting block (702) serves to provide a second surface (706) for the strain gauge (114). [12] At least one non-transient machine-readable medium according to claim 10, wherein the area corresponds to an upper surface (208) of the shock absorber dome (200) between mounting openings (206) of the shock absorber dome (200). [13] At least one non-transient machine-readable medium according to claim 10, wherein the area corresponds to an inner surface (602) of the shock absorber dome (200), wherein the inner surface (602) is to be opposite a shock absorber coupled to a shock absorber dome (200). [14] At least one non-transient machine-readable medium according to claim 10, wherein the surface corresponds to a side surface (304) of the shock absorber dome (200), wherein the side surface (304) extends downwards from an upper surface (306) of the shock absorber dome (200), the upper surface (306) comprising an opening (504) for a shock absorber. [15] At least one non-transient machine-readable medium according to claim 10, wherein the strain gauge (114) is a first strain gauge (114), the shock absorber dome (200) is a first shock absorber dome (200), and wherein the machine-readable instructions are used to cause one or more of the at least one processor circuit to obtain the strain measurement data from a second strain gauge (114) coupled to a second shock absorber dome (200) of the vehicle (100), a third strain gauge (114) coupled to a third shock absorber dome (200) of the vehicle (100), and a fourth strain gauge (114) coupled to a fourth shock absorber dome (200) of the vehicle (100), wherein the first, second, third, and fourth shock absorber domes (200) are located near respective wheels (104) of the vehicle (100). Vehicle (100) are located.