Метеор-М №2-1 с попутчиками – Союз-2.1Б/Фрегат – Восточный 1С – 28.11.2017 08:41 ДМВ - авария

Автор zandr, 02.09.2017 20:54:00

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

SGS_67

ЦитироватьLRV_75 пишет:
ЦитироватьSGS_67 пишет:
Не, всё ж у меня, по-моему, реалистичней.
Вводная: нам нужно развернуть аппарат вправо на 2 градуса.
Но мы имеем, скажем, левое вращение со скоростью 1 град/с.
Если есть оптимизация только по расходу рабочего тела, как нужно действовать?  ;)  
"Поворачиваемся на градус, анализируем - попали в допуск 10+- 0,1? Нет? поворачиваемся еще на градус против часовой ...... " )))
 Алгоритм реально ужасен, и годится разве для максимизации расхода топлива.)))
Давайте все же предположим, что явных вредителей там нет.  :D

Магадан Магадан

ЦитироватьLiss пишет:
Цитироватьkost3 пишет:
1. Нахрена запускали лучи чтобы опять при косяке за горизонтом ничего не знать и гадать на кофейной гуще?
2. Ну и мне совершенно непонятно какой такой программист писал код, где пофиг на вектор - ГДУ врубается по таймеру. Это пипец товарищи. Системный пипец. Это код разряда - писано на коленке.
Коллега,
(1) "Лучи" за полярным кругом неэффективны. Объяснить, почему?
(2) Вы находитесь на суборбитальной траектории. Не выдадите импульс быстро -- упадете точно. Выдадите строго по времени -- как повезет. Что выберете?
Спутниковая связь за полярным кругом уже много лет хорошо работает, Новый Порт, Саббета, Шпицберген, Земля Александры, Гыда и т.д. С учетом высоты полета ОБ, принять телеметрию с наклонения 82 град никаких проблем у Луча бы не было. Точка стояния 95 град в.д. для этого запуска очень удобная.

Denis Voronin

А ещё замечу, что в игре kerbal space program задача управления движками ориентации решается динамически для любой кракозябры с любым количеством и любым расположением этих самых движков. В том числе после стыковки аппаратов любых конфигураций.
Кривыми должны быть извилины, а не руки.

vadimr

ЦитироватьDenis Voronin пишет:
Есть у меня смутное подозрение, что если/когда исходники попадут в открытый доступ, разработчиков будут долго и со вкусом тыкать мордочками в продукт их жизнедеятельности.
Практика показывает, что подобные программы невозможно понять.

LRV_75

ЦитироватьDenis Voronin пишет:
ЦитироватьYanus пишет:
Поверьте, разработчик алгоритма наведения РБ вполне квалифицирован и не на коленке всё это соорудил, и занимался он этим ещё до Вашего проектирования.
Т.е. этот человек учился программировать ещё до того, как были введены все современные стандарты. Не тянет на достоинство.
Вы просто не занимались тестированием современных интеграционных систем.
Там подобных интеграционных дефектов куча.
Yanus все правильно пишет. Надо было проводить интеграционное тестирование. Было ли оно - большой вопрос. По внешним признакам и предположительно выявленному косяку на это тестирование забили, посчитали что и так всегда летало и в этот раз улетит.
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

opinion

Как мне кажется, различие в направлении отсчета углов на третьей ступени и Фрегате может иметь значение только в одном случае: если в циклограмме Фрегата задаются не абсолютные углы, а углы разворота. Скажем, "в такое-то время развернуться на +20 градусов". То есть, составителям циклограммы были выданы ошибочные исходные данные. Но в этом случае совершенно неважно, включается ли главный двигатель через минуту или две. Правильной ориентации в любом случае бы не было.
There are four lights

opinion

ЦитироватьСтарый пишет:
Схема выведения со снижением третей ступени энергетически неоптимальна и применяется только вынужденно. Вынуждающим фактором служит низкая тяговооружённость третей ступени. Ступень медленно набирает орбитальную скорость и за это время двигаясь по суборбитальной траектории успевает просесть вниз. Это вынуждает выводить ступень повыше чтобы в процессе просадки она не зарылась в атмосферу. По другому Ариана просто физически не может летать. Подчёркивааю: просадка вниз энергетически неоптимальна, вредна, является вынужденной и обусловлена низкой тяговооружённостью ступени.

Если тяговооружённость достаточная и орбитальная скорость набирается быстро то просадки не будет и делать её специально нет никакого смысла.
Если по какимто соображениям, например расположения районов падения, ракета должна лететь по более высокой траектории, то делать после отделения РБ снижение траектории нет никакого смысла. Высота отделения в этом случае должна быть апогеем суборбитальной траектории или перигеем переходной. Делать "разгон на снижении" нет абсолютно никакого смысла, ничего кроме дополнительных трудностей и снижения ПН он не даёт.

