ARTE
BELLEZZA E BENESSERE
MESTIERE
CULTURA E STORIA
DIVERTIMENTO
AMBIENTE
CIBO E BEVANDE
INGEGNERIA INVERSA
SCIENZE
SPORT
TECNOLOGIA
INDOSSABILI
Gimballed Thrust Vectoring
Martin

Creato da

Martin

27. agosto 2026NO
48
0
0
0
0

Gimballed Thrust Vectoring

A rocket ascending on its engine is balancing a pencil on a fingertip, and it is worse than that because the fingertip is doing the pushing. Thrust acts at the base while the centre of mass is far above it, so any small angular disturbance produces a moment that increases the disturbance — the vehicle is statically unstable and will tip over within seconds unless something actively corrects it. Fins work in the atmosphere and do nothing in vacuum. The answer used on every large launch vehicle is to swivel the engine itself: tilt the thrust a couple of degrees off-axis and it produces a restoring moment through a very long lever arm. This blueprint builds the gimbal and its control loop, and the important lesson is that the vehicle is not made stable — it stays unstable, and is flown by a loop fast enough to keep catching it.
Avanzato
6 hours 30 minutes

Istruzioni

1

Prove the instability with a broom handle

Feel the problem before instrumenting it.

  1. Balance a broom vertically on your palm and note what you must do to keep it up.
  2. Try it with your eyes closed.
  3. Now balance it the other way — hang it from your hand like a pendulum — and let go of the corrections.

Upright, it needs continuous correction and fails instantly without feedback; hanging, it is stable and needs nothing. A rocket under thrust is the upright case: thrust below, mass above, and every degree of tilt generating a moment that increases the tilt.

Notice what your hand actually does — it moves toward the direction of the fall. That is the counter-intuitive part and it is exactly what a gimballed engine does: to correct a tilt to the left, the engine swivels so the thrust pushes the BASE further left, rotating the vehicle back upright about its centre of mass.

This is why a rocket visibly leans and yet flies straight, and why gimbal deflections are small — one or two degrees is plenty, because the lever arm from engine to centre of mass is tens of metres.

Materiali per questo passaggio:

Spina di legnoSpina di legno1 pezzo

Strumenti necessari:

Smartphone con video al rallentatoreSmartphone con video al rallentatore
Metro a nastroMetro a nastro
Goniometro digitaleGoniometro digitale
2

Build a two-axis gimbal ring

Two perpendicular hinges give you pitch and yaw from one mount.

  1. Machine an outer ring that pivots on two opposed bearings about one axis.
  2. Machine an inner ring pivoting inside it about the perpendicular axis.
  3. Mount your engine — or a mass dummy with a thrust source — in the inner ring.
  4. Check the two rotation axes intersect exactly, and that both pass through the engine’s thrust axis.

If the axes do not intersect at a common point, gimballing in one axis translates the engine sideways as well as rotating it, and the two control channels start interfering. That cross-coupling turns an already difficult control problem into a much harder one.

Reverse-engineering note: this is also why the propellant feed lines to a gimballed engine use flexible bellows arranged so their stiffness is symmetric about both axes. An asymmetric duct pushes the gimbal a little in one direction, and the control loop must fight that bias continuously — burning actuator power and margin for nothing.

Materiali per questo passaggio:

Piastra di alluminioPiastra di alluminio1 pezzo
Cuscinetto a sfereCuscinetto a sfere4 pezzi
Spina cilindrica in acciaioSpina cilindrica in acciaio4 pezzi
Viti a testa cilindrica M5Viti a testa cilindrica M58 pezzi

Strumenti necessari:

Morsa da fresatrice da 4 polliciMorsa da fresatrice da 4 pollici
Tornio per metalliTornio per metalli
Trapano a colonnaTrapano a colonna
Comparatore a quadranteComparatore a quadrante
Calibro digitale da 6 polliciCalibro digitale da 6 pollici
Goniometro digitaleGoniometro digitale
Chiave dinamometricaChiave dinamometrica
Occhiali di sicurezza trasparentiOcchiali di sicurezza trasparenti
3

