yandexdataschool / satellite-collision-avoidance

RL for optimal satellite collision avoidance maneuvres
26 stars 7 forks source link

Reward-distance dependence and collision risk #6

Closed kazeevn closed 6 years ago

kazeevn commented 6 years ago

IMHO, нам всё-таки нужно использовать какую-то модель расчёта риска столкновения, его рассчитывать и оптимизировать. Конечный результат будет несолидно выглядеть без оценки риска столкновения. Если мы предлагаем несколько вариантов, они должны быть в понятных оператору переменных а не каких-то попугаях, которые не имеют чёткого физического смысла.

P. S. Моя физическая интуиция говорит, что с формулой для reward'а 1/x есть проблема: стремление к бесконечности при x->0 некорректно. Координаты КА известны с погрешностью, превышающей их размер, то что траектории строго пересекается не гарантирует столкновение.

IrinaPonomareva commented 6 years ago

Что ж, про риск столкновений. Предлагаю такое упрощение: считаем каждый объект находящимся внутри шара некоторого радиуса R, причем распределение равномерное (в реальности оно гауссово), т.е. как будто в любой точке этого шара он находится с равной вероятностью. Траектория - это линия движения центра этого шара. Соответственно, если 2 объекта сближаются, то риск их столкновения мы оцениваем как объем пересечения двух шаров. На коленке посчитала объем тела вращения через сегмент, получилось, что если два шара радиусов R находятся на расстоянии L, то объем этого выпуклого диска в пересечении (или как это правильно с точки зрения геометрии называется?) будет равен 2pi(2R^3/3-R^2L/2+L^3/24). Проверьте меня, кто-нибудь. Ну, по крайней мере, если L/2=R, то эта формула дает ожидаемый 0. Правда, при L>2R число получается отрицательным, и нужно подумать, оставить его таким, или принудительно обращать в 0. Если такая интерпретация устраивает, то нужно просто хорошо выбрать R, для начала побольше.

kazeevn commented 6 years ago
  1. Нет ли какой-нибудь статьи/учебника, где можно взять готовую формулу?
  2. Здесь нигде не участвует размер КА, это подозрительно.
  3. Как в такой формализации посчитать именно вероятность в формальном математическом смысле, что КА столкнулись на данном отрезке времени?
bamasa commented 6 years ago

Нет ли какой-нибудь статьи/учебника, где можно взять готовую формулу?

http://mathworld.wolfram.com/Sphere-SphereIntersection.html

Как в такой формализации посчитать именно вероятность в формальном математическом смысле, что КА столкнулись на данном отрезке времени?

Не уверен, что вопрос ко мне, но, наверное, можно так: P = V(S1*S2) / V(S1+S2).

kazeevn commented 6 years ago

@bamasa , поясни, пожалуйста, формулу? Что такое V, S1, S2?

bamasa commented 6 years ago

@kazeevn , извиняюсь. Короче говоря - отношение объема пересечения к объему объединения.

kazeevn commented 6 years ago

@bamasa , понял, спасибо, тогда тебе те же два вопроса:

  1. Здесь нигде не участвует размер КА, это подозрительно.
  2. Как в такой формализации посчитать именно вероятность в формальном математическом смысле, что КА столкнулись на данном отрезке времени?
bamasa commented 6 years ago

@kazeevn , ну на второй я сказал что думаю. А на первый - мне кажется, размер не важен. Ирина говорила, что важно критическое расстояние (в котором возможно столкновение), так и давайте штрафовать просто за сближение, а сближение более чем на критическое расстояние считать столкновением.

kazeevn commented 6 years ago

давайте штрафовать просто за сближение, а сближение более чем на критическое расстояние считать столкновением.

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

Конечный результат будет несолидно выглядеть без оценки риска столкновения. Если мы предлагаем несколько вариантов, они должны быть в понятных оператору переменных а не каких-то попугаях, которые не имеют чёткого физического смысла.

ну на второй я сказал что думаю

В твоей формуле никак не фигурирует время. Как с её помощью ответить на вопрос: Дано: зависимость от времени координат КА и мусора. Найти: зависимость от времени вероятности что КА и мусор не столкнулись в интервале времени с t=0 до t=t1