Повторяю ещё раз: "разгон на снижении" Арианы-5 происходит вынужденно из-за низкой тяговооружённости РБ, делать его преднамеренно в случае Союз-Фрегата нет абсолютно никакого смысла, ничего кроме проблем и ущерба он не даёт.
Zoor ничего не писал о снижении. Он предположил, что перигей поднимался неоптимальным способом на восходящем участке орбиты. За счёт поворота вектора скорости. При этом перигей получится ниже и ближе к точке старта. Как раз последнее могло бы быть причиной выбора такого варианта - чтобы первое включение Фрегата было в зоне видимости.
There are four lights

sychbird

Вот Роман тут уже намекал: а насколько ИД были корректны для разработчиков полетного задания?.

В этом запуске абсолютно новым элементом было очень большое число попутчиков и с индивидуальными временами отделения. 
Как  расчитывалось в этом случае положение центра масс? Задача не тривиальная, учитывая, что надо ведь опираться на данные разработчиков попутчиков?
Ответил со свойственной ему свирепостью (хотя и не преступая ни на дюйм границ учтивости). (C)  :)

Denis Voronin

Цитироватьvadimr пишет:
ЦитироватьDenis Voronin пишет:
Есть у меня смутное подозрение, что если/когда исходники попадут в открытый доступ, разработчиков будут долго и со вкусом тыкать мордочками в продукт их жизнедеятельности.
Практика показывает, что подобные программы невозможно понять.
А это прямо говорит о том что писали либо быдлокодеры либо олимпиадники.
Кривыми должны быть извилины, а не руки.

sychbird

ЦитироватьDenis Voronin пишет:
А ещё замечу, что в игре kerbal space program задача управления движками ориентации решается динамически для любой кракозябры с любым количеством и любым расположением этих самых движков. В том числе после стыковки аппаратов любых конфигураций.
А кто нибудь летал по этим программам в реальном космосе на реальных аппаратах.? ;)
Ответил со свойственной ему свирепостью (хотя и не преступая ни на дюйм границ учтивости). (C)  :)

Штуцер

ЦитироватьDenis Voronin пишет:
А ещё замечу, что в игре kerbal space program задача управления движками ориентации решается динамически для любой кракозябры с любым количеством и любым расположением этих самых движков. В том числе после стыковки аппаратов любых конфигураций.
В игре все решается.
 Учитывается в игре влияние на динамику изделия свободной поверхности жидкости в баках и увеличение свободной поверхности по мере выработки одновременно с уменьшением массы топлива? А с какой степенью точности там учитывается плотность амила и гептила и неравномерность выработки, определяющееся тем, что объемный коэффициент соотношения компонентов С5.92 не равен единице, а также смещение центра тяжести связки в связи с этим?
Учитывается ли влияние перемещения гидразина в полузаневоленном состоянии при наличии мембранного разделителя?
Какие процессы происходят при этом в баках метеора и влияют ли они на динамику изделия?

И вопрос SGS67: как будет компенсироваться перемещение топлива в баках, если разворот производится с максимальной скоростью и как быстро можно в этом случае застабилизировать изделие перед выдачей очередного импульса С5.92?
 И еще, после того как изделие застабилизировано. Осаждение топлива нужно проводить и сколько это займет времени?

Проще говоря: одно дело удержать на пальце карандаш, а другое - блюдце с водой.
Но в виде обломков различных ракет
Останутся наши следы!

vadimr

ЦитироватьDenis Voronin пишет:
Цитироватьvadimr пишет:
ЦитироватьDenis Voronin пишет:
Есть у меня смутное подозрение, что если/когда исходники попадут в открытый доступ, разработчиков будут долго и со вкусом тыкать мордочками в продукт их жизнедеятельности.
Практика показывает, что подобные программы невозможно понять.
А это прямо говорит о том что писали либо быдлокодеры либо олимпиадники.
Отчасти просто программистская культура изменилась. Археопрограммирование. Грубо говоря, языковое представление паттернов проектирования 30 лет назад было совсем другим.

Чебурашка

Исходники ПО одной популярной модели автомобиля проанализировали.
Долго тыкали мордочками.
Но ничего. Пару миллионов машин ездит.

Чебурашка

Не верю в банальный глюк ПО Фрегата.
Мне ближе версия с пинком от третьей ступени по мотивам Прогресса М-27М  :cry:

nsn

ЦитироватьШтуцер пишет:
И вопрос SGS67: как будет компенсироваться перемещение топлива в баках
Они при запуске полупустые, что ли?

Serge3leo

Цитироватьnsn пишет:
ЦитироватьШтуцер пишет:
И вопрос SGS67: как будет компенсироваться перемещение топлива в баках
Они при запуске полупустые, что ли?
Наверняка не полные ж, к гадалке не ходи. Это ж не симулятор.

vadimr

Если кто хочет потренироваться в оценке старого кода, то мы, конечно, приводить реальные исходные тексты космического софта не будем, но можно для примера привести текст РЕКОМЕНДОВАННОЙ библиотечной программы из одной очень солидной книжки по прикладному программированию. Она примерно в 1990 году была осовременена переводом с Алгола-60 на PL/I, но, за исключением этого, осталась практически в первозданном виде. Кто догадается о назначении этой программы, может с полным правом взять с полки пирожок.

