Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Восток-Луна | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 4
На страницу: 1, 2, 3, 4  След. | Все страницы
Поиск в этой теме:
Канал Orbiter: «Восток-Луна»
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
К нам опять вернулась зима. Засим было больше свободного времени за компом, и я успел решить главную проблему блока Е, автопилот прямого наведения на Луну. Пока все сильно вчерне, но уже вполне можно скачать и летать.

Будущий аддон:
http://members.shaw.ca/atil8/Orbiter/Vostok-Luna/Vostok_Luna.0.1a.080424.zip

Исходники (осторожно, они затирают исходники astronavt-a):
http://members.shaw.ca/atil8/Orbiter/Vostok-Luna/Source.Vostok_Luna.0.1a.080424.zip

На этот раз, уже по опыту релиза Молнии, я сразу думаю (и делаю) в терминах того, как это все будет когда-нибудь релизиться, даже если публичный релиз будет не скоро.

Аддон называется "Восток-Луна". Как и "Молния", это будет "неразрушающий" патч к базовой семерке (исходим из того, что она за это время не изменится). Пересечения по файлам нет вне зависимости от того, пропатчена семерка нашей же Молнией, или нет. Патч строго ограничен лунной темой, кораблей Восток он не касается.

Состав:

1. Дополнительно пропатчен стартовый стол: сохранено все, что я добавил в Молнию, плюс добален вводимый через сценарий параметр наклонения (а то он все время ограниченно гадает наклонение из конфигурации, а гнать пользователя в ручной диалог перенацеливания негуманно). К имени модуля добавлены буквы _MVL, означающие "Молния-Восток-Луна".

2. Пропатчена вторая ступень: новая программа тангажа для лунных запусков, плюс пришлось восстанавливать управляемость ракеты из-за "неактуального" исходного кода закона управления. Вроде восстановил Улыбка. К имени модуля тоже добавлены буквы _MVL.

3. Пропатчен блок Е, где собственно все главные изменения и сидят. К имени модуля добавлены буквы _VL, буква M в нем неактуальна Улыбка. Альтернативно имя может быть изменено на r7blockE, подобно тому как это сделано в блоке Л. Но это спорный вариант, зависящий от дальнейших планов, поэтому я его пока отставил.

4. Сценарии в тестовом каталоге _Vostok-Luna. Есть Луна-1-2-3, плюс одна Молния для проверки обратной совместимости с первым патчем.

5. Исходники, идут отдельным зипом и необязательны. Они пока мало кому интересны, выложены просто чтобы иметь их копию вне дома Улыбка. К тому же они сидят в том же каталоге, что и оригинальные файлы astronavt-a, поэтому затрут их при распаковке в то же место. Двигать их куда-то еще крайне хлопотно, да и незачем.

Фичи:

Сохранение сценариев еще НЕ работает, так что не сохраняйтесь. да оно и не нужно, выведение и так короткое.

Ускорение времени работает до х10 хоть с самого начала сценария и до конца. Разумеется, перед отсечкой надо уменьшить до х1 (а пока не реализована ступенчатая отсечка, то и х0.1 не помешает, хотя это уже перебор, у меня и так попадает). На гиперболической траектории (Луна-1-2) время само замедлится при достижении параболы, на эллиптической (Луна-3) нужно ручками, потом автоматику добавлю.

Полезные нагрузки - пока только базовая Луна-2 из семерочного пакета. Где-то была мешь Луны-3, но она даже глазами хлопать не умеет, так что смысла в ней никакого.

Пролет мимо Луны (вместо попадания) задается переменной сценария. Если его убрать, Луна-1 тоже не промахнется. И даже Луна-3 Улыбка.

Вроде как все для затравки. Если кто попробует - интересно узнать, сохраняется ли нужная точность алгоритма от машины к машине, достаточная для попадания. В целом "историческая" точность баллистики очень высокая! Особенно по Луне-3, где было много операций, для которых известно достаточно точное время - летит прямо как по расписанию! С той же Луной-3 прикол получился: в разных источниках оказались разные времена старта. Правильное определилось опытным путем Улыбка.

Последний раз редактировалось: igel (21:35 24-04-2008), всего редактировалось 1 раз
    Добавлено: 21:34 24-04-2008   
Konsni
 61 EGP


Рейтинг канала: 2(10)
Репутация: 2
Сообщения: 119