bamasa commented 6 years ago

Начал делать MCTS. Завтра постараюсь уже что-то выложить.

bamasa commented 6 years ago

В твоей формуле никак не фигурирует время. Как с её помощью ответить на вопрос: Дано: зависимость от времени координат КА и мусора. Найти: зависимость от времени вероятности что КА и мусор не столкнулись в интервале времени с t=0 до t=t1

можно же проинтегрировать (просуммировать) по времени?

IrinaPonomareva commented 6 years ago

Никита прав, что правильнее с точки зрения физики рассматривать именно интервал и некую суммарную вероятность на интеграле. В то же время вот у нас в АСПОСе сейчас ищется именно момент сближения на минимальное расстояние и для него считается вероятность. Поэтому на интервале [t0;t1] я бы либо брала максимальную вероятность (т.е. соответствующую моменту самого близкого сближения на этом интервале), либо можно действительно попытаться взять интеграл, но это посложнее технически (выбор шага интегрирования, например). Хотя с интегралом есть свои тонкости. Смотрите, вот два случая. Случай 1: траектории пересекаются под прямым углом, но аппараты проходят близко, максимальная вероятность близка к 1, но сближение короткое по времени. И случай 2: траектории идут близко параллельно, и аппараты долго летят рядом, но максимальная вероятность столкновения у них далека от 1 (т.е. сферы пересекаются маленькой частью). В то же время за счет их длительного полета рядом возможна ситуация, что интегральную вероятность мы получим примерно такую же, как в случае 1.

bamasa commented 6 years ago

Тогда вероятность при максимальном сближении. Кстати, ее и для нормального распределения можно посчитать. @kazeevn, можно в reward вместо расстояние в reward можно попробовать заменить на вероятности? Тогда мы в каждый тик будем знать вероятность. И чем дольше объекты летят вместе, тем больше будет штраф.

bamasa commented 6 years ago

можно в reward вместо расстояние в reward можно попробовать заменить на вероятности?

уверен, что так будет лучше. залил

kazeevn commented 6 years ago

Можно договориться о метрике, отличной от "вероятность дожить до момента t", если она принята в космическом сообществе. @IrinaPonomareva - ты предлагаешь 2 варианта, давай остановимся на каком-то одном и можешь его формально записать, чтобы мы смогли это реализовать в коде?

Дано: зависимость от времени координат КА и мусора Найти: зависимость от времени суммарного риска для КА при таком полёте от момента t=0 до t=t1 - одно число, что бы оно не значило

P. S. На правах идеи. Можно на уровне симулятора отказаться от вероятностей и сказать, что КА - шары, радиус и координаты знаем точно. Если шары пересекаются, game over. Добавить эвристический штраф за опасные сближения. Просчитывать исход предложенного манёвра для выборки начальных условий, получить вероятность столкновения методом Монте-Карло.

kazeevn commented 6 years ago

7.12 сейчас делаем на скользящих максимумах, Ирина смотрит обоснованный способ в литературе.

kazeevn commented 6 years ago

Статья, с заманчивым abstract: We present a new derivation of the probability of collisions between spherical satellites occupying Keplerian orbits. The equations follow from the central concept of the instantaneous collision rate, an expression that describes the occurrence of collisions by using a Dirac δ-function. https://link.springer.com/article/10.1023/A:1022916401768

bamasa commented 6 years ago

@kazeevn , reward накапливается или нет? (я думаю лучше чтоб накапливался)

bamasa commented 6 years ago

@IrinaPonomareva , можно ли вероятностные распределения для всех объектов задавать одними параметрами?

kazeevn commented 6 years ago

@kazeevn , reward накапливается или нет? (я думаю лучше чтоб накапливался)

Да, конечно, нам инетерсен reward в конце сессии.

bamasa commented 6 years ago

Да, конечно, нам инетерсен reward в конце сессии.

@kazeevn , только в конце? то есть по тикам его рассчитывать не надо?

можно ли вероятностные распределения для всех объектов задавать одними параметрами?

@IrinaPonomareva , возьму одинаковые параметры.

kazeevn commented 6 years ago

@kazeevn , только в конце? то есть по тикам его рассчитывать не надо?

IMHO, стоит поддерживать инегральный reward с начала сессии до текущего момента.

IrinaPonomareva commented 6 years ago

По расчету вероятности сближений - нашла относительно несложно реализуемый подход к расчету (автор - Хуторовский, придуман в 90-е гг., используется с тех пор и до настоящего времени. По методу сразу оговорки (прописанные в самом его описании) - он хорошо подходит для околокруговых орбит и для сближений под большим углом (т.е. для объектов, которые долго летят параллельно рядом, он так себе считает). Вероятность считается для момента максимального сближения (т.е. когда объекты на минимальном расстоянии). И при таком подходе у нас будут получаться ответы типа 10^-6, 10^-5, 10^-4 (это уже прям опасно считается). А ответ 1 уже не получится, потому что область неопределенности намного больше размеров объектов. Формулы на прикладываемых снимках. collision_khutorovsky_2 collision_khutorovsky_1

Таким образом, вопрос расчета интегральной вероятности пока остается открытым. Ведь если мы будем просто складывать вероятности, то полет с 1000 малоопасными сближениями и полет с 10 опасными сближениями интегрально покажутся нам похожими по итогу? Или я опять запуталась, давайте проясним.

IrinaPonomareva commented 6 years ago

У Хуторовского на самом деле более сложные формулы, это упрощенный вариант для случая, когда области неопределенности - сферы (мы сложнее пока не думаем).

kazeevn commented 6 years ago

Спасибо!

Таким образом, вопрос расчета интегральной вероятности пока остается открытым. Ведь если мы будем просто складывать вероятности, то полет с 1000 малоопасными сближениями и полет с 10 опасными сближениями интегрально покажутся нам похожими по итогу?

По физике, для независимых сближений, как-то так и должно быть, разве нет? Нас интересует, дожил ли КА до текущего момента.

bamasa commented 6 years ago

сейчас еще в коде есть порог сближения. то есть вероятность столкновения считается, если расстояние R между satellite и debris < порога T. пока эта R < T, это считается сближением. И итоге сохраняется максимальная вероятность такого сближения.

kazeevn commented 6 years ago

Можешь написать библиографическую ссылку?

bamasa commented 6 years ago

@kazeevn , эвристика. Я сделаю как в вс решили.

bamasa commented 6 years ago

@IrinaPonomareva , не ясно про Хуторовского почему $\vec{delta_r} = \vec{r1} - \vec{r2}$ а потом $delta_r = \vec{delta_r} * \vec{i_r}$, причем i_r зависит только от \vec{r1} и далее везде используется delta_r

то есть как-то несимметрично получается. почему так? и какие примерно размеры объектов брать?

kazeevn commented 6 years ago

Формулу Хуторовского надо применять в момент, когда расстояние минимальное, или на всех итерациях расчёта сближения, и потом брать максимум?

IrinaPonomareva commented 6 years ago

Формула Хуторовского, как и большинство хорошо проработанных на сегодня подходов, применима для момента максимального сближения. Т.е. ищется момент минимального расстояния, и для этого момента считается вероятность.

IrinaPonomareva commented 6 years ago

OrbitalData_Applications_forSpaceObjects_Chen_Bai_Liang_Li.pdf Вот любопытная книжка китайцев, она мне понравилась больше, чем единственная статья Хуторовского с объяснением, откуда он брал свою формулу. На стр. 166 во второй части страницы есть формулка для слегка эллиптических низких орбит, нам должна подойти. Все обозначения там же расписаны, соотношение для расчета deltat - выше в разделе. Китайцы вывод своих формулок объясняют в этой же книжке. У них и у Хуторовского методы хороши тем, что имеют аналитические формулы для расчета. Большинство других методов - численные, для интегрирования 2/3-мерных функций вероятности.

bamasa commented 6 years ago

китайские вероятности вероятности по min расстоянию профайлинг if bad: находить опасное сближение с убывающим шагом