Спойлер


XXXX: PROCEDURE OPTIONS (MAIN);

   DECLARE
     N BINARY FIXED (31),
     C (N) DECIMAL FLOAT (15) CONTROLLED,
     MAX BINARY FIXED (31),
     (EPS1, EPS2, EPS3, ETA) DECIMAL FLOAT (15);

   ZEROS: PROCEDURE (N, MAX, EPS1, EPS2, EPS3, ETA, C);

     DECLARE
       N BINARY FIXED (31),
       MAX BINARY FIXED (31),
       (EPS1, EPS2, EPS3, ETA) DECIMAL FLOAT (15),
       C (*) DECIMAL FLOAT (15);

     DECLARE
       (P, P1, P2, X0, X1, X2, R, F, F1, D, E, H, U, V, W, T)
         DECIMAL FLOAT (15),
       (I, J, K) BINARY FIXED (31);

     DECLARE
       S (4) LABEL;

     DO K = 1 TO N;
       J = 0; P = .9 * C (K);
       P1 = 1.1 * C (K); P2 = C (K);
       IF C (K) = 0 THEN DO;
         P = -1; P1 = 1; P2 = 0;
       END;
       R = P; GO TO REG;
 S(1): R = P1; X0 = F1;
       GO TO REG;
 S(2): R = P2; X1 = F1;
       GO TO REG;
 S(3): X2 = F1; D = -.5;
       IF C (K) = 0 THEN H = -1; ELSE H = -1 * C (K);
 ITER: E = 1 + D;
       T = X0*D*D - X1*E*E + X2*(D+E);
       U = T*T - 4*X2*D*E*(X0*D-X1*E+X2);
       IF U <= 0 THEN U = 0; ELSE U = SQRT (U);
       V = T + U; W = T - U;
       IF ABS (V) <= ABS (W) THEN U = W; ELSE U = V;
       IF U = 0 THEN U = 1;
       T = -2 * X2 * E / U;
       H = T * H;
       R = R + H;
       IF ABS (H/R) < EPS1 THEN GO TO CALC; ELSE GO TO REG;
 S(4): IF ABS (F1) < ABS (X2*10) THEN DO;
         X0 = X1; X1 = X2; X2 = F1; D = T; GO TO ITER;
       END;
       T = .5 * T; H = .5 * H;
       R = R - H;
 REG:  J = J + 1;
 CALC: F = FUNC (R); F1 = F;
       IF J >= MAX THEN GO TO FIN;
       DO I = 2 TO K;
         E = R - C (I-1);
         IF ABS (E) > EPS3 THEN
           F1 = F1 / E;
         ELSE DO;
           R = R + ETA;
           GO TO CALC;
         END;
       END;
       IF ABS (F) < EPS2 & ABS (F1) < EPS2 THEN
         GO TO FIN;
       ELSE
         GO TO S (MIN (J, 4));
 FIN:  C (K) = R;
     END;

   END ZEROS;

   FUNC: PROCEDURE (X) RETURNS (DECIMAL FLOAT (15));

     DECLARE
       X DECIMAL FLOAT (15);

     RETURN (/* тут произвольная формула от X */);

   END FUNC;

   N = 2;
   MAX = 1E+9;
   EPS1, EPS2, EPS3, ETA = 1E-15;
   ALLOCATE C;
   C = 0;
   CALL ZEROS (N, MAX, EPS1, EPS2, EPS3, ETA, C);
   PUT DATA (C);

 END XXXX;
 


[свернуть]

Штуцер

ЦитироватьSerge3leo пишет:
Цитироватьnsn пишет:
ЦитироватьШтуцер пишет:
И вопрос SGS67: как будет компенсироваться перемещение топлива в баках
Они при запуске полупустые, что ли?
Наверняка не полные ж, к гадалке не ходи. Это ж не симулятор.
:)  Допустим, Вы считаете их при запуске полными.Допустим.

А при втором запуске они тоже полные?
Но в виде обломков различных ракет
Останутся наши следы!

Kotofan

Цитироватьvadimr пишет:
Практика показывает, что подобные программы невозможно понять.
Точно. Их сами программеры не понимают, поэтому даже не пытаются менять что-то в старых кусках, а просто добавляют свои новые куски, которые как либо компенсируют работу старых кусков, которые писал кто-то другой.

Yojan

Цитироватьvadimr пишет:
Если кто хочет потренироваться в оценке старого кода, то мы, конечно, приводить реальные исходные тексты космического софта не будем, но можно для примера привести текст РЕКОМЕНДОВАННОЙ библиотечной программы из одной очень солидной книжки по прикладному программированию. Она примерно в 1990 году была осовременена переводом с Алгола-60 на PL/I, но, за исключением этого, осталась практически в первозданном виде. Кто догадается о назначении этой программы, может с полным правом взять с полки пирожок.


Корни ищет? Методом ловли льва в пустыне?