Зарегистрирован: 31.10.2007
Вот не знаю, баги это или фичи, но...
В конце работы второй ступени возникают колебания по рысканью с амплитудой несколько градусов. В конце работы блока Е раскачка идет уже и по тангажу, и по рысканью на десятки градусов. Несмотря на это, Луны выполняют свою задачу, Луна-2 попадает в Луну, правда, все время в разные точки.
    Добавлено: 07:07 25-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Это фичи Улыбка.

Настоящие лунные ракеты были жестко запрограммированы, поэтому точность запуска выдерживалась железно, иначе промах. Мой автопилот гибче. Время запуска все равно надо подбирать удобное, но все-таки в довольно большом диапазоне автопилот сам "найдет" Луну. Поэтому его можно использовать не только для исторических миссий, но и для произвольных.

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

Конечно, пока управляющая часть автопилота в состоянии "рыбы", но не думаю, что она принципиально изменится. Главная проблема (точнее, комбинация двух проблем) никуда не денется. Хотя... если я смогу написать функцию проворота орбиты по времени, амплитуды осциляций должны будут уменьшится... а более умный следящий автопилот их еще сгладит. Посмотрим...

Что в Луну в разные точки попадает - это неудивительно. Гипербола - страшная вещь, не представляю, зачем ей вообще пользовались! Точности никакой, особенно пока нет пониженной ступени двигателя, и разброс отсечек двигателя усугубляется дискретностью таймстепа.

Но попадает - это очень хорошо! То, что надо! Хы...
    Добавлено: 07:50 25-04-2008   
Bloodest
 155 EGP


Рейтинг канала: 3(40)
Репутация: 18
Сообщения: 944
Откуда: Питерские мы
Зарегистрирован: 07.10.2004
Мдя... Сразу скажу - не запускал - нетуть времени, выкроил чуток - посмотрел исходник третьей ступени.

Вот есколько замечаний
1. Усе запихнуто в clbkPostStep? ИХМО - лудше clbkPreStep - все действия будут выполняться перед шагом симуляции.

2. Кватернионы.. хорошо. Ток библиотеку надоть, наверное, довести до ума (завести все основные действия в соответствующие функции). Есть такое мнение у фанатов кватернионов - если используешь в расчетах градусы/радианы - значит что-то не так Подмигиваю... Эт на прямую относится к втыканию азимута/рысканья , тангажа, крена в управление двигателей.
Вычислил требуемое направление тяги (вектор), определил текущее, дык построил кватернион вращения от текущего вектора к требуемому.


Эта функция даж не требует нармированных векторов
Код:
void quaternion::arc(VECTOR3 v1,VECTOR3 v2)
{
VECTOR3 c =crossp(v1,v2);
x=c.x;y=c.y;z=c.z;w= dotp(v1,v2);
normalize();
w+=1.0;//уполовиниваем угол
}


В таком кватернионе управление к двигунам лежит почти впрямую q.x,q.y,q.z -
Нужно вправить по вращению вокруг оси х угол в
2.*asin(q.x)
y
2.*asin(q.y)
z
2.*asin(q.z)

Ну и тряска по углам

Код:

#ifndef __Common_Angle_Driver_MODULE
#define __Common_Angle_Driver_MODULE
#include "orbitersdk.h"

class Ang_Driver
{
public:
   Ang_Driver::Ang_Driver()//Конструктор
   {
      HackATT= false;
      Reset();
      SwitchA = _V(1,1,1);
   };
   Ang_Driver::~Ang_Driver()//Деструктор
   {
   };
   bool Learn(VESSEL * ves,bool HackAT);//Обучалка - считывает технич данные вращения
   bool ATT(VECTOR3 dir, VECTOR3 dir2, double SimdT);//Вращалка
   VECTOR3 Moments;//Доступные моменты для вращения (ручками или через Learn(...))
   VECTOR3 Inertia;//Моменты инерции
   VESSEL * parent;//То чем управляем
   VECTOR3 upr; // Управление по осям вращения -1...0...1 - заправляем в двигун.
   VECTOR3 SwitchA; //мультипликатор управления _V(1,1,1)

   VECTOR3 ScaleMFactor;//Действующий масштаб
   void Reset()
   {
      ScaleMFactor = _V(1.0,1.0,1.0);
   }
};
#endif


Код:

