k4kfh / ZephyrCab

Drive a model train with prototypical controls, realistic behavior, and simulated physics; uses JMRI's WebSockets interface for layout connection
http://k4kfh.github.io/ZephyrCab
GNU Affero General Public License v3.0
10 stars 4 forks source link

Wheel Slip Concept/Theory #8

Open k4kfh opened 8 years ago

k4kfh commented 8 years ago

It has been several months since I've worked on this issue even conceptually, let alone in actual programming. I think I had worked out a functional math model a while back, and in digging through past emails I found this:

The way I was planning to model the wheel in my program was basically a cube on a table. The cube would have the mass of the locomotive. All of the forces being exerted on the wheels (including rolling resistance, grade effects, and motive force) would be added up to find the load on the wheel. If this load exceeds 30% of the mass of the locomotive, then the wheels slip. At this point, if the "cube" model is 230,000lbs then we must apply more than 69,000lbs of load to the wheel to make it slip. If we apply 70,000lbs of load to the wheel, then my cube model comes in. Since 70,000-69,000 is 1,000lbs, there would be a net force of 1000lbs acting on the cube. The movement of the cube across the "table" would represent the slippage (relative to the rail) that the wheels experience.

I believe the theory above is sound, but it will require a few modifications. Instead of simply adding all forces, I think I'll instead have to add external and internal forces.

Examples:

Internal Forces External Forces
Tractive Effort Rolling Resistance
Locomotive Braking Grade Effects

So I would find both the net internal force and net external force, then add the two together to find the load on the wheel. I think I need to do this because it doesn't make sense for two external forces to be added. For example, if you were going downhill but also had wind resistance pushing uphill, both those forces come from outside the wheel, so they cancel each other out giving us a net force. However, if you had uphill grade force and motive force, those two add. I can't articulate it into words well, but that seems to make sense.

k4kfh commented 7 years ago

Findings in this paper by the Western Pacific Railroad Museum seem to confirm this theory. I don't know for sure about the "cube" idea, but that seems plausible and I at least know that the "trigger" for slippage is sound. Therefore I am closing this issue to focus on other things.

The other friction point involved in braking is the friction between the wheel and the rail, commonly called adhesion. Adhesion is dependent upon the weight of the car or locomotive and is usually expressed as a percentage of the weight. It is also greatly dependent on rail conditions being practically unpredictable for wet or oily or frosty rail. In order to control the adhesion and make it more predictable, sand is applied to the rail by the locomotive sanders. A commonly used, practical, percentage for adhesion at low speeds is 25%. Adhesion tends to decrease slightly as speed increases so a percentage of 20% over 20 MPH can be used. If braking force is applied to a wheel that is greater than the adhesion, the wheel will slide. Sliding, in addition to damaging wheels, reduces the effectiveness of braking.

k4kfh commented 7 years ago

The first step will be to make a function for calculating all the external forces. This includes grade and rolling resistance as described above, but it also includes the net forces for every other object on the train (all the cars and all the other locomotives, if any).

Update: July 23 2017 - This step is done, as is the function for calculating internal forces. Functions that use these numbers are still a WIP.

k4kfh commented 7 years ago

It looks like in order to handle the math for slipping, we'll have to have two netForce values for every element: one before slip comes into play and one "real" one after slip comes into play.