Is it possible to calculate or infer a vehicles weight or relative load ? Ideally I am looking for an indicator that says the vehicle is "empty" or "carrying weight" in terms of its carrying load. This does not have to be exact but but a good indicator.

I have access to metrics such as:

• Fuel used (either in total or whilst engine was active)
• Engine active time
• Distance covered
• Engine active time
• Time spent over 90% torque max
• Average speed

One caveat to this is that I only have access to aggregated 5 minute data.

• If you have acceleration and torque data, you should be able to estimate a total weight from that. – Ben51 Jan 18 '18 at 16:25
• Hey @Ben51 Thank you.. any ideas how? – Chris Jan 18 '18 at 16:36
• $F=ma$. If you know the torque output by the engine, the gear ratio, and the diameter of the drive wheels, you know the force acting to accelerate the truck. At low speeds, where drag is not significant, you divide this force by the acceleration to get mass. If you use a simple tilt-meter as an accelerometer, it doesn't even matter how much of the reading is due to inclination (going up a hill) and how much to changes in speed. – Ben51 Jan 18 '18 at 16:40
• Are there any persistent properties about the vehicle you can identify that you can hard-code into your equation? Like, for example, do you know the weight of the vehicle when totally empty? Specifically properties which never change. – Jakob Lovern Jan 18 '18 at 16:45
• What @Ben is saying is that if your torque is really high, then since $F=Ma$, to keep acceleration low, you need a high mass. The only problem is determining acceleration. You could maybe look at change in average speed. – Jakob Lovern Jan 18 '18 at 16:51

Disclaimer: the numbers used in this are not intended to be accurate, nor are the formulae perfect. Please use these results with caution.

I'm assuming that you're using this as the base logic for a program or a PLC, so I'm gonna use some concepts which won't make sense otherwise. As you stated in your question, you have immediate access to the last five minutes of data for a few things. We'll pretend they're just magic dictionaries buffer queue things which automagically update.

Now, you can calculate acceleration as $\frac{v_2 - v_1}{\Delta t}$. Programmatically, record average_speed, wait 1s, then record again and find acceleration.

Now, what can we do with this? You said you can record time_spent_over_90%_torque. Since we know that engine torque is directly related to forward force, we can reduce this to $F=M*a$. If we isolate times when acceleration is low (see above) yet engine torque is high, then those will be times when the truck is either heavily loaded or going up a steep hill.

No you do not have sufficient data to make such a calculation.

In order to use $F=ma$ you need to be able to calculate net force $F$ and acceleration $a$. Here $m$ is the total mass of the vehicle. I presume that you also know the unladen mass of the vehicle, otherwise you cannot calculate the load.

You do not have any information with which to calculate the net force $F$ acting on the vehicle. Time spent over 90% torque max does not tell you what the torque actually was. Even if you knew the torque value at each instant, you need to know the gear ratio and wheel diameter to calculate the thrust acting on the vehicle from the road.

Also you do not know how this force combines directionally with the weight of the vehicle. You cannot tell if thrust and weight act in the same direction (eg going downhill) or the opposite direction (going uphill) or some intermediate case. As Jakob points out, you cannot distinguish between accelerating uphill with a small load or accelerating along a straight load with heavy load.

Acceleration measured along the track can be calculated from distance vs time or average speed vs time. However, $F=ma$ is a vector equation which means that $F$ and $a$ must be measured in the same direction. There is no indication from your data what the direction of the acceleration is - ie whether the track is a straight line or a curve, nor how the slope of the track relates to the direction of gravity. Motion with constant speed in a circle requires no acceleration along the curve/track, but there is centripetal acceleration perpendicular to the curve, which your data does not capture.