ART
BEAUTÉ ET BIEN-ÊTRE
ARTISANAT
CULTURE ET HISTOIRE
DIVERTISSEMENT
ENVIRONNEMENT
NOURRITURE ET BOISSONS
INGÉNIERIE INVERSE
SCIENCES
SPORTS
TECHNOLOGIE
TECHNOLOGIE PORTABLE
The Inertial Guidance Platform
Emma

Créé par

Emma

27. août 2026SE
46
0
0
0
0

The Inertial Guidance Platform

A rocket must know where it is and which way it is pointing, and it cannot ask. Radio guidance can be jammed and needs ground stations along the flight path; celestial navigation needs a clear view and time; and neither works in the few minutes that matter. Inertial guidance answers the question with no outside reference at all: gyroscopes hold a set of axes fixed in space while the vehicle rotates around them, accelerometers measure acceleration along those axes, and integrating twice gives velocity and then position. It is entirely self-contained and cannot be interfered with. Its weakness is equally fundamental — integration accumulates error, so a tiny constant bias in an accelerometer becomes a position error growing with the SQUARE of time, and the system gets steadily more wrong from the moment it is switched on.
Avancé
7 hours

Consignes

1

Show that a spinning rotor holds its direction

Rigidity in space is the property everything else rests on.

  1. Mount a heavy rotor in a two-axis gimbal so it is free to point in any direction.
  2. Spin it up and note the direction its axis points.
  3. Carry the whole assembly around the room, rotating the frame in every direction.
  4. Watch the spin axis.

The frame turns; the spin axis does not. The rotor is holding an orientation fixed relative to space itself while its mounting rotates around it, and the gimbals are simply allowing that to happen without transmitting torque.

Now push gently on the spinning rotor and observe: it does not move in the direction you pushed, but at right angles to it. That is precession, and it is the source of every counter-intuitive behaviour in the rest of this blueprint.

See the Sperry gyrocompass blueprint for how the same property was used to find true north at sea. The difference in application is instructive: the gyrocompass deliberately CONSTRAINS the gyro so Earth’s rotation forces it to seek north, while a guidance platform tries to leave it entirely unconstrained.

Matériaux pour cette étape :

Roulement à billesRoulement à billes4 pièces
Barre ronde de laitonBarre ronde de laiton1 pièce
Plaque d'aluminiumPlaque d'aluminium1 pièce

Outils nécessaires :

Tour à métauxTour à métaux
Étau de fraisage 4 poucesÉtau de fraisage 4 pouces
Comparateur à cadranComparateur à cadran
Pied à coulisse numérique 6 poucesPied à coulisse numérique 6 pouces
Tachymètre numériqueTachymètre numérique
Rapporteur d'angle numériqueRapporteur d'angle numérique
Lunettes de sécurité transparentesLunettes de sécurité transparentes
2

Build a stable platform on three gimbals

Isolate a small platform from every rotation of the vehicle around it.

  1. Build three nested gimbal rings, each free about a different axis.
  2. Mount the inner platform carrying the gyros and accelerometers.
  3. Fit pickoffs to sense any relative rotation, and small torque motors to drive each gimbal.
  4. Close a loop that drives the motors to keep the pickoffs reading zero.

The platform now stays fixed in inertial space while the vehicle rotates freely around it, and the gimbal angles read out the vehicle’s attitude directly. The loop is not steering the platform — it is removing friction, driving the gimbals so the platform never has to be pushed.

Three gimbals have a famous flaw. Rotate the vehicle so two gimbal axes line up and the platform loses a degree of freedom entirely — gimbal lock, after which the platform tumbles and the reference is destroyed. Apollo carried a display warning the crew away from those attitudes, and Michael Collins famously suggested they carry a fourth gimbal instead.

The fix is a redundant fourth gimbal, or abandoning the mechanical platform altogether for a strapdown system where sensors are bolted to the airframe and the transformation is done in software. Cheap computing killed the gimballed platform — the mathematics was always possible, the processing was not.

Matériaux pour cette étape :

Plaque d'aluminiumPlaque d'aluminium2 pièces
Roulement à billesRoulement à billes6 pièces
Goupille cylindrique en acierGoupille cylindrique en acier6 pièces
Vis à tête cylindrique M5Vis à tête cylindrique M512 pièces

Outils nécessaires :

Étau de fraisage 4 poucesÉtau de fraisage 4 pouces
Tour à métauxTour à métaux
Perceuse à colonnePerceuse à colonne
Comparateur à cadranComparateur à cadran
Pied à coulisse numérique 6 poucesPied à coulisse numérique 6 pouces
Rapporteur d'angle numériqueRapporteur d'angle numérique
Clé dynamométriqueClé dynamométrique
Lunettes de sécurité transparentesLunettes de sécurité transparentes
3

The drift logger sketch

Upload this, leave the sensor completely still, and let it run for ten minutes.

It first averages 2000 stationary samples to measure bias — whatever a still sensor reads IS bias plus gravity, and gravity is known, so the average removes both. Then it integrates the remaining signal twice and prints apparent velocity and apparent position once per second.