bool Ang_Driver::Learn(VESSEL * ves)//Обучение
{
   parent=ves;
   Moments =_V(0,0,0);
   parent->GetPMI(Inertia);
   Inertia=Inertia*parent->GetMass();
/////////////////////////////////////////////////////////////////////Pitch
      int n_dv = 0; n_dv = parent->GetGroupThrusterCount (THGROUP_ATT_PITCHUP);
      if(!n_dv) return false;
      for(int i=0; i<n_dv;i++)
      {
         THRUSTER_HANDLE th = parent->GetGroupThruster (THGROUP_ATT_PITCHUP,i);
         VECTOR3 pos,dir;
         parent->GetThrusterRef (th,pos);
         parent->GetThrusterDir (th,dir);
         Moments=Moments-crossp(pos,dir)*parent->GetThrusterMax (th);
      }
///////////////////////////////////////////////////////////////////Yaw
      n_dv = 0; n_dv = parent->GetGroupThrusterCount (THGROUP_ATT_YAWLEFT);
      if(!n_dv) return false;
      for(i=0; i<n_dv;i++)
      {
         THRUSTER_HANDLE th = parent->GetGroupThruster (THGROUP_ATT_YAWLEFT,i);
         VECTOR3 pos,dir;
         parent->GetThrusterRef (th,pos);
         parent->GetThrusterDir (th,dir);
         Moments=Moments-crossp(pos,dir)*parent->GetThrusterMax (th);
      }
///////////////////////////////////////////////////////////////////Bank
      n_dv = 0; n_dv = parent->GetGroupThrusterCount (THGROUP_ATT_BANKRIGHT);
      if(!n_dv) return false;
      for(i=0; i<n_dv;i++)
      {
         THRUSTER_HANDLE th = parent->GetGroupThruster (THGROUP_ATT_BANKRIGHT,i);
         VECTOR3 pos,dir;
         parent->GetThrusterRef (th,pos);
         parent->GetThrusterDir (th,dir);
         Moments=Moments-crossp(pos,dir)*parent->GetThrusterMax (th);
      }
   return true;
}

bool Ang_Driver::ATT(VECTOR3 Angle, VECTOR3 OmegaK, double SimdT)
// Требуемые к исправлению ошибки по углу и угловой скорости и шаг симуляции
{
   
   VECTOR3 Omega0;parent->GetAngularVel(Omega0);   
   VECTOR3 gamma_r =_V(0,0,0);
   
   // Эйлер
//   VECTOR3 EulerDelta = _V(0,0,0);
//   EulerDelta.x = -(Inertia.data[3]-Inertia.data[2])*Omega0.y*Omega0.z/Inertia.data[1];
//   EulerDelta.y = -(Inertia.data[1]-Inertia.data[3])*Omega0.z*Omega0.x/Inertia.data[2];
//   EulerDelta.z = -(Inertia.data[2]-Inertia.data[1])*Omega0.x*Omega0.y/Inertia.data[3];
//   }

   for(int i =0; i<3; i++)
   {
      gamma_r.data[i]=fabs(Moments.data[i])/Inertia.data[i];   
      if(ScaleMFactor.data[i]<0 || ScaleMFactor.data[i]>1) ScaleMFactor.data[i]=1.0;

      double X  = -Angle.data[i];
      double XX = Omega0.data[i]-OmegaK.data[i];//+EulerDelta.data[i];
      double Tk=-1;
      double Tn=-1;
      double K  = gamma_r.data[i]*ScaleMFactor.data[i];
      double F  = sqrt(fabs(2*K*X));
      double oldupr = dSign(upr.data[i]);
      if( (X>=0 && XX<=-F) || (X<0 && XX<F) ) upr.data[i]=1.0;
         else upr.data[i]=-1.0;
      Tk = (-upr.data[i]*XX+2.0*sqrt(-upr.data[i]*K*X+0.5*XX*XX))/K;
      //Переключение! проверяем взможность реализации в рамках квантования времени
         if(oldupr != upr.data[i] && Tk/SimdT < 5)//Квантование слишком крупное
         {
            ScaleMFactor.data[i]/=2.0;//Дросселируем доступный моент управления
            if(ScaleMFactor.data[i]<1e-4) ScaleMFactor.data[i]=1.0e-4;
         }
         else if( Tk/SimdT > 20)//Квантование достаточно мелкое
         {
            ScaleMFactor.data[i]*=2.0;
            if(ScaleMFactor.data[i]>1.0) ScaleMFactor.data[i]=1.0;
         }
      if (Tk<=0 )//первый шаг!! НЕ УДАЛЯТЬ!!!
      {
         upr.data[i]=0;
      }
      upr.data[i]*=ScaleMFactor.data[i];

   }
   for (i=0;i<3;i++)
      {
         if(SwitchA.data[i] >=0) parent->SetAttitudeRotLevel (i, upr.data[i]);
         else  parent->SetAttitudeRotLevel (i, 0);
      }
   }
