Today’s goal was to make a stable hovercraft. Actually, I’ve tried making something like this before, but just smacking a bunch of rocket engines on a structure and firing them up is usually a very bad idea!! 🙂 So it was postponed, but now the timing was right to start making… the HOVERCRAFT. Without further talk, see the video below of the first tries:
First, the vehicle consists of:
- 1 computer
- 4 air-turbines
- 1 tilt sensor (outputs roll for both vehicle axes)
- 1 height sensor
- A bunch of wood and metal parts for stability
As you can probably see in the beginning, the first tries were without any kind of roll-control (the vehicle will simply flip over if it gets unbalanced in any way) and with a very bad height-control. Basically, the control loop just increased the turbine thrust if the height was below a desired height, and reduced it if the height was above it. This method works if the thrust modulation is very small (or conversely if the mass is large) but does not work well if there is lag between thrust control and the resulting movement.
At this point it’s worth mentioning that of course the methods of controlling a system by measuring properties of it is well known, and called Control theory in the engineering field. One of the tricks in control theory well done, is to be able to move as fast as possible to the target position without overshooting and without oscillations.
Having said that, for most simple cases you can get away with just tweaking and moving some knobs on a simple device called a PID-regulator, like when you want to control a motor that is supposed to quickly move something to a desired position.
The letters PID stand for Proportional, Integral and Derivative, and is a mnemonic to remember that the actuation value (the value we send to the motor, or thrust-level in our case here), depends on a Proportional part, an Integral part, and a Derivative part of the error (difference between desired height and current height).
Here is an interesting video showing what a good control loop can do:
So, I added a derivative part, which in principle acts like a dampener on the vertical velocity of the hovercraft, by reducing thrust if the velocity upwards is high, and vice versa. I also added similar control loops to the roll-detectors, which skew the turbine thrusts to compensate for roll in both axes. This is not very visible from the first video above, but it’s there in the end. It’s why I add the cows actually, because their weight would cause the hovercraft to quickly destabilize without roll-compensation.