Paste the output into a spreadsheet and plot position against time. A sensor that never moved will report metres, then tens of metres, growing with the SQUARE of elapsed time.

inertial_drift_logger.inoarduino
/*
  Inertial drift logger — bias, single and double integration
  Youblob blueprint: The Inertial Guidance Platform

  Leave the sensor COMPLETELY STILL and run this. It measures accelerometer
  bias, then integrates that stationary signal twice and prints the apparent
  velocity and apparent position of a sensor that never moved.

  Hardware:
    MPU-6050  SDA -> A4, SCL -> A5, VCC -> 3.3V, GND -> GND

  This is step 3 of the blueprint: the point is to SEE the error grow with the
  square of time. Paste the serial output into a spreadsheet and plot it.
*/

#include <Wire.h>

const int MPU = 0x68;
const float G = 9.80665;
const long  CAL_SAMPLES = 2000;

float biasX = 0, biasY = 0, biasZ = 0;
float vx = 0, vy = 0, vz = 0;          // integrated velocity  (m/s)
float px = 0, py = 0, pz = 0;          // integrated position  (m)
unsigned long lastMicros = 0, startMillis = 0;

void readAccel(float &ax, float &ay, float &az) {
  Wire.beginTransmission(MPU);
  Wire.write(0x3B);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU, 6, true);
  int16_t rx = Wire.read() << 8 | Wire.read();
  int16_t ry = Wire.read() << 8 | Wire.read();
  int16_t rz = Wire.read() << 8 | Wire.read();
  ax = (rx / 16384.0) * G;             // +/-2 g range -> m/s^2
  ay = (ry / 16384.0) * G;
  az = (rz / 16384.0) * G;
}

void setup() {
  Serial.begin(115200);
  Wire.begin();
  Wire.beginTransmission(MPU);
  Wire.write(0x6B); Wire.write(0);
  Wire.endTransmission(true);
  delay(1000);

  Serial.println(F("Calibrating - DO NOT MOVE THE SENSOR"));
  float ax, ay, az;
  for (long i = 0; i < CAL_SAMPLES; i++) {
    readAccel(ax, ay, az);
    biasX += ax; biasY += ay; biasZ += az;
    delay(2);
  }
  biasX /= CAL_SAMPLES; biasY /= CAL_SAMPLES; biasZ /= CAL_SAMPLES;

  // Whatever a stationary sensor reads IS bias plus gravity, and gravity is
  // known — so subtracting the average removes both. This is exactly the
  // self-calibration described in step 4, and it works only while still.
  Serial.print(F("Bias removed (m/s^2): "));
  Serial.print(biasX, 4); Serial.print(',');
  Serial.print(biasY, 4); Serial.print(',');
  Serial.println(biasZ, 4);
  Serial.println(F("t_s,accel_x,vel_x,pos_x,pos_magnitude_m"));

  lastMicros = micros();
  startMillis = millis();
}

void loop() {
  float ax, ay, az;
  readAccel(ax, ay, az);
  ax -= biasX; ay -= biasY; az -= biasZ;

  unsigned long now = micros();
  float dt = (now - lastMicros) / 1000000.0;
  lastMicros = now;
  if (dt <= 0 || dt > 0.2) return;

  vx += ax * dt;  vy += ay * dt;  vz += az * dt;     // first integration
  px += vx * dt;  py += vy * dt;  pz += vz * dt;     // second integration

  static unsigned long lastLog = 0;
  if (millis() - lastLog >= 1000) {                  // one line per second
    lastLog = millis();
    float t = (millis() - startMillis) / 1000.0;
    float posMag = sqrt(px * px + py * py + pz * pz);
    Serial.print(t, 1);      Serial.print(',');
    Serial.print(ax, 5);     Serial.print(',');
    Serial.print(vx, 5);     Serial.print(',');
    Serial.print(px, 5);     Serial.print(',');
    Serial.println(posMag, 4);
  }
}

Matériaux pour cette étape :

Centrale inertielle (6 axes)Centrale inertielle (6 axes)1 pièce
Carte à microcontrôleurCarte à microcontrôleur1 pièce
Fil de câblageFil de câblage1 reel

Outils nécessaires :

Ordinateur avec l'IDE ArduinoOrdinateur avec l'IDE Arduino
Multimètre numérique de laboratoireMultimètre numérique de laboratoire
OscilloscopeOscilloscope
4

Measure accelerometer bias, and watch it become distance

This is where the errors come from, and the mechanism is arithmetic rather than mechanical.

  1. Leave an accelerometer perfectly still and log its output for ten minutes.
  2. Compute the mean — this is bias, and it should be zero and will not be.
  3. Integrate the logged signal once to get apparent velocity, and again to get apparent position.
  4. Plot both against time.

A stationary sensor reports a steadily growing velocity and a position error that grows with the square of time. A bias of one milli-g — roughly a thousandth of gravity — produces about 176 metres of position error after ten minutes, from a sensor that never moved.