Add actuators and measure the response you can command

How fast the gimbal can move sets how unstable a vehicle you can fly.

  1. Fit two actuators — hobby servos are adequate at this scale — one per axis.
  2. Command a step change and film it, measuring the time to reach the commanded angle.
  3. Measure the maximum angular rate and the deflection range.
  4. Measure backlash by commanding a small reversal and seeing how much command produces no motion.

Backlash is the number that will hurt you. Any free play means a region where the loop commands a correction and nothing happens, and a control loop with a dead zone hunts — it overshoots, reverses, waits through the slack, overshoots the other way.

Actuator rate matters just as much. An unstable vehicle diverges at a characteristic rate, and the loop must be able to correct faster than it diverges. If the gimbal is slower than the tipping, no control law will save it.

Real vehicles use hydraulic actuators for exactly this reason, and some — including the Saturn V and the Shuttle — tapped high-pressure propellant from the turbopump as the hydraulic supply, so the engine powered its own steering.

Materiali per questo passaggio:

Servocomando da modellismoServocomando da modellismo1 set
Ricevente radiocomandataRicevente radiocomandata1 set
Squadretta di comandoSquadretta di comando1 set
Forcella a pernoForcella a perno1 set
Piatto di alluminioPiatto di alluminio1 pezzo

Strumenti necessari:

OscilloscopioOscilloscopio
Multimetro digitale da laboratorioMultimetro digitale da laboratorio
Alimentatore da banco regolabileAlimentatore da banco regolabile
Smartphone con video al rallentatoreSmartphone con video al rallentatore
Goniometro digitaleGoniometro digitale
Calibro digitale da 6 polliciCalibro digitale da 6 pollici
Stazione saldanteStazione saldante
Occhiali di sicurezza trasparentiOcchiali di sicurezza trasparenti
4

The control sketch

Upload this to the board before tuning. It reads the IMU, fuses gyro and accelerometer with a complementary filter, and drives both servos.

Note what the derivative term uses: the gyro rate directly, not a differentiated angle. Differentiating a noisy angle manufactures large spurious commands — the gyro already measures rate cleanly, so use it. The integral term is clamped, because an integrator that keeps accumulating while the servo is already at its limit will wind up and then overshoot badly when the error finally reverses.

Tune in the order Kp, then Kd, then Ki, one at a time, watching the serial telemetry.

gimbal_pid.inoarduino
/*
  Two-axis gimbal stabiliser — PID attitude hold
  Youblob blueprint: Gimballed Thrust Vectoring

  Reads pitch and roll rate from an MPU-6050 IMU, fuses them with the
  accelerometer via a complementary filter, and drives two servos to hold
  the thrust axis vertical.

  Hardware:
    MPU-6050  SDA -> A4, SCL -> A5, VCC -> 3.3V, GND -> GND
    Pitch servo signal -> D9      Yaw servo signal -> D10
    Servos powered from a SEPARATE 5V supply, grounds commoned.

  The derivative term uses the gyro rate DIRECTLY rather than differentiating
  the angle. Differentiating a noisy angle produces large spurious commands;
  the gyro already measures rate, cleanly. This matters — see step 4.
*/

#include <Wire.h>
#include <Servo.h>

const int MPU = 0x68;
Servo pitchServo, yawServo;

// --- Tune these on the test stand, in this order: Kp, then Kd, then Ki ---
float Kp = 4.0;
float Kd = 0.25;
float Ki = 0.4;

const float GIMBAL_LIMIT = 8.0;   // degrees of deflection the mechanism allows
const float SERVO_CENTRE = 90.0;
const float ALPHA        = 0.98;  // complementary filter: trust gyro short-term

float pitch = 0, yaw = 0;
float iPitch = 0, iYaw = 0;
unsigned long lastMicros = 0;