return true;
}


Ну это полностью уневрсальная вращалка для КК у которого определены все двигуны и они симметричны.
Надоть сперва обучиться (Learn), а затем только остается заправлять ошибки, требуемые к исправлению в ATT.
Обучалку мона запускать либо вообще 1 раз - перед запуском, либо на каждом шагу, если расход топлива слишком большой. Собственно она расчитывает максимально доступный управляющий момент по каждой из осей.

Управлялка - использует теорию оптимального управления, те двигуны должны работать только в импульсном режиме +1 -1.
Но реализован учет квантования по времени в Орбитере,
Расчитавется ожидаемое время до следуещего переключения и если на этом периоде укладывается менее 5 шагов сима - доступный к управлению момент уменьшается вдвое. И наоборот если больше 20 шагов - увеличивается.

Последний раз редактировалось: Bloodest (08:53 28-04-2008), всего редактировалось 1 раз
    Добавлено: 12:04 25-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Спасибо! Это как раз в том направлении, куда я сам давно поглядывал, но времени не было разобраться. Очень познавательный и концентрированный пример!

Кстати, тот управляюший код, что сейчас внутри блока Е - он astronavt-а, не мой. Я его лишь чуток подстроил-подправил, но абсолютно по-минимуму. В первой пробе все внимание было на навигацию, а не на управление, попадает и ладно...

Я вот сообразил, если буду менять управление, то попробую главным управляющим элементом сделать не тангаж, а РКС. И даже не кажущейся, а вполне реальной Улыбка. Тогда можно будет только раз просчитать попадающую программу тангажа и соответствующую ей программу скорости. И никаких рывков по тангажу вообще не будет: блок пойдет по нему жестко, как по рельсам, а "хлопотать" будет только дросселем. Надо будет попробовать...
    Добавлено: 19:34 25-04-2008   
Thorton
 87 EGP


Рейтинг канала: 3(36)
Репутация: 12
Сообщения: 696
Откуда: Томск
Зарегистрирован: 15.05.2006
У меня тоже все летает нормально. Луна-2 даже недалеко от историтческого места упала!


Дак еще пару лет и до sample return дойдешь Улыбка

Последний раз редактировалось: Thorton (21:22 25-04-2008), всего редактировалось 1 раз
    Добавлено: 20:50 25-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Отлично!

Насчет sample return вряд ли, пока в Семерке такие лакуны остаются. Лучше сначала всю эту "историческую серию ТМ" доделать... Улыбка
    Добавлено: 21:29 25-04-2008   
Thorton
 87 EGP


Рейтинг канала: 3(36)
Репутация: 12
Сообщения: 696
Откуда: Томск
Зарегистрирован: 15.05.2006
igel :
Насчет sample return вряд ли, пока в Семерке такие лакуны остаются.

А жаль Луну-16 очень хочется увидеть.

igel :
"историческую серию ТМ"

У меня тут поздний вечер уже, поэтому никак не могу сообразить, что за ТМ серия. Кроме Союза ТМ ничего не вспомнил Рыдания.
    Добавлено: 21:39 25-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Улыбка Был такой раздел в "Технике Молодежи" - "Историческая Серия ТМ". Там всякую историческую технику весьма неплохо по тем временам описывали, в том числе и космическую.
    Добавлено: 22:01 25-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Обновление версии:
http://members.shaw.ca/atil8/Orbiter/Vostok-Luna/Vostok_Luna.0.1a.080426.zip
Исходники:
http://members.shaw.ca/atil8/Orbiter/Vostok-Luna/Source.Vostok_Luna.0.1a.080426.zip

В автопилоте ничего не поменялось, зато добавил много традиционных севрисов и красивостей, из тех, что легко было добавить.

1. Добавил Ctrl-J, запрещает/разрешает переход фокуса на полезную нагрузку.

2. Поправил Выхлопы двигателя и парогазовых сопел. Для факела двигателя взял желтую текстуру от блока Л. Возможно, слишком желтую, но уж очень хотелось визуально отделить факел от парогаза, много там его, этого парогаза...

3. Блокировать фокус на блока Е не стал. Во-первых, он не дробится на куски, как другие блоки, во-вторых, он в лунных полетах совсем не пассивный...

