Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
ORBITER-FORUM will be temporarily closed at 2026-07-23 18:00 UTC while we complete some OF maintenance tasks. The amount of downtime is expected to take up to one hour, but probably less.
The DG is derived from the ComponentVessel class which introduces the concept of subsystems to allow modularizing the different subsystems of the vessel. You can either use that mechanism or not, as you prefer.
The DG controls pitch attitude by modulating the thrust difference between the front hover thruster and the two back hover thrusters. It controls bank attitude by modulating the thrust difference between the left and right back hover thrusters.
Your drone would control pitch attitude by...
The hover subsystem class controls the DG's hover engines. Both responding to manual input and implementing the attitude control and the hold alt/vspd autopilots. The specific method I pointed out is the feedback loop that controls the attitude by modulating the thrust differences between the...
It's not a good idea to just copy a bit of code into your project and hoping for the best. Do you know what the code does? And how it fits into your design concept of the flight control system?
I wouldn't bother trying to fix the errors. If you copied the entire hover subsystem then there will...
Yes. The logic here is as follows:
- first let the autopilot compute the forces required to achieve a target state
- then compute the RPM settings required to generate those forces, given the current flight environment (atmospheric density, etc.)
Of course not all target states are within the...
Yes. Either that, or just apply custom forces at those points. Custom forces might be better, since Orbiter won't apply pressure-dependent ISP variations to those, which are not applicable to your application. Instead, you will have to compute and apply thrust variations specific to your rotor...
I was more thinking about the implementation of the hover attitude control system. Look at HoverSubsys.{h,cpp}. Check out the HoverAttitudeComponent class (for attitude control), in particular the TrackHoverAtt method which implements the attitude feedback loop. And the HoverHoldComponent class...
You misunderstood. I am not talking about the individual rotors tilting, but the entire drone. Just like it's shown in the animation you posted. In the last few seconds of the clip it tilts forward to get a forward velocity component - just like any standard drone or helicopter operates.
You...
Yes. Remember that Orbiter is a Newtonian simulator (at least that's what it says on the Wikipedia page. ;) ) In practical terms, this means that you provide the forces, and let Orbiter do the rest (the integration of the state vectors.). So the position is an output, not an input.
Why not? And...
I was just thinking about the direction part. How does a drone implement rotating on the spot? Presumably, if you consider a quadcopter, each pair of neighbouring rotors has the opposite spin direction, to cancel out any resulting torque. So I guess you could lower the RPM of two diagonally...
Well, the throttle presumably controls the RPMs of your rotors, so you need to calculate the the lift generated by each rotor as a function of that (in addition, the lift force will of course depend on other factors, such as atmospheric density and relative wind velocity).
Not a good idea. Try...
Sorry, but from your post I can't figure out what you actually want to simulate.
Why are you talking about VS2 (I assume this is VESSELSTATUS2)? Do you want to place your spacecraft at some arbitrary position, ScenarioEditor-style? Then I don't understand the rest of the post.
This is a...
One thing to remember is that the Lua script is not running in a separate thread from the Orbiter main process (the communication between Lua and the Orbiter core is not threadsafe). Therefore, Orbiter is suspended while Lua is executing its code.
Therefore it is important during a lengthy bit...
Work in progress :lol:
I think I spotted the problem that causes the propagation to ancestors even if not selected. I'll try to fix that asap.
Even so it's worrying that the ancestor got corrupted. To try and pinpoint the problem: Is there a gap in the quadtree between the L17 tile you are...
Next update:
Surface tiles can now be imported from a PNG file. To some extent this replicates the functionality of the plsplit64 tool, but while plsplit64 is intended for bulk generation of global tilesets, the tileedit import function is more interesting for local edits, e.g. surface bases. I...
Does this happen with the built-in graphics, with the D3D9 client, or both?
If it happens with the built-in client, does it help if you tick the "Disable hardware pageflip" option in the Video tab?
Logic can be a funny thing. If we formally define the conditional statement "If the sun suddenly disappears, then Mercury will hit the Earth" as
p: the sun suddenly disappears
q: Mercury hits Earth
p -> q
then the statement p -> q is only false if p is true and q is false.(ex falso quod...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.