TGViewer
заметки на ракетных стабилизаторах заметки на ракетных стабилизаторах @raketenmannn · 1.83K subscribers
Post #4702 246

Forwarded from Banya & Bites

Как потративший неделю на реверс исходников и запуск их на эмуляторе спускаемого модуля для одного из моих докладов про двигатели МКА могу точно сказать, что багов было от души.

Ну да ладно, чего эти баги то жалеть, лишь бы популяризаторам было б хорошо, главное, что Eagle has landed.

1. Миссия Apollo 8, 1968 год.
Участники: Фрэнк Борман, Джеймс Ловелл, Уильям Андерс.
Коды ошибок: Не зарегистрированы.
Влияние: Через 11 часов 51 минуту после старта наземный вычислительный комплекс управления полётом прекратил обработку данных на 10 минут. Одновременно перестали выполнять штатные вычисления основной и резервный компьютеры.
Причина: Программная ошибка привела к выполнению непрерываемой последовательности инструкций на обоих компьютерах. Резервирование не обеспечило сохранение работоспособности, поскольку обе системы выполняли программное обеспечение с одинаковым дефектом.
Результат: Обработка данных восстановлена. Программная ошибка впоследствии устранена. На выполнение основных задач миссии существенного влияния не оказала.


2. Миссия Apollo 11, 1969 год.
Участники: Нил Армстронг, Базз Олдрин, Майкл Коллинз.
Коды ошибок: 1201, 1202.
Код 1201: Executive Overflow, No VAC Areas. Отсутствие свободных областей памяти для промежуточных вычислений.
Код 1202: Executive Overflow, No Core Sets. Отсутствие свободных блоков памяти для выполнения новых программных задач.
Влияние: Во время снижения лунного модуля Eagle компьютер AGC зарегистрировал пять аварийных событий. Четыре раза был выдан код 1202, один раз код 1201. Каждое событие приводило к программному перезапуску выполняемых задач. Возник риск прекращения посадки.
Причина: Дополнительные обращения к памяти со стороны интерфейса радара сближения потребляли приблизительно 13 процентов вычислительного времени процессора. В результате периодическая навигационная задача SERVICER не успевала завершиться до следующего запуска. Незавершённые экземпляры накапливались и исчерпывали ресурсы планировщика Executive.
Первопричина дополнительной нагрузки находилась в аппаратном интерфейсе радара. Однако непосредственно аварийные коды формировались программной системой управления задачами.
Результат: Механизм BAILOUT освобождал ресурсы и восстанавливал выполнение приоритетных вычислений. Навигация и управление посадкой сохранялись. После перехода к менее ресурсоёмкому режиму управления аварийные сообщения прекратились. Посадка выполнена успешно.


3. Миссия Apollo 11, 1969 год.
Участники: Нил Армстронг, Базз Олдрин, Майкл Коллинз.
Коды ошибок: Не выдавались. Затронута программа P66.
Влияние: Во время заключительного этапа посадки наблюдались колебания тяги посадочного двигателя. По результатам последующего анализа телеметрии амплитуда колебаний достигала приблизительно 25 процентов между максимальным и минимальным значениями. Устойчивость автоматического регулирования оказалась близкой к предельной.
Причина: Алгоритм регулирования тяги использовал компенсацию задержки реакции двигателя величиной 0,2 секунды. Фактическая задержка составляла приблизительно 0,075 секунды. Несоответствие параметров программной модели приводило к избыточной коррекции тяги.
Дополнительным фактором являлась неполная компенсация ускорений инерциальной платформы при вращении аппарата относительно центра масс. Алгоритм интерпретировал часть измерений как изменение вертикальной скорости.
Результат: Посадка выполнена успешно. Ошибка выявлена при последующем анализе телеметрии и математического моделирования.


4. Миссия Apollo 12, 1969 год.
Участники: Чарльз Конрад, Алан Бин, Ричард Гордон.
Коды ошибок: Не выдавались. Затронута программа P66.
Влияние: При выполнении посадки повторились колебания тяги, зафиксированные на Apollo 11. Отклонения составляли приблизительно 25 процентов между максимальными и минимальными значениями. Система автоматического регулирования сохраняла лишь ограниченный запас устойчивости.
Причина: Использовался алгоритм управления тягой с теми же некорректными параметрами компенсации задержки двигателя. Программная модель предполагала более медленную реакцию двигателя, чем наблюдалась в действительности. Дополнительно алгоритм не компенсировал ускорения инерциальной платформы, возникающие при угловых манёврах лунного модуля.
Результат: Посадка выполнена успешно. После анализа данных Apollo 11 и Apollo 12 были изменены параметры компенсации задержки и алгоритм обработки инерциальных измерений. Исправления внедрены начиная с Apollo 14.


А это ещё не считая полётов без экипажей....

#space #космос #appollo #разработка #zerobugpolicy
  • 🔥 5
  • ❤ 1
More from @raketenmannn
  1. Oct 8, 2026Да зачем даже симуляции, если всё в мишон-репортах есть?
  2. Oct 6, 2026Чуть забавляет как Менона заставляют носить для фотокарточек длинные рукава.
  3. Oct 5, 2026В лето 7466 октября месяца в 4 день вознесе ся ввысь лодия летучая, чрез твердь небесную п…
  4. Oct 4, 202669 лет назад запустили "Спутник-1", состав которого по сегодняшним меркам весьма скуп для…
  5. Oct 4, 2026Youtube | Rutube | ВКонтакте Расскажем про постановку задачи при проектировании радиоаппар…
  6. Oct 4, 2026Post #4696
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →