Elite Games - Свобода среди звезд!
.
  » РН "Союз ФГ/У" |
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Search | Conference rules | Album | Register | Pilots list | Profile | Log in to check your private messages | Log in

   Page 1 of 10
Go to page: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next | All pages
Поиск в этой теме:
Канал Orbiter: «РН "Союз ФГ/У"»
Thorton
 85 EGP

Рейтинг канала: 3(36)
: 12
Posts: 696
Location: Томск
Joined: 15 May 2006
Всем привет!
Готова первая публичная бета первого расширения к "Семерке". А именно - современные версии РН «Союз» в вариантах У и ФГ.
Это совместный проект с Андреем (Igel).

Скачать можно отсюда: http://members.shaw.ca/atil12/Orbiter/Soyuz.0.3b.100204.zip

Необходимые аддоны:
1. Ранние «Семерки»: http://www.orbithangar.com/searchid.php?ID=4419
2. КК «Союз» и «Прогресс» (временно выделены в отдельный пакет для этапа тестирования Союзов): http://members.shaw.ca/atil12/Orbiter/SoyuzTMAProgress.1.1.100204.zip


Что нового:
- полностью обновлены все меши ракеты и стола
- автопилот Блока И с хорошей точностью по наклонению
- корректная циклограмма полета, соответствующая современному Союзу
- поддержка «фич» из ранних «Семерок», таких как запись треков в кмл-файл, передача звуков между изделиями, аварии (на Блоке И не доделаны пока), дренажи и т.д.

Пока бета поставляется без отдельного мануала, т.к. все сценарные параметры и клавишные комбинации аналогичны ранней "Семерке"

На этапе бета-тестирования сценарии пакета поставляются во временной директории _Soyuz_SZ.
На текущий момент доступно 2 сценария:
Soyuz FG (TMA) - пилотируемая версия РН с КК «Союз ТМА»
Soyuz U (Progress) – РН с КК «Прогресс М1»

Веселых полетов!
    Posted: 12:46 05-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
Здорово! Качаю. Аж в пляс тянет...
    Posted: 16:05 05-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
Несколько интересных эффектов связанных с частицами.
1) При нормальном запуске газы от двигателя расползаются по кругу, при аварийном - в три струи, как это сделано на ранних Семерках. Можно узнать об аварии уже во время запуска двигателя. Улыбка
2) Сперва я сломал систему управления, а потом, уже при maxQ поджог двигатель. Улыбка Дым от горящего двигателя и инверсионный след шли в разные стороны, по моему так быть не может.
А так, очень круто. Особенно сброс САС, не могу дождаться когда увижу её в работе.
З.Ы. Вот бы Курс смоделировать.

Last edited by Eraser_stp on 08:58 06-02-2010; edited 1 time in total
    Posted: 08:56 06-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
Похоже разница в газах все-таки не связана с аварийностью. Осталось понять с чем она связана.
Ещё вопрос к igel'у: когда разваливается пакет семерки, то баланс ведь сбивается? Одни боковые блоки уже отпали, а другие ещё передают нагрузку на ЦБ. Тогда ракету по идее должно резко заворачивать. Ну это так, размышления - если сочтешь мелочными придирками, то ладно. Улыбка

Last edited by Eraser_stp on 10:42 06-02-2010; edited 1 time in total
    Posted: 10:28 06-02-2010   
Thorton
 85 EGP

Рейтинг канала: 3(36)
: 12
Posts: 696
Location: Томск
Joined: 15 May 2006
1) С дымами там хитрее, этот глюк еще от Семерки переехал, стол ведь её используется. Я у себя например не вижу четкой зависимости от аварии и вида дымов. У меня и при нормальном полете получается разброс в дымах, когда как.
2) Специально ломал Улыбка или оно само? По идее аварии должны довольно редко случаться. Сдымом посмотреть надо, но низ от Семерки почти полностью переехал в Союз.

САС скоро не обещаем, но впланах есть Подмигиваю

З.Ы. Это да, Курс тоже бы очень хотелось, но сложен он очень и его пока в планах нет, даже отдаленных. Тут уже надо привлекать тяжелую артиллерию, Романа (Bloodest) например.
    Posted: 10:46 06-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
Thorton wrote:
2) Специально ломал Улыбка или оно само? По идее аварии должны довольно редко случаться. Сдымом посмотреть надо, но низ от Семерки почти полностью переехал в Союз.

Сделал отдельный сценарий, в котором выставил RELIABILITY в ноль на всех блоках. Множественные отказы это так увлекательно. Гы-гы Над дымом я ещё понаблюдаю, может и не глюк это вовсе, а наоборот суровая реальность.
Thorton wrote:

З.Ы. Это да, Курс тоже бы очень хотелось, но сложен он очень и его пока в планах нет, даже отдаленных. Тут уже надо привлекать тяжелую артиллерию, Романа (Bloodest) например.

Я Гугл уже не в первый раз пытаю в поисках алгоритма или хотя бы схемы работы Курса, но пока безуспешно, везде только общие фразы. Рыдания.
    Posted: 11:07 06-02-2010   
Thorton
 85 EGP

Рейтинг канала: 3(36)
: 12
Posts: 696
Location: Томск
Joined: 15 May 2006
Eraser_stp wrote:

Сделал отдельный сценарий, в котором выставил RELIABILITY в ноль на всех блоках. Множественные отказы это так увлекательно. Гы-гы Над дымом я ещё понаблюдаю, может и не глюк это вовсе, а наоборот суровая реальность.


До орбиты то хоть раз добрался? Ой, не могу!..
    Posted: 11:23 06-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
Thorton wrote:
До орбиты то хоть раз добрался? Ой, не могу!..

Нет конечно. Улыбка Правда Союзу один разок удалось успеть открыть солнечные батареи. Супер! Но счастье было так недолго... Гы-гы
    Posted: 11:34 06-02-2010   
Bloodest
 151 EGP


Рейтинг канала: 3(40)
: 18
Posts: 887
Location: Питерские мы
Joined: 07 Oct 2004
Eraser_stp wrote:
Я Гугл уже не в первый раз пытаю в поисках алгоритма или хотя бы схемы работы Курса, но пока безуспешно, везде только общие фразы. Рыдания.

Сайт разаработчика
http://www.niitp.ru/directions/02/info/

Quote:
... многопараметрические высокоточные измерительные системы, позволяющие определять вектор взаимного состояния КА.


Реализуется в орбитере парой встроенных функций. Ну а затем, например, алгоритм "свободных траекторий".
//Линейное сближение методом свободных траекторий
Code:
int M1::DokingRUL(char * targetN, VECTOR3 & offset,double simdt)
{
//targetN - имя пассивного корабля
//offset - вектор "конечного положения относительно внутренней системы
// координат пассивного корабля (стыковочного узла _V(0,0,-.566))
//Неявные аргументы-переменные (через класс)
//Tc - время сближения
//Phase - фаза (2) - висение в точке offset.

   OBJHANDLE target  = oapiGetVesselByName (targetN);
   VESSEL    * tVESSEL = oapiGetVesselInterface (target);
   VECTOR3 tPointGlobal;  tVESSEL->Local2Global(_V(0,0,-.566)+offset,tPointGlobal);
   VECTOR3 tVelosGlobal;  tVESSEL->GetGlobalVel(tVelosGlobal);
/////////////////////////////////////////////////////////////////
   OBJHANDLE  hEarth = oapiGetGbodyByName ("Earth");
   ORBITPARAM op;
   ELEMENTS el;
   tVESSEL->GetElements (hEarth,el,&op);
//Угловая скорость вращения системы траекторий
   double Om = 2*PI/op.T;

/////////////////////////////////////////////////////////////////////////
   VECTOR3 cPointGlobal;   Local2Global(_V(0,0, .918),cPointGlobal);
   VECTOR3 cVelosGlobal;   GetGlobalVel(cVelosGlobal);
///////////////////////////////////////////////////////////////////////////
   VECTOR3 ePointGlobal;   oapiGetGlobalPos (hEarth, &ePointGlobal);
   VECTOR3 eVelosGlobal;   oapiGetGlobalVel (hEarth, &eVelosGlobal);

///////////////////////////////////////////////////////////////////////////
   VECTOR3 tNorm = Normalize(tPointGlobal-ePointGlobal);
   VECTOR3 tZ    = Normalize(crossp(tNorm,tVelosGlobal-eVelosGlobal));
   VECTOR3 tTan  = Normalize(crossp(tZ,tNorm));
   VECTOR3 P0 = cPointGlobal-tPointGlobal;
   VECTOR3 V0 = cVelosGlobal-tVelosGlobal;
   VECTOR3 P0o,Vto,V;
//// Параметры относительного движения
   P0o.y = dotp(P0,tNorm);
   P0o.x = dotp(P0,tTan);
   P0o.z = dotp(P0,tZ);
   V.y   = dotp(V0,tNorm);
   V.x   = dotp(V0,tTan);
   V.z   = dotp(V0,tZ);
////
   double L = length(P0);
   double Vs = dotp(V0,P0)/L;
   if (phase == 2) Tc = 1;
   else if(L>1e3) Tc =  L/10;
   else Tc =L/(L/1000*10+3);

//Метод свободных траекторий   
   double sinOT = sin(Om*Tc);
   double cosOT = cos(Om*Tc);
   double Zn =  3*Om*Tc*sinOT-8*(1-cosOT);
   Vto.x = Om*(P0o.x*sinOT+P0o.y*(6*Om*Tc*sinOT-14*(1-cosOT)))/Zn;
   Vto.y = Om*(2*P0o.x*(1-cosOT)+P0o.y*(4*sinOT-3*Om*Tc*cosOT))/Zn;
   Vto.z = -Om*P0o.z*cosOT/sinOT;
   VECTOR3 Vto1 = Vto - V;    
   VECTOR3 VT = tNorm*Vto1.y + tTan*Vto1.x + tZ*Vto1.z;
   



////Реакция двигателей
   VECTOR3 VTl;
   Global2Local(cPointGlobal+VT,VTl);
   double F = length(VTl)/(simdt*3.)*GetMass();
   if (F > 50 ) F=50;
   VECTOR3 B = Normalize(VTl)*F/50;
   SetAttitudeLinLevel (B);


   if(oapiGetFocusInterface () == this)
      {
         
         sprintf(oapiDebugString(),"S7F%d %.3f  Vt%.2f  eVt %.3f  Tc %.1f ||"
            "  %.3f %.3f %.3f", phase,
            length(P0)/1000,length(Vto),length(VTl), Tc,
            GetPropellantMass (ph_satelite_m),
            GetPropellantMass (ph_satelite_u),
            GetPropellantMass (ph_satelite_b));

      }

   if(L<3) phase =2;

}

Сущность метода состоит в том что весь процесс сближения соотносится к некоторой системе координат( глобальной, орбитальной, неинерциальной пассивного корабля), далее СКПК.
Тогда уравнения движения активного корабля описываются системой уравнений имеющей аналитическое решение.
Неинерциальность учитывает только вращение пассивного корабля вокруг планеты (Оm).
Вычисляются относительное положение и скорость активного корабля относительно пассивного (что и делает Курс)P0 V0 в глабальной СК.
Далее строится орты СКПК tNorm tZ tTan в глобальной СК.
Относительное движение проецируется на орты СКПК. Получаем P0o и V - в СКПК.
Теперь задачу можно решить методом свободных траекторий.
Решение - Vto1 - потребное изменение скорости в СКПК.
Нужно перевести Vto1 из СКПК в локальную систему активного корабля.
Что и делаем - сперва проецируя через орты СКПК в глобальной - получаем потребное изменение в глобальной СК (VT). Затем из глобальной в локальную активного - VTl.
Ну затем, несколько упрощенно, из VTl определяется B - вектор управления для двигателей линейного перемещения.
Особенности:
Tc - время сближения, в общем случае в методе свободных траекторий отдается на откуп конкретной реализации. В данном случае при дальности более 1 км время коррелирует скорость сближения примерно линейно 100 км- 100 м/с 1 км 3-м/с, менее 1 км 10/с.
Вообще, в методе свободных траекторий, есть фича-глюк - каждой дистанции соответствует некоторое время сближения при котором скорость сближения равна нулю. Достаточно зафиксировать время сближения и корабль "зависнет" на некотором расстоянии от цели. Это реализовано в фазе 2 - 1 секунда, ~2 метра.
В данной реализации поведение будет зависеть от ориентации цели (смещение цели забито через локал) и не будет зависеть ориентации активного корабля.
Гыг Я этим алгоритмом собирал "в автомате" дюжину Мартлетов - для полета на Луну...
    Posted: 17:32 08-02-2010   
igel
 97 EGP

Рейтинг канала: 4(86)
: 14
Posts: 755

Joined: 12 Jun 2006
Всем привет! Я тут сразу после беты на несколько дней в глубокий аут ушел, и только сейчас выныриваю помаленьку. Пропустил всю "союзную" дискуссию, а в ней, как сейчас бегло заметил, есть уймища интересного! Сейчас внимательно все перечитаю, и буду комментировать уже по делу.
    Posted: 07:30 09-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
Bloodest wrote:
Сущность метода состоит в том что весь процесс сближения соотносится...

Круто. Улыбка Но я вот о чём речь веду: когда Прогресс сближается со станцией он не просто выполняет задачу сближения, он действует по определенному алгоритму, выполняет облет, зависание, хотелось бы знать конкретные цифры. К тому же я так понимаю метод свободных траекторий не даёт гарантии, что корабль не столкнется с конструкциями МКС при подлете? В Курсе это вроде обходят при помощи жестких алгоритмов.
В принципе можно задавать вектор конечного положения не от стыковочного порта, а на некотором удалении от него, чтобы корабль сперва вышел на финишную прямую, завис, а потом спокойно подошел к порту. Подозреваю, что чтото в этом духе и происходит.
З.Ы. Или это удаление и задается через offset?

Last edited by Eraser_stp on 08:01 09-02-2010; edited 3 times in total
    Posted: 07:43 09-02-2010   
igel
 97 EGP

Рейтинг канала: 4(86)
: 14
Posts: 755

Joined: 12 Jun 2006
Ну что, начну по-порядку.

1. Глюк "шапка дыма".

Причина мне известна очень хорошо, но от этого нисколько не легче Улыбка. Потому что причина не корневая, скорее, сочетание обстоятельств, которые вызывают глюк. Корневая причина, похоже, какой-то глюк в рендере Орбитера, либо не глюк, а какая-нибудь неотличимая от глюка фича. Если кто знает, как это вылечить - локтем перекрещусь! Сейчас опишу подробнее.

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

В случае старта Семерки или Союза первым, "инициирующим" аппаратом является Блок А (либо блок И Союза), а его частицами - предстартовые пары кислорода, падающие вдоль ракеты. "Пострадавшим" аппаратом является стартовый стол - именно его частицы дымов "прилипают" к точке выброса.

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

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

Подстроить это на Союзе будет легко, к релизу обязательно сделается. Но чертовски хотелось бы вылечить саму болезнь, а не симптомы!

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

Можно создать и совершенно пакостный эффект: удалить из сценария "дымящие" элементы (во время подлета боеголовки это будут обломки разбившихся боковушек) - но оставить стол и летящий центральный блок. Тогда первые дымы в сценарии образуются до ядерного взрыва, от распада центрального блока при входе в атмосферу, в полете на большой высоте. И тогда ядерный взрыв унаследует их "высотную легкость", и частицы дымного столба, коснувшись земли, будут радостно и высоко подпрыгивать. Полная задница: код один, а вариантов поведения как минимум три! Расстройство

Ну вот, пока успел на один только пункт ответить, зато подробно. Ладно, дальше посвободнее будет...
    Posted: 08:22 09-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
Может сделать какой-нибудь финт ушами - например приподнять стол над условной земной поверхностью, и замаскировать это подняв и несколько километров окружающей местности?
Кстати на новом Орбитере та же беда. Может стоит заполнить багрепорт? Кто знает, вдруг это легко можно исправить.

Last edited by Eraser_stp on 09:28 09-02-2010; edited 1 time in total
    Posted: 09:17 09-02-2010   
igel
 97 EGP

Рейтинг канала: 4(86)
: 14
Posts: 755

Joined: 12 Jun 2006
А под бомбой тоже поднимать на километры? Улыбка Не, это лечение насморка гильотиной, а такие вещи надо правильно, на уровне движка фиксить. А я вообще еще не знаю, документирован ли этот баг, и баг ли это... Надо, наверное, четкие тестовые сценарии-условия сделать, и запостить в форум Орбитера. Ну а пока обход в основном достаточно легкий, чтоб тяжелую артиллерию задействовать. Орбитер все-таки старая платформа, у него хватает ограничений и проблем, и эта далеко не самая тяжелая. Подстроить время жизни частиц куда проще, чем поднимать виртуальную поверхность.
    Posted: 09:27 09-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
Eraser_stp wrote:
Кстати на новом Орбитере та же беда. Может стоит заполнить багрепорт? Кто знает, вдруг это легко можно исправить.

igel wrote:
А я вообще еще не знаю, документирован ли этот баг, и баг ли это... Надо, наверное, четкие тестовые сценарии-условия сделать, и запостить в форум Орбитера.

Сходные мысли. Гы-гы Так и стоит сделать.
    Posted: 09:30 09-02-2010   
igel
 97 EGP

Рейтинг канала: 4(86)
: 14
Posts: 755

Joined: 12 Jun 2006
Записал в списочек, сделаю баг-репорт на базе уже выпущенной Семерки, наверное, как раз на примере подлетного сценария - он очень наглядный!

А вообще, спасибо большущее за помощь тестированием. У меня день кончился, так что на сегодня я прерываюсь, а завтра продолжу с остальными комментариями.
    Posted: 09:36 09-02-2010   
Thorton
 85 EGP

Рейтинг канала: 3(36)
: 12
Posts: 696
Location: Томск
Joined: 15 May 2006
Да там и в самой 2009 бете что-то не так с дымами. У Полёта к примеру, частицы отрубаются на главных движках и движках вертикального перемещения. У моего Прогресса, точно также, пробовал его скомпилить под 2009 СДК, но глюк с дымами не прошел.
    Posted: 11:01 09-02-2010   
igel
 97 EGP

Рейтинг канала: 4(86)
: 14
Posts: 755

Joined: 12 Jun 2006
Я почитал требования, предъявляемые к баг-репорту Орбитера, не такое это просто дело оказалось Улыбка (и хорошо, что непростое, все требования абсолютно разумные). В общем, надо бы попробовать сначала воспвроизвести глюк дымов не на Семерке, а на встроенных изделиях Орбитера, в голой минимальной установке. ДГ, шатлы... А если еще и во встроенном сценарии, то еще круче, но это не знаю, получится ли. Нам, конечно, так больше работы, зато Мартину будет на порядок легче. Это если глюк там, а не в том, как дымы генерю (может, как-нибудь нестандартно).
    Posted: 19:23 09-02-2010   
Eraser_stp
 60 EGP

Рейтинг канала: 1(9)
: 2
Posts: 177

Joined: 14 Jun 2007
igel wrote:
В общем, надо бы попробовать сначала воспвроизвести глюк дымов не на Семерке, а на встроенных изделиях Орбитера, в голой минимальной установке. ДГ, шатлы...

Хм, если подумать... А на Атлантисе разве не должен был бы проявлятся тот же эффект? там два источника частиц от SRB.
Может с багрепортом пока не спешить, а описать проблему на оффоруме?

Last edited by Eraser_stp on 19:29 09-02-2010; edited 1 time in total
    Posted: 19:27 09-02-2010   
igel
 97 EGP

Рейтинг канала: 4(86)
: 14
Posts: 755

Joined: 12 Jun 2006
Ну да, прежде чем шум поднимать, надо убедиться, что повод реальный. Только не знаю пока, как скоро у меня дойдут руки, глюк-то очень мелкий и редкий, не мешает совершенно...
    Posted: 19:50 09-02-2010   
Канал Orbiter: «РН "Союз ФГ/У"»
Go to page: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next | All pages
  
Display posts from previous: 
View previous topic | View next topic |
К списку каналов | Наверх страницы
Цитата не в тему: Ксеноны, они такие - где проинсталлируются, там и беспредельничают. (BuH)

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