Orbiter-Forum [General Question] How Does Orbiter Keep Grounded Vessels In Place?
 Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

 General Questions & Help General & Advanced Orbiter flight questions, Orbiter installation questions, to all other help topics here.

 08-08-2017, 03:43 PM #1 TCR_500 Biblical Creationist How Does Orbiter Keep Grounded Vessels In Place? I'm a bit curious as to how Orbiter handles vessels that are on the ground. When static, is a vessel simply "locked" to it's location or does Orbiter simulate the forces required to keep it stationary? And what about when a vessel is moving along the ground? Are there any forces simulated to maintain surface-relative inertia? Or are the rotations of the planets simply too slow to need to take such forces into account?
 Thanked by:
 08-08-2017, 05:55 PM #2 fred18 Addon Developer I'm not martin of course, who is the only one which knows this for sure, but I've studied the matter quite deeply while developing this: https://www.orbithangar.com/searchid.php?ID=7082 I believe that it works like this: once the idle status is reached (I think that this happens when force resultant or movements relative to ground are below a certain threshold) orbiter saves the relative position (latitude, longitude) and the relative altitude of the barycenter of the vessel with reference to the planet. Together with this it saves the relative attitude of the vessel again with reference to the planet. This has been confirmed both "experimentally" and by martin himself who answered some questions of mine while I was coding the GeneralVehicle mentioned above. Those parameters are saved in the vesselstatus2 structure: - latitude and longitude in surf_lat and surf_lng of the structure and in the line "POS" of the scenario file - altitude in the vrot.x paramenter (it's just an empty slot used since the vrot.x is not used for landed vessels) and in the line "ALT" of the scenario file - attitude euler angles in the arot vector of the structure and in the line AROT of the scenario file. Again remember that the arot parameter for landed vessels is not relevant to the absolute system (as it is for flying vessels), but relative to the planet . another important point is that the altitude parameter (ALT in the scenario) has nothing to do with the actual physics, if you take a landed vessels and you set an altitude of 1000 you'll see it standing still at his place but 1000meters from the ground. All this aspects have been exploited in the General Vehicle addon and to me are evidences quite convincing that once the landed status is reached orbiter does not update physics anymore, it just update the position of the vessel, and keep it locked in its place on the planet. Relevant to movement "on the ground" that's another story. I made the GeneralVehicle addon precisely because it is quite difficult to work with landed moving vessels in orbiter, and to me that's totally understandable since orbiter is a (space) flight simulator. This is even more difficult since the new orbiter 2016 arrived, due to new touchdown point definition which can lead to numerical instability of equilibrium calculations if the system keeps getting excited. Anyway once the vessel is not stopped anymore, the landed (idle) status changes to flying status and from that point onward it's all relevant to physics: thrust, weight etc. I don't think there are any forces likewise coriolis etc taken into account in this. Hope my deductions are all correct and to have helped you! Cheers Fred
 Thanked by:
 08-08-2017, 07:45 PM #3 martins Orbiter Founder This is all correct except for the last point: coriolis forces are taken into account (implicitly) for active vessels. Coriolis forces are pseudo-forces in a rotating refererence frame, so they don't need to be actively applied to the model. If you place a vessel without any contact friction on a spherical planet (not on the equator), you should see it start drifting off slowly. You have to make sure that it doesn't get locked in idle mode though, since as Fred said, it will then no longer do dynamic state updates.
 Thanked by:
 08-08-2017, 10:47 PM #4 TCR_500 Biblical Creationist Wow. On a similar note, how is an active vessel on the ground kept from bouncing around by the planet moving and rotating? If you simply use the planet as the reference frame, how do you translate gravitational forces (eg: from the Sun) to the local frame? And is the barycenter local or global? I guess I'm getting too curious now. I've been researching physics simulations and integrators (and experimenting with trying to implement them) and because of that, I'm amazed at how well Orbiter handles physics simulations.
 Thanked by:
 08-09-2017, 12:31 AM #5 martins Orbiter Founder Quote: Originally Posted by TCR_500  Wow. On a similar note, how is an active vessel on the ground kept from bouncing around by the planet moving and rotating? I don't understand. If you refer to Coriolis forces, they are so small that even tiny surface frictions will counter them. Or what other reason should there be for "bouncing around"? I hope this isn't a question along the lines of this post - if so, I'd recommend some background reading on basic mechanics. Quote: If you simply use the planet as the reference frame, how do you translate gravitational forces (eg: from the Sun) to the local frame? All gravitational forces are computed in the global frame, summed up and transformed to the local vessel frame like any other vectors, by simple rotation from one frame to the other. Quote: And is the barycenter local or global? I don't understand the question.
 08-09-2017, 12:50 AM #6 TCR_500 Biblical Creationist Quote: Originally Posted by martins  I don't understand. If you refer to Coriolis forces, No, I'm not referring to Coriolis forces. I'm referring to the fact that the planet is moving every physics cycle and so is the vehicle in contact with the planet. How, for example, if the vehicle is "ahead" of the planet, do you keep it from being kicked off the planet as whatever integrator used for planets moves the planet into the vessel at the same time another integrator tries to move the vessel out of the planet? Quote: Originally Posted by martins  Or what other reason should there be for "bouncing around"? I hope this isn't a question along the lines of this post - if so, I'd recommend some background reading on basic mechanics. No, that's not what I'm referring to at all. Quote: Originally Posted by martins  All gravitational forces are computed in the global frame, summed up and transformed to the local vessel frame like any other vectors, by simple rotation from one frame to the other. That's what I'm trying to understand. We have basically two objects (one "immovable") moving at drastically different velocities (with the vessel moving relative to the planet's surface), making contact with each other and the vessel isn't simply thrown into an insane orbit when the gravitational forces try to pull the vessel under the planet's surface, with the surface pushing against the vessel, keeping it from going under. Wouldn't the direction of force from the planet's surface pushing up on the vessel also be changing between the beginning and end of the physics cycle?
 08-09-2017, 01:07 AM #7 martins Orbiter Founder Ok, I think I understand what you are getting at. It is true that surface impact events are quite critical, since impact forces change significantly over small time scales. Orbiter tries to solve this by subsampling the time steps whenever an impact event is detected. This is critical for impacts, but not so much during taxiing, since the surface and the vessel are already moving at similar speeds, so the vessel remains largely at equilibrium between time steps. The subsampling method has its limitations, and will fail at high time accelerations.
 Thanked by:
 08-09-2017, 01:18 AM #8 TCR_500 Biblical Creationist I take it that this equilibrium automatically takes into account the fact that as the vehicle moves across the surface, there is some net acceleration towards the center of the planet simply from the planet's rotation and the vehicle's movement with the rotation of the planet? Or is that net acceleration extremely small as well?
 08-09-2017, 01:53 PM #9 martins Orbiter Founder The acceleration towards the centre of the planet (or more precisely, normal to the surface of the geoid) is a result of gravity only. The planet's rotation and resulting centrifugal pseudo-force in the rotating system has the opposite effect of moving the vessel away from the planet's surface.
 Thanked by:
 08-09-2017, 05:11 PM #10 TCR_500 Biblical Creationist I guess I'm going to have to implement my own planet-vessel collision detection system to understand.
 Thanked by:

 Posting Rules BB code is On Smilies are On [IMG] code is On HTML code is Off You may not post new threads You may not post replies You may not post attachments You may not edit your posts
 Forum Jump User Control Panel Private Messages Subscriptions Who's Online Search Forums Forums Home Orbiter-Forum.com     Announcements     Meets & Greets Orbiter Space Flight Simulator     Orbiter Web Forum         OFMM         Orbiter Forum Space Station         Simpit Forum     General Questions & Help     MFD Questions & Help     Hardware & Software Help     Tutorials & Challenges     Orbiter SDK     Orbiter Visualization Project     Orbiter Beta » Orbiter Project Orbiter Addons     OrbitHangar Addons & Comments     Addons     Addon Development     Addon Requests     Addon Support & Bugs         Addon Developer Forums             Project Apollo - NASSP     Orbiter Lua Scripting Far Side of the Moon     Spaceflight News     Math & Physics     Astronomy & the Night Sky     Backyard Rocketry     Brighton Lounge     International Forum

All times are GMT. The time now is 12:05 AM.