void setup() {
  Serial.begin(115200);
  Wire.begin();
  Wire.beginTransmission(MPU);
  Wire.write(0x6B); Wire.write(0);      // wake the MPU-6050
  Wire.endTransmission(true);

  pitchServo.attach(9);
  yawServo.attach(10);
  pitchServo.write(SERVO_CENTRE);
  yawServo.write(SERVO_CENTRE);

  delay(2000);                          // let the rotor and the IMU settle
  lastMicros = micros();
}

void loop() {
  Wire.beginTransmission(MPU);
  Wire.write(0x3B);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU, 14, true);

  int16_t ax = Wire.read() << 8 | Wire.read();
  int16_t ay = Wire.read() << 8 | Wire.read();
  int16_t az = Wire.read() << 8 | Wire.read();
  Wire.read(); Wire.read();             // discard temperature
  int16_t gx = Wire.read() << 8 | Wire.read();
  int16_t gy = Wire.read() << 8 | Wire.read();

  unsigned long now = micros();
  float dt = (now - lastMicros) / 1000000.0;
  lastMicros = now;
  if (dt <= 0 || dt > 0.2) return;      // ignore a stalled or first iteration

  float gyroPitchRate = gx / 131.0;     // deg/s at default +/-250 deg/s range
  float gyroYawRate   = gy / 131.0;

  float accPitch = atan2(ay, az) * 57.2958;
  float accYaw   = atan2(-ax, sqrt((float)ay * ay + (float)az * az)) * 57.2958;

  // Complementary filter: gyro is accurate short-term but drifts;
  // the accelerometer is noisy but has no long-term drift. Blend them.
  pitch = ALPHA * (pitch + gyroPitchRate * dt) + (1.0 - ALPHA) * accPitch;
  yaw   = ALPHA * (yaw   + gyroYawRate   * dt) + (1.0 - ALPHA) * accYaw;

  iPitch = constrain(iPitch + pitch * dt, -20, 20);   // clamp: anti-windup
  iYaw   = constrain(iYaw   + yaw   * dt, -20, 20);

  // Correct TOWARD the fall: a positive pitch error commands the nozzle to
  // push the base the same way, rotating the vehicle back upright.
  float cmdPitch = Kp * pitch + Ki * iPitch + Kd * gyroPitchRate;
  float cmdYaw   = Kp * yaw   + Ki * iYaw   + Kd * gyroYawRate;

  cmdPitch = constrain(cmdPitch, -GIMBAL_LIMIT, GIMBAL_LIMIT);
  cmdYaw   = constrain(cmdYaw,   -GIMBAL_LIMIT, GIMBAL_LIMIT);

  pitchServo.write(SERVO_CENTRE + cmdPitch);
  yawServo.write(SERVO_CENTRE + cmdYaw);

  static unsigned long lastLog = 0;
  if (millis() - lastLog > 50) {        // 20 Hz telemetry for tuning
    lastLog = millis();
    Serial.print(pitch, 2); Serial.print(',');
    Serial.print(cmdPitch, 2); Serial.print(',');
    Serial.print(yaw, 2); Serial.print(',');
    Serial.println(cmdYaw, 2);
  }
}

Materiali per questo passaggio:

Scheda a microcontrolloreScheda a microcontrollore1 pezzo
Unità di misura inerziale (6 assi)Unità di misura inerziale (6 assi)1 pezzo
Filo per cablaggioFilo per cablaggio1 reel

Strumenti necessari:

Computer con l'IDE ArduinoComputer con l'IDE Arduino
Multimetro digitale da laboratorioMultimetro digitale da laboratorio
OscilloscopioOscilloscopio
5

Close a PID loop and tune it on a test stand

Now fly the instability on a stand where failure costs nothing.

  1. Mount the whole assembly on a single-axis pivot so it can tip but not fall.
  2. Add an inertial sensor measuring angle and angular rate.
  3. Implement a control loop: proportional to angle error, derivative on rate, a little integral for steady bias.
  4. Start with proportional only, increase gain until it oscillates, then add derivative and back the gain off.

Proportional alone gives an oscillation that never settles; adding derivative damps it; too much integral makes it sluggish and prone to wind-up. The derivative term is what makes this work — it responds to how fast the error is GROWING, so it starts correcting before the error is large.

Compare with the constant-speed propeller governor from the aviation batch: same negative feedback, same hunting failure when tuned too aggressively. The difference is that a governor is correcting a stable system and this loop is the only thing preventing a tumble.

Filter the derivative term. Rate signals are noisy, and differentiating noise produces large spurious commands that will shake the airframe — several early vehicles had control loops that excited their own structural bending modes, with the sensor reading the vibration the actuator had just created.

Materiali per questo passaggio:

Unità di misura inerziale (6 assi)Unità di misura inerziale (6 assi)1 pezzo
Scheda a microcontrolloreScheda a microcontrollore1 pezzo
Filo per cablaggioFilo per cablaggio1 reel

Strumenti necessari:

OscilloscopioOscilloscopio
Multimetro digitale da laboratorioMultimetro digitale da laboratorio
Alimentatore da banco regolabileAlimentatore da banco regolabile
Smartphone con video al rallentatoreSmartphone con video al rallentatore
Goniometro digitaleGoniometro digitale
Stazione saldanteStazione saldante
Occhiali di sicurezza trasparentiOcchiali di sicurezza trasparenti
6

Compare the alternatives and see why gimbals won

Several ways exist to steer a rocket. Measure what each costs.

  1. Build a jet vane — a small heat-resistant paddle that deflects the exhaust — and measure the side force and the thrust LOST to its drag.
  2. Model vernier thrusters: small fixed engines used only for control.
  3. Consider fluid injection: squirting liquid into one side of the nozzle to create an asymmetric shock.
  4. Tabulate side force, thrust penalty and complexity for each.

Jet vanes are simple, work from the instant of ignition, and sit in the exhaust stream eroding while stealing a few percent of thrust. Verniers are clean but are extra engines. Fluid injection has no moving parts in the flow and limited authority. Gimbals cost nothing in thrust and demand a mechanism, flexible plumbing and hydraulic power.

The V-2 used graphite jet vanes because gimballing a whole engine in 1942 was beyond the state of the art; they eroded badly and the accuracy suffered. As actuators improved, gimbals took over everywhere the thrust penalty mattered — which is to say, everywhere the rocket equation is watching.

Solid motors cannot gimbal a whole engine easily, so they steer by gimballing just the nozzle on a flexible bearing — a laminated stack of rubber and metal shims, stiff against thrust and compliant in bending. The Shuttle boosters steered exactly that way.

Materiali per questo passaggio:

Blocco di grafiteBlocco di grafite1 pezzo
Piatto di alluminioPiatto di alluminio1 pezzo
Carta millimetrataCarta millimetrata1 pad

Strumenti necessari:

Dinamometro a mollaDinamometro a molla
Termometro a infrarossiTermometro a infrarossi
Calibro digitale da 6 polliciCalibro digitale da 6 pollici
Serie di limeSerie di lime
Smartphone con video al rallentatoreSmartphone con video al rallentatore
Bilancia digitaleBilancia digitale
Occhiali di sicurezza trasparentiOcchiali di sicurezza trasparenti
Visiera protettivaVisiera protettiva

Materiali

15

Strumenti richiesti

20

Blueprint correlati

Questi blueprint condividono conoscenze — tecniche, materiali o principi

CC0 Pubblico dominio

Questo progetto è rilasciato sotto CC0. Sei libero di copiare, modificare, distribuire e utilizzare quest'opera per qualsiasi scopo, senza chiedere permesso.

Supporta il Maker acquistando prodotti tramite il suo progetto dove guadagna una Commissione Maker stabilita dai venditori, oppure crea una nuova iterazione di questo progetto e includilo come collegamento nel tuo progetto per condividere i ricavi.

Commenti

(0)

Accedi per partecipare alla discussione

Caricamento commenti...