Уявіть лікарню. Лікар вимірює температуру всіх пацієнтів і виводить середнє: 36.6°C. "Усі здорові, " — каже він. Але один пацієнт має 42°C. Інший — 34°C. Середнє каже "норма". Реальність каже "критичний стан".
Так само працює більшість систем керування. Один коефіцієнт для всіх сенсорів. Одна модель для всіх рам. Середня температура по лікарні. Це просто. Це швидко. Але це не точно.
Ми будуємо інакше. Ми не шукаємо середнього. Ми будуємо карту тепла кожного органу. Це складніше. Але це правильно. І є спосіб зробити це швидко.
Коли ви усереднюєте, ви втрачаєте деталі. Три гіроскопи. Три акселерометри. Кожен має свій характер: один шумить більше, інший дрейфує при нагріві, третій має нелінійність на краях діапазону.
Типова система каже: "Один коефіцієнт для всіх. Досить близько до істини." Ми кажемо: "Індивідуальна матриця для кожного. Точно відповідає істині."
Це як різниця між фотографією з низькою роздільністю і знімком високої чіткості. Обидва показують ту саму сцену. Але деталі — це те, що має значення, коли рахунок йде на сантиметри або мілісекунди.
Спрощення економить час обчислень. Але ми знайшли спосіб рахувати точно і швидко. Тому ми не жертвуємо деталями.
"Якщо ви хочете знайти таємниці Всесвіту, думайте в термінах енергії, частоти та вібрації" — Нікола Тесла
Кожен сенсор вібрує по-своєму. Ми не усереднюємо вібрації. Ми слухаємо кожну окремо.
Уявіть архітектора. Один будує типові будинки: однакові скрізь, незалежно від ґрунту, вітру, сонця. Швидко. Дешево. Достатньо добре. Інший будує шедеври: враховує рельєф, напрямок вітру, кут сонця, властивості ґрунту. Довго. Дорого. Унікально.
Універсальний контролер — це типовий будинок. Він підходить "в середньому". PID підбирається емпірично. Система компенсує різницю між абстракцією і реальністю.
Ми будуємо шедевр. Геометрія рами — це рельєф ділянки. Розподіл маси — це властивості ґрунту. Момент інерції — це напрямок вітру. Ми не "налаштовуємо" систему під раму. Ми будуємо модель, яка відповідає фізиці цієї рами.
Повна система рівнянь динаміки. Без спрощень. З оптимізацією обчислень.
"Природа використовує найдовшу нитку для плетіння найкоротшого шляху" — Річард Фейнман
Найдовша нитка — це повна модель фізики. Найкоротший шлях — це оптимізований код, який рахує її швидко.
Оркестр грає. Хтось чує лише "звук". Хтось чує кожен інструмент окремо: скрипку, флейту, віолончель. Різниця між шумом і музикою — це здатність розрізняти деталі.
Вітер, магнітне поле, температура. Більшість систем чує "шум". Фільтрує. Викидає частину інформації заради простоти обробки.
Ми чуємо симфонію. Магнітне поле — орієнтація. Напрямок вітру — навантаження. Сила вітру — швидкість відносно повітря. Температура — в'язкість середовища і теплові градієнти.
Це не перешкоди. Це інформація. Рахувати це складно. Але ми знайшли методи, які дозволяють обробляти всі ці канали швидко. Тому ми не фільтруємо симфонію до монотонного гудіння. Ми слухаємо кожен інструмент.
Коли ви не розумієте задачу, код виглядає складно. Коли розумієте — код стає простим.
Більшість систем спрощують модель, щоб код працював швидко. Результат: простий код, який рахує неповну картину.
Ми робимо навпаки. Спочатку розуміємо повну картину. Потім шукаємо математичні перетворення, які роблять обчислення ефективними. Потім пишемо код, який використовує архітектуру процесора оптимально.
Тиждень роботи над 30 рядками. Не тому, що важко написати. А тому, що треба зрозуміти, що саме рахувати і як це зробити швидко.
"Простота — це вища форма витонченості" — Леонардо да Вінчі
Коли розумієш фізику процесу, код стає витонченим. Не через викидання складності. А через знаходження елегантного способу її обробки.
Ми не відкидаємо фізику. Ми не спрощуємо математику. Ми шукаємо способи рахувати повну систему швидко.
Експерименти. Математика. Схемотехніка. Програмування. Все це інструменти для однієї мети: максимальна швидкість і максимальна точність. Одночасно.
Більшість робить вибір. Ми відмовились від вибору. Ми знайшли третій шлях.
"Найкращий спосіб спрогнозувати майбутнє — винайти його" — Алан Кей
Ми не адаптуємо старі підходи. Ми винаходимо нові.