That is the central problem of inertial navigation and it cannot be solved by better integration. Integration is faithful; it is faithfully integrating an error.

Which is why inertial systems are always eventually corrected from outside — star trackers, radio updates, GPS today. Inertial guidance is unjammable and drifts; external references are jammable and do not. Modern systems fuse both, using each to cover the other’s weakness, and that combination is the standard answer wherever navigation must be trusted.

Matériaux pour cette étape :

Centrale inertielle (6 axes)Centrale inertielle (6 axes)1 pièce
Carte à microcontrôleurCarte à microcontrôleur1 pièce
Papier millimétréPapier millimétré1 pad

Outils nécessaires :

OscilloscopeOscilloscope
Multimètre numérique de laboratoireMultimètre numérique de laboratoire
Alimentation de laboratoire réglableAlimentation de laboratoire réglable
Station de soudageStation de soudage
Rapporteur d'angle numériqueRapporteur d'angle numérique
Lunettes de sécurité transparentesLunettes de sécurité transparentes
5

Separate gravity from acceleration, because the sensor cannot

An accelerometer cannot tell you which way is up, and this is not a defect you can engineer away.

  1. Hold an accelerometer stationary and note it reads 1 g upward.
  2. Drop it — in free fall — and note it reads zero.
  3. Tilt it slowly and watch the components change.
  4. Now consider a sensor reading 1 g and try to determine whether it is sitting still or accelerating upward in space.

There is no measurement that distinguishes them. That is the equivalence principle, and it means the guidance computer must SUBTRACT a modelled gravity vector from every reading — which requires knowing where you are, which is what you were trying to compute.

The loop closes on itself: use current position estimate to look up gravity, subtract it, integrate to update position, repeat. Errors in position produce errors in the gravity model, which produce errors in position.

This is why serious inertial systems carry a detailed gravity model rather than a constant, and why Earth’s gravity field has been mapped by satellite to remarkable precision. It is also why a stationary system can be self-calibrated: anything it reads while parked is, by definition, bias plus gravity, and gravity is known.

Matériaux pour cette étape :

Centrale inertielle (6 axes)Centrale inertielle (6 axes)1 pièce
Papier millimétréPapier millimétré1 pad

Outils nécessaires :

Rapporteur d'angle numériqueRapporteur d'angle numérique
OscilloscopeOscilloscope
Multimètre numérique de laboratoireMultimètre numérique de laboratoire
Téléphone avec vidéo au ralentiTéléphone avec vidéo au ralenti
Lunettes de sécurité transparentesLunettes de sécurité transparentes
6

Align the platform before launch, and know why it takes so long

An inertial system must be told where it is once. Everything after that is arithmetic.

  1. With the platform level and stationary, use the accelerometers to find the local vertical — gravity defines it.
  2. Now use the gyros to detect Earth’s rotation, about 15 degrees per hour, and find the direction of its axis.
  3. From vertical and the rotation axis, compute true north.
  4. Time how long the measurement takes to become repeatable.

Gyrocompassing finds north with no magnetic compass and no outside signal, using only the fact that the Earth turns — but the signal is tiny and it takes minutes of averaging to extract it. That is why a launch vehicle sits on the pad with its guidance running long before ignition, and why the countdown includes a point after which alignment cannot be repeated without starting over.

The magnetic compass, by contrast, is instant and points at a wandering magnetic pole that is not north. One is slow and true; the other is fast and approximately right — and which you want depends entirely on whether you are steering a ship or hitting a target 300 km away.

This closes the batch. The nozzle raised exhaust velocity, staging beat the logarithm, the gimbal kept the vehicle upright, and the platform knows which way that is. What remains is coming back down, which is the heat shield blueprint — and a different problem entirely, because on the way up you are spending energy and on the way down you must get rid of it.

Matériaux pour cette étape :

Centrale inertielle (6 axes)Centrale inertielle (6 axes)1 pièce
Papier millimétréPapier millimétré1 pad

Outils nécessaires :

Rapporteur d'angle numériqueRapporteur d'angle numérique
OscilloscopeOscilloscope
Multimètre numérique de laboratoireMultimètre numérique de laboratoire
Alimentation de laboratoire réglableAlimentation de laboratoire réglable
Tachymètre numériqueTachymètre numérique
Lunettes de sécurité transparentesLunettes de sécurité transparentes

Matériaux

9

Outils requis

15

Blueprints liés

Ces blueprints partagent des connaissances — techniques, matériaux ou principes

CC0 Domaine public

Ce blueprint est publié sous CC0. Vous êtes libre de copier, modifier, distribuer et utiliser ce travail pour tout usage, sans demander la permission.

Soutenez le Maker en achetant des produits via son Blueprint où il perçoit une Commission Maker définie par les Vendeurs, ou créez une nouvelle itération de ce Blueprint et incluez-le comme connexion dans votre propre Blueprint pour partager les revenus.

Commentaires

(0)

Se connecter pour participer à la discussion

Chargement des commentaires...