4. Поправил импульс отделения ПН.

5. Добавил традиционую фичу вывода экранных срок слева вверху.

6. Поставил два rocketcam-а. Первая камера смотрит вниз вдоль ракеты, и хороша на всем этапе выведения, прямо со стартового стола. Вторая смотрит сбоку на ПН - с такого "боку", что очень красиво смотрится отделение ПН, если запретить переключение фокуса.

7. Добавил натриевую комету. К сожалению, белого, а не желтого цвета (как я понимаю,в Орбитере нельзя делать цветные частицы). Срабатывает автоматически на удалении 130 Мм от Земли. выброс длится минуту, при этом ускорение времени сбрасывается, и возобносить его нельзя до окончания выброса. Смотрится весьма эффектно не только с блока Е, но и с самой Луны-2, которая к тому врмени успевает преизрядно удалиться от блока Е. С нее "комета" выглядит именно как комета, и неслабых размеров! Пока на меши нет натриевого контейнера, выброс идет прости из примерной точки, где он должен быть.

Пока все. Желаю красивых видов! Улыбка
    Добавлено: 02:12 27-04-2008   
HikeR
 145 EGP


Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
немного оффтопа:
igel :
Пока на меши нет натриевого контейнера

почему же "меши"? все таки mesh - мужской род, должно быть просто "меш", "на меше", "под мешем", и тд. хоть это тоже неправильно как-то Подмигиваю
    Добавлено: 08:14 27-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
А у меня всегда была строго мешь женского рода Улыбка. Наверное, от кальки "сетка". Ну а заодно от аллитерации с совершенно не относящейся к делу мышью Гы-гы . А бывает ли вообще "правильно", даже не знаю. Слово заимствованное, новое, калькированное... в общем, всяко чужеродное. Кто пользуется компьютерно-дизайнерским жаргоном, по-всякому его склоняют, а все равно пока официальные словари его своим не признают, "правильным" для русского языка ни один вариант не будет. Совсем запутался...
    Добавлено: 08:53 27-04-2008   
Thorton
 87 EGP


Рейтинг канала: 3(36)
Репутация: 12
Сообщения: 696
Откуда: Томск
Зарегистрирован: 15.05.2006
igel :
Поправил Выхлопы двигателя и парогазовых сопе

У выхлопов парогазовых уж очень крупные частицы ты взял, видно что поток разрывается.

У меня рокеткам не переключаентся.

igel :
Добавил натриевую комету. К сожалению, белого, а не желтого цвета (как я понимаю,в Орбитере нельзя делать цветные частицы)

Это почему, цвет же текстурой можно задать.
    Добавлено: 09:42 27-04-2008   
HikeR
 145 EGP


Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
ну, слово не новое, уже во времена съемок первых Звездных Войн применялось (читал недавно что-то вроде "Making of Star Wars").
но со словарями согласен, пока что нет такого термина Подмигиваю
    Добавлено: 09:45 27-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Уй, пардон, про rocketcam забыл сказать: они переключаются клавишей К. У astronavt-а клавиша С занята под автопилот, а поскольку блок Е все-таки часть ракеты, а не ПН, то я решил пока не трогать те области, которые должны быть одинаковыми между ступенями.

Парогаз - да, можно еще подстроить. Оно уже лучше, чем было, но можно еще.

Комету - текстурой?! У нее размер - километры хорошие! Да и динамика во времени (рост, рассеяние) куда сложнее обычного двигательного выхлопа. Не вытянет текстура...
    Добавлено: 19:19 27-04-2008   
Thorton
 87 EGP


Рейтинг канала: 3(36)
Репутация: 12
Сообщения: 696
Откуда: Томск
Зарегистрирован: 15.05.2006
igel :
Комету - текстурой?!


Андрей, ты чего-то тормозишь Улыбка Заменить текстуру частиц, вот так например:




Попутно выявился глюк, при ускорении, если переключиться на 3 ступень у Луны антенны складываются.
    Добавлено: 19:47 27-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Спасибо! Конечно тормознул! Забыл, что частица - это тоже текстура. Думал про вставление структуры в поток, как с двигателем. Ура, будет теперь у нас комета желтой!

Антенны у Луны - это в другой раз. Луну я вообще не трогал, там все пока astronavt-ово, а он эту Луну только как placeholder и делал. Мне ее все равно дорабатывать - падение, взрыв, кратер, вымпелы... вот тогда на антенны и посмотрю.
    Добавлено: 20:16 27-04-2008   
Bloodest
 155 EGP


Рейтинг канала: 3(40)
Репутация: 18
Сообщения: 944
Откуда: Питерские мы
Зарегистрирован: 07.10.2004
igel :
Спасибо!
...
Я вот сообразил, если буду менять управление, то попробую главным управляющим элементом сделать не тангаж, а РКС.


За всегда пожалуйста...

Ну кажущаяся скорость эт просто способ управления отсекой двигателя и только (вычисления момента). Интегрируются несколько функцианолов по направлениям ( комплексы из скорости и расстояний) их значения совдятся воедино и по покзаниям этого суперкомплекса определяется момент отсечки двигателя. Например, для МБР, вычисляют исходную расчетную точку отделения ГЧ, затем, определяют направления наибольшего влияния на координаты точки падения - обычно начинают с вертикали и плоскости горизонта. Те определяют линейные функции - изменение дальность полета от изменения высоты и вертикальной скорости и изм. дальности полета от отклонения дальности активного участка и горизонтальной скорости. На 1 км отклонения дальности пассивного учаска вертикальный функционал и горизонтальный функционал имеют разные соотношения. Отсюда появляется некоторое промежуточное направление, где влияние функционалов одинаковое - и в самом простейшем виде суперфункционал это скорость в этом промежуточном положении. Продвинутые системы учитывают два направления, каждое из которых есть промежуточные направления между высотой/дальностью и скоростью вертикальной/горизонтальной.
В общем ситема сотоит из гироплатформы, выставленной в горизонт (ориентацию) в момент отделения ГЧ, на которой выставлены под рачетными углами (направлениями) один или несколько акселерометров (измерителей ускорения). Считывая положение гироплатформы кулачковый механизм, приводимый в движение часовым механизмом выдает требуемое значение тангажа. Акселерометр выдает ускорение в заданном направлении - интегрируются скорость - кажущаяся ( и расстояние - для продвинутого) - по достижении интегралом нужного значения двигуны отсекаются, БЧ отделяется...
Гы ни в одном решебнике по СУ нет указания на управление тягой (по величине) по камандам от системы РКС окромя как полной отсечки. В то время как в решебниках по двигунам регуляторы РКС в двиганах есть.

На счет оптимального управления я вроде писал? Тем не менее все достаточно просто и укладывается в несколько правил
Заданы Vx Vy H L - закон управления тангажом f=a*t+b/(c*t+d)
Заданы Vx Vy H - закон управления тангажом f=a*t+b
Заданы Vx Vy - закон управления тангажом f= a = const
В случае разгона к Луне (или планетам) разгон идет по третьему закону - постоянным тангажом.
    Добавлено: 09:54 28-04-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Всем привет! Не забыли про меня еще за лето? Улыбка А то есть хорошие новости: лето закончилось, и я потихоньку возвращаюсь к Орбитеру. И не с пустыми руками: удалось "меж делом и досугом" перенести в блок Е и Луну-2 кучу "приятной" функциональности из прежних проектов - так что срелизить апдейт "Восток-Луна" можно будет неожиданно скоро. Во всяком случае, беты новые совсем скоро будут.

Из достаточно крупных доделок, которых еще НЕ БУДЕТ в ближайшей бете: разлета вымпелов в Луне-2 и программного модуля Луны-3. Я даже нарыл в своих старых архивах какую-то "историческую" мешь Луны-3, но она пока инертна: dll нет, только cfg. Но сделать функциональную dll будет теперь совсем недолго. А потом и фоторежим как в Луне-9, благо опыт имеется Улыбка.

А все остальное, что можно измыслить, уже практически в бете будет реализовано. Точную дату беты пока не назову: летный сезон еще продолжается до конца октября, так что моя доступность для домашнего программирования пока еще остается несколько... э-э-э... спорадической Улыбка.
    Добавлено: 06:30 07-10-2008   
Eraser_stp
 60 EGP


Рейтинг канала: 1(9)
Репутация: 2
Сообщения: 177

Зарегистрирован: 14.06.2007
igel, жду обновлений с нетерпением. Улыбка
    Добавлено: 14:03 13-10-2008   
Канал Orbiter: «Восток-Луна»
На страницу: 1, 2, 3, 4  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Не нарушайте хотя бы половину правил. (Tension MAN флудерам в канале Х3)

  » Восток-Луна | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18