Guide explains how to make a VTOL aircraft in Stormworks using Jet engines, but translates to rotorcrafts as well. There’re many ways to make a VTOL maneuver, but I'll focus on presenting the techniques I have found works best in my experience with a 4 engine VTOL.
Basic VTOL Guide
Basics of Maneuvers
VTOL stands for "Vertical Take Off and Landing". So the concept is to get you off the ground and land again without using horizontal speed like an airplane. Helicopters are a great example of a VTOL aircraft. The have 4 basic controls to maneuver. Pitch (to tilt forward and gain speed), Roll (to lean to one side and move sideways), Yaw (to rotate the aircraft so you control which direction you’re pointing) and the collective/up,down (to control if you’re gaining or loosing hight). An airplane will work in very similar ways but will instead use pitch to control altitude. Later in the guide I will go into how your aircraft should transition into horizontal flight like an airplane.
In this example we will use a 4 engine Jet VTOL. It works very similar to a quadcopter drone. With 4 engines, one in each corner, you can control pitch, roll, and altitude.
To control the yaw we will need to also have engine exhaust that can tilt forwards and backwards. This will also let us transition over to horizontal flight later on.
A helicopter will use its pitch to move forwards and backwards, but in our example we will just use the pitch to keep the aircraft stable. By increasing the thrust on the 2 rear engines, and decreasing the thrust on the 2 front engines we can tilt the aircraft forwards, and opposite.
Just like we use the thrust difference from the 2 rear and 2 front engines, we can use the thrust difference from the 2 left engines and the 2 right engines to roll from side to side. We just decrease thrust on side or increase on the other side, or both.
To yaw we will have to use the engine rotation. By rotating the engines on one side to thrust forwards, and the other side backwards, we can rotate the aircraft on the spot.
Another thing to consider is that when you yaw and send thrust forwards and backward, less thrust goes downwards to keep the aircraft up. Later we will get to how to compensate for this in the logic.
The last piece of maneuvering is to control the altitude. This is done by simple increase or decrease the thrust of all the engines. Pitch, yaw, roll and up/down control will in a 4 engine VTOL be controlled by all the engines at the same time. We will also use a gyro to help stabilize all these and controls. Back to that when we get to the logic part.
Building the VTOL
To build a jet VTOL you will obviously need jet engines. We use 4 engines here, but it’s always possible to have more as long as they are in the same group with the same controls.
Like this example here with a total of 24 engines in 8 different units, but still in 4 groups.
Here's an example on engine placement.
The blue arrow indicates the center of mass. If you were to balance the aircraft on a stick, this is the point you would want to balance it on. The red arrow indicates the center of lift. This is the center point between all the engine exhausts. Imagine if you wanted to tie your aircraft on a string. For it to hang from a string balanced, the string would have to be tied exactly at the center of mass. This is the same with the engines. The engines will give you a center of lift, and this act like that imaginary string. For your VTOL be perfectly balanced, you want your center of mass to be perfectly centered with the center of lift. Note that the center of mass indicated when building doesn’t account for the weight of fuel. So what you will want to do is to actually make a stick for your aircraft to balance on exactly at the center of lift. Spawn it in with the fuel, and find out where you need to place to fuel for it to be perfectly balanced.
It is totally possible for you to make a VTOL without finding the center of lift, but then you will have to strain the gyro by always having it pitch either forwards or backwards, or you have to have different engine RPS in the front and back. You will never get a perfectly stable VTOL that way, and it will save you a lot of trouble to just find the center of lift and mass, match them up and keep it like that. Keep in mind that you should check the real center of mass when ever you add more weight to your aircraft rebalance it.
The goal is to have a VTOL that can get into horizontal flight as well, so te get that extra speed which make an aircraft so superior to other modes of transport, you can add horizontal facing engines in addition to the VTOL engines. You can then give them a much higher RPS than the VTOL engines and easily double your top speed from just flying with VTOL engines.
Logic and Controls
When I talked earlier about how the pitch, roll and yaw I said that you use those maneuvers by changing thrust. To control the thrust you do not change the RPS. You instead use the thrust spoiler that you find on all types of jet exhausts. You can send it a number between 0 and 1 to control the thrust no matter the RPS of the engines. 0 means full thrust because there’s no spoiling, when 1 means full spoiling so it cuts all thrust. Opposite to normal engines and throttle where 1 is full throttle. But there’s ways in the logic revert it. Getting back to that later.
Now we are getting to connecting everything. Making startups for the engines and PIDs for them I’ll let you figure out on your own, but what I will tell you is that you will have to tune the engines and find out how many RPS is needed for the engines. If you followed my tip with having the true center of mass balanced with the center of lift, then you can give the same RPS to all the VTOL engines.
I have made a very basic microcontroller that will help you get started.
- Start by connecting the different nodes from your gyro to the microcontroller.
- Place down a linear speed sensor and preferably convert it to knots (x*1.943844).
- Connect W/S on your pilot seat to the "Forward Throttle" on the microcontroller.
- Connect A/D to the Roll on the Gyro.
- Connect Left / Right to the Yaw on the Gyro.
- Connect Up / Down to the Up/Down on the Gyro.
- Also remember to give the gyro an ON signal to the Auto-Hover. There's no point in not having it -activated.
Now we connect the microcontroller to the engines exhausts.
Make sure that the arrows on the rotating exhausts is pointing so that with a + signal they will point backwards. If having trouble with this use numerical inverters.
Next you just need to connect the rotation- and spoiler-number signals to the microcontroller.
Let’s look at how the microcontroller looks like. Here we see the part of microcontroller that controls all the thrust spoilers. The Pitch, Roll and Up/Down input from the gyro comes into play here.
First, some values are inverted. Like when it pitches forwards it sends positive numbers to the rear engines, and negative numbers to the front. When it rolls to the right it sends positive numbers to the left engines, and negative numbers to right engines.
The Up / Down just goes clean into the equation with no inverting. All the values are simply added together “X+Y+Z”, where pitch=X, roll=Y and up/down=Z.
Then in the next box they get added more value from the rotation of the engine exhaust. Like I mentioned earlier, when the aircraft yaws, all engines tilt either forwards or backwards a little, meaning that less thrust is pointing downwards keeping the aircraft up. So in order to compensate, a small value of that rotation is added to the total thrust so the VTOL doesn’t loose any altitude when yawing.
Last we have function boxes with (x*-1)+1. This simply converts the signals from the gyro so that they work with the thrust spoilers which are inverted.
Next up, we have the input from the forward throttle and the speed. I won’t go into too much detail, but this small part basically tilts the engine exhaust backwards so you can fly horizontally.
The function in the bottom function box is x*(y/150).
You might want to change the number 150 lower or higher depending on the speed of your VTOL aircraft. This generally decides how fast the exhausts tilt back when you accelerate.
Last part of the microcontroller is the yaw and exhaust tilt. The Yaw can be very sensitive, so I added a property number that controls the sensitivity. The yaw is then divided by a value of the forward throttle so the aircraft doesn’t do any wild spins when you try to turn at low speeds. The rotation value from the forward throttle and the yaw is then added together and clamped where the final value is also sent back up to the thrust spoilers. To compensate for the loss of upwards lift when rotating. This part also makes sure that the spoilers are kept at full thrust when in horizontal flight.
Other Important Parts
So far you have hopefully have a VTOL that can take off and move around, but going into horizontal flight basically makes it into an airplane. And an airplane uses rudders and controls surfaces to maneuver. It will still need Roll control, Yaw rudder and Pitch rudders like a normal airplane.
I won’t go into detail on how to make those, but you can simply connect those control surfaces to the same gyro as the one controlling the VTOL flight.
You don’t have to use the “Jet exhaust rotating” part. You can also use entire jet engines on pivots and have several jet engines in one big engine unit. You can still use the same rotation controls from the microcontroller, but might need to recalibrate it a bit.
If the sensitivity on anything is too much or too little, the first place to start tuning it would be at the pilot seat. Don’t start changing too much in the microcontroller unless you know what you’re doing.
To gain even more speed horizontal flight you have two options.
You can make the RPS of the VTOL engines go up as you accelerate and back down to normal stable VTOL RPS when decelerating.
Or you can add additional booster engines pointing backwards like with a normal airplane. This is a much simpler version.
One final thing worth mentioning is the stability of the up/down controls from the gyro. The ingame gyros aren't perfect in any way. When you have found an RPS value on the engines that will let you lift off, don't go too much over it. If your RPS is too high it will start bobbing up and down. And if it is too low, then you won't be able to lift off. So the RPS amount should be enough that you can lift off no problem, but not so much that the gyro starts making the whole aircraft jumping up and down. Using a custim gyro is always an option too.