Attempting to keep this brief and concise, probably won't work. This is not the be-all and end-all for guides of similar formats, but am simply here to share some knowledge. Whether you’re new to the game or simply curious, I hope you will learn something either way. This method is also NOT the only way to approach things and should not prevent you from experimenting with something new!

Fundamental knowledge will be assumed, for the most part, since far better guides or videos establish a more intuitive foundation.

The sections in this guide establish a hierarchy of importance for sub-systems. It is merely a guideline and should serve as a recommendation for more advanced readers.

Propulsion
You may use any configuration for propulsion. This method, accompanied by the flight controller, should be robust enough to transcend any boundaries in vehicle configuration. However, I will use a quad-engine configuration since it meshes very simply into traditional quad-copter flight controller design.

This is a (stylized) propulsion template derived from the Space Minnow scram Mach 20+ vehicle.

You can find it here: https://www.simplerockets.com/c/q5m6aP/Propulsion-Template

Notice the overall CoT marker is not aligned with the CG (CoM) marker. Vizzy will take care of the rest later. Overall VTOL CoT should fall somewhere near aircraft CG, but excessive deviation will require higher proportion gains at the cost of loss in effective thrust.

Start with a rotator and one engine. Your design may differ in any way, however, it should follow these guidelines to minimize the possibility of structural failure (breakage and flutter) during engine tilting and flight.

  • Longitudinally, the engine CG (CoM) location should be positioned reasonably close to the rotation point (ideally with zero deviation).

    1. Too far increases the risk of breakage, and also increases torque needed to rotate the engine.
    2. Laterally, the engine CG (CoM) should also fall near the rotator connection point (not as critical, generally speaking).
  • The thrust vector should go somewhat near the rotation point and engine CG (not as critical, but advised).

Troubleshooting
- Engine nacelle flutters on joint input or under aerodynamic load
1. Increase damperMultiplier on JointRotator in the Hidden Properties menu
2. Reduce assembly mass

  • Engine nacelle flutters on thrust input

    1. Check for asymmetric thrust vector
    2. Check longitudinal engine CG with rotation point
    3. Reduce thrust
    4. Remove engine gimbal range
  • Engine nacelle detaches on thrust input

    1. The engine root part should be laterally aligned with the rotator root.

Stability and Balance
Much of this is stylistic, so I’ll brush away the finer details of the basic bits, while (hopefully) introducing new mechanics. I won't even bother designing a wing planform since the possibilities are limitless, and I don’t want to create a benchmark for a “best” planform. There are always tradeoffs, but in real-life supersonic conditions, delta wings are king. Mainly due to their structural efficiency (strong and light) and a blend of great high-Mach performance and “adequate” or “ok-ish” low-speed characteristics.

  • Keep aircraft CoL reasonably behind CG. More advanced control loops can maintain artificial stability, but this isn’t a god-tier flight controls seminar, so keep it simple.

    1. Numerical methods exist to find stability, but that is a lot of math and coding (not so fun), so use trial and error to establish a baseline for your aerodynamic configuration.
  • Minimize vertical stabilizer area, unless engine-out or crosswinds would be expected.*

    1. Reduces drag
  • Minimize overall wing area.

    1. Have enough wing area for your given weight to comfortably take off, but no more than that amount. Generally speaking.
    2. The more lifting surfaces you have, the more induced drag (bad, reduces top speed).
  • Avoid mapping more than two inputs to a single control surface.

    1. Limits effectiveness.

Advanced control mapping can be accessed by setting the control surface to “Slider 1”. Then, in Hidden Properties add a new part modifier, it should be named “InputController”. Set inputId to “Slider1”. Any input now may be used in the Slider 1 Input tab outside of Hidden Properties.

To call flight program variables into an input controller, enter [insert command chip name].FlightProgram.[insert program variable]. Without the brackets.

  • Aircraft CG will drift as fuel burns (towards aft with most vehicles)

    1. Ensure that ALL CG extremes are within a reasonable range

    2. In a perfect world, the vehicle should be designed to mitigate or prevent CG drift.

    3. This can be done by starting the design with empty fuel tanks. As the design evolves, strategically place fuel accordingly. Adding fuel is usually one of my last steps

    4. CG is too far aft, and with no other options, add batteries forward of the vehicle.

Flight Controls
Behold the humble PID controller. Engineers in various fields use it to maintain a desired set point with a measured process variable to apply corrective action. It will become responsible for keeping your vehicle upright and within a nominal flight envelope.

I won't go deep into how or why it works because it’s not important. What’s important is getting results using rules of thumb to cause the best change possible, even if it's a byproduct of incomplete knowledge and limited resources. That is the engineering method. With the general logic established, we can now apply it for stabilizing PID controllers in each axis (pitch, roll, and yaw). This code is included with the propulsion template, but here’s a diagram anyway.

What is going on here is that the pilot’s inputs, pitch, roll, and yaw, are being filtered through the PID controllers and moderated. The Engine Module then takes the Pitch and Roll values and adds the two inputs together, along with the vertical speed hold. This tells the engine what the throttle should be (somewhere between 0 and 1). Same story with yaw in the Tilt module, which is also added with tilt-angle (Slider 1). This flight controller should work with most configurations, albeit with some modifications. One of the outliers that may be troublesome is a duel-tilt-engine where Pitch authority is not necessarily achieved through thrust differential. Thrust differential could be applied, depending on engine layout, but the simpler solution is to add a symmetric pitch input to the tilt mechanism so that pitch, yaw, and slider 1 are all on the two rotators. Then roll is achieved through thrust differential.

It's important to note that your Kp, Ki, and Kd variables will take a lot of tuning!

Thanks for Reading
That pretty much concludes what I wanted to share. There are a lot more aspects to VTOL spaceplane design, but I just wanted to go over the most important parts that might cause trouble for some players. RCS and thermal throttle controls could be a separate guide for example.

Either way, I hope you learned something or will come out of this trying something new.


1 Comment

  • Log in to leave a comment
  • Profile image
    22.0k Zenithspeed

    very useful overall, though a little complicated for me

    and man do i wish we had the option to make gyroscopes provide stability and uprighting (like in SP) rather than only having it be used to change direction, it would help loads with VTOL's and stuff like this and would mean that new players (and/or those with low skills like me) can make cool stuff without having to be vizzy masters

    10 days ago

5 Upvotes

Log in in to upvote this post.