Звёздные датчики

Автор avmich, 26.10.2009 09:56:20

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

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

mistermuscle

ЦитироватьСложность алгоритма поиска ближайшего пикселя O(n^2)-O(n^3). Это волновой алгоритм для манхеттенской метрики или дейкстры, как в нашем случае, по обычному геометрическому расстоянию. Что-то я сильно сомневаюсь, что даже проц вроде 80286 потянет хотябы просто поиск кратчайшего расстояния между всеми "звездами" по карте, на которой различимы звезды, раз в секунду или чаще.

Может быть никакого особого алгоритма вообще нет? Просто аппарат обычными гироскопами примерно направлен на какой-нить сириус +- пара градусов, алгоритм находит самую яркую и вычисляет углы. Слово "астрокоррекция" хорошо подходит для такого...

upd: Насчет сложности поиска эт чет я загнул. Можно сначала прогонять процедуру, которая идентифицирует звезды из пикселей и записывает их позиции, тогда конечно легче на много :)

Чтобы определить свою ориентацию - достаточно видеть и опознать две звезды.
При угле видимости в 20 град, при любом положении аппарата должны находиться минимум 2 звезды.
Дальше смотрим звездный каталог в порядке убывания яркости, двигаясь дальше по каталогу смотрим как засевается сфера звездами, когда выполняется указанное условие выше (2е звезды гарантированно попадают в любом) - определяем яркость последней звезды, подбираем светофильтр на оптику чтоб матрица не обнаруживала звезд с яркостью ниже!
Звезда это точечный источник света = 1пиксель.
Определяем через каталог расстояние от каждой звезды до каждой (в пикселях) и составляем матрицу. Врядли хоть одно расстояние совпадет. Звезды тоже неподвижны друг относительно друга.
А дальше простым перебором матрицы, допустим из 100 звезд, определяемся. Определяем что это за звезды у нас в поле зрения, их положение на матрице фотика и смотрим куда центр направлен, а также крен аппарата в пространстве! С этим справиться и процессор инженерного калькулятора! :)

Можно еще в дополнение селекцию по яркости пикселя ввести - ну как еще один метод защиты! :idea:
не все йогурты одинаково полезны

JoJo

Какой неудержимый полет мысли! Аж завидно.
Теперь я спокоен за нашу смену.
Молодцы!
Так держать!

А уроки пускай учат те, у кого фантазии не хватает  :)  :cry:

mistermuscle

ЦитироватьКакой неудержимый полет мысли! Аж завидно.
Теперь я спокоен за нашу смену.
Молодцы!
Так держать!

А уроки пускай учат те, у кого фантазии не хватает  :)  :cry:

Спасибо! :D Ну тут даже простая логика показывает - что ниче другого придумать просто невозможно! :D
не все йогурты одинаково полезны

JoJo

Да-да, дерзайте, свои шишки - они ближе к телу.
О достижениях поведаете?

m939

Цитировать
ЦитироватьВопрос к специалистам.

Сегодня стандартные звездные датчики работают с точностями ориентации порядка 5" и хуже. Насколько затребованы точности в интервале 0.1"-0.01"
Странная постановка вопроса, поясните.
Поясняю. При такой точности прибор будем иметь габариты диаметр 10 см х 20 см и потреблять 10-15 Вт при частоте опроса 1 раз в сек. (Чуть подробнее - ниже.) Еще в нем используются ПЗС с обратной засветкой - у нас такие пока не делают.

ЦитироватьВ телескопах затребованы точность и долговременная стабилизация наведения 0.1" (3 сигмы), но для этого обычно ставят систему гидирования с датчиками (ПЗС) в фокальной плоскости самого телескопа
Телескопы играют роль ЗД сами для себя, причем точность зависит в первую очередь от апертуры и фокусного расстояния. Так Хаббловский телескоп (D=2.4м, F=58м) наводится и удерживает изображение с  точностью 0.001" (причем самым простым способом - "по кресту").

Но у телескопов более важна задача удержания - чтобы изображение не смазывалось, а положение его центра либо ясно по самому изображению (типа, самая яркая звезда в центре или на щели спектрографа) или не очень важно (сдвиг глубокого изображения на 1-2" не существенен).
ЦитироватьВ телескопах затребованы точность и долговременная стабилизация наведения 0.1" (3 сигмы), но для этого обычно ставят систему гидирования  с датчиками (ПЗС) в фокальной плоскости самого телескопа. А по ЗД наводят начерно.

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

ЦитироватьИ добиться такой стабильности ой как непросто, даже на компьютерной модели КА колбасит в этом диапазоне от возмущений, а Вы говорите 0.01"
ЦитироватьУчитывая сказанное выше, довольно смелое утверждение  :)
Я имел в виду только то, что сказал - ЗД измеряет свою ориентацию с точностью 0.1"-0.01". Вопрос о переносе этого направления на КА или на какой-либо прием на нем - отдельная задача. И если для переноса с 0.1" можно еще надеяться на жесткую конструкцию (например, прикрепить ЗЛ прямо к прибору - телескопу или ДЗЗ),  то для 0.01 точно потребуется внутренняя метрологическая система (например, лазерная, для измерения углов и расстояний между частями конструкции). Причем могут потребоваться высокие частоты работы как ЗЛ, так и метрологической системы, до 10-30 Гц.

ЦитироватьПрецизионную точность порядка долей секунды могут обеспечить не только звездные датчики. ГИВУС тоже вполне себе может.
Инерциальная система ориентации обладает неустранимым и плохо предсказуемым уходом осей гироскопов. Измерение углов между гироскопами позволяет оценить этот уход, но не поучить поправку. Для привязки ГИВУС к инерциальной системе координат ее время от времени сверяют с показаниями звездных датчиков.
     Если же ЗД имеет точность 0.1", то систему можно "вывернуть" - использовать ЗД как основной датчик ориентации, а гироскопы только в случае неработоспособности всех ЗД (засветка Солнцем или закрытие поля зрения Землей).

ЦитироватьЧто значит чем готовы поступиться для этого заказчики? А что могут предложить разработчики?
Для 0.1" и частоты опроса 1 Гц - 10х10х20 см, 3 кг и 10-15 Вт.
Для 0.03" и частоты 1 Гц или для 0.1" и частоты 10 Гц - 20х20х35, 5 кг и 20-25 Вт (может чуть меньше по всем параметрам). Еще возможен ЗД, который работает при угловой скорости вращения 10-30 град/сек при точности наведения 0.3-0.5" при параметрах 1-го варианта.

ЦитироватьНужно ли кому-то обеспечивать точность выше чем 5"? Ответ - нужно.
Кому? В каких задачах?

m939

ЦитироватьЧтобы определить свою ориентацию - достаточно видеть и опознать две звезды.
Вы не учитываете помех - в поле зрения датчика влетел яркий спутник - и всё, отождествление по 2 звездам не срабатывает.

ЦитироватьЗвезда это точечный источник света = 1пиксель.
Но при этом вы теряете возможность измерять координаты этой звезды точнее, чем этот пиксель. А если размер изображения звезды 1.5-2 пикселя, то все зависит от отношения сигнал/шум и 0.1 пикселя не предел.

ЦитироватьИ проверив 5-10 звезд - картинка идентифицируется!
Это если вы достаточно точно знаете куда смотрит звездный датчик. Если не знаете – на всем небе около 1000 звезд ярче 4.5-5 величины и в матрице будет миллион элементов. Хранить такой массив негде, придется вычислять. И на вычисление и отождествление уйдет не одна секунда, даже на процессоре 80286 :).

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

mistermuscle

ЦитироватьДа-да, дерзайте, свои шишки - они ближе к телу.
О достижениях поведаете?

Что за шишки, о чем речь?? :? Какие достижения?

Я просто человеку кратко обьяснил, на пальцах, как устроены звездные датчики? Что не так?
не все йогурты одинаково полезны

avmich

ЦитироватьДа-да, дерзайте, свои шишки - они ближе к телу.
О достижениях поведаете?

Во-первых, большое спасибо за информацию и обсуждение :) .

Во-вторых, JoJo, Вы не высказались об алгоритмах - в то время как мистермускл по крайней мере один привёл :) . При этом Вы просите поведать о достижениях :) . Как-то неудобно получается, не находите? Понятно, конечно, что не всё может быть возможно рассказать, но, может быть, что-то всё же есть и в учебниках - о которых, собственно, и был вопрос насчёт алгоритмов?

Если смене не рассказывать, ей действительно придётся только своими шишками до результата добираться. Хорошее же мнение у смены будет о её предшественниках :( .

avmich

ЦитироватьЭто если вы достаточно точно знаете куда смотрит звездный датчик. Если не знаете – на всем небе около 1000 звезд ярче 4.5-5 величины и в матрице будет миллион элементов. Хранить такой массив негде, придется вычислять.

В каком смысле негде? Микросхема, хранящая миллиарды бит, умещается на ногте большого пальца; хранить миллион элементов в ней не проблема. Применять её в космосе, сразу скажу, возможно.

avmich

ЦитироватьХранить такой массив негде, придется вычислять. И на вычисление и отождествление уйдет не одна секунда, даже на процессоре 80286 :).

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

m939

Цитировать
ЦитироватьПочитал, поконсультировался -- вынужден принести свои извинения.
Помилуйте, какие извинения? Я так надеялся, что Вы таки что-нибудь найдете!
Сам думал, что найду. Но я, к сожалению, не электронный завод :(. Вот за это и извиняюсь (за мысли).

Цитировать
ЦитироватьЕсть умеренно стойкие микросхемы, из которых надо самим выпаивать платы.
Вы хотели сказать "паять"? А из остальных не надо?
Надо. Но впаять один процессор или десятки микросхем - разный уровень интеграции.

Цитировать
ЦитироватьИ еще есть условно-рад-стойкий мультикор.
Еще раз повторяю, нет НИКАКОГО радстойкого мультикора, даже условно, даже в проекте. Есть условно радстойкий мультиборт, но пока ТОЛЬКО в проекте, в неопределенном прекрасном далёко :cry:  :evil:
Да нет, похоже есть, но именно "условно стойкий". А "мультикор" и "мультиборт" - разные названия одного и того же.

Цитировать
ЦитироватьА еще есть процессоры европейской разработки, американские и японские. Каждый со своей рекламой и со своими заморочками. Ни один из них нельзя заиметь для военных целей, но некоторые можно для гражданских.
Для богатеньких и не жадных буратин :D
Судя по соседним обсуждениям (см., например, про Коронас-Фотон) жадный платит не дважды, а намного дороже.
 
Цитировать
ЦитироватьЕще можно взять пару или тройку любых процессоров и установить их в параллель с контролем сбоев -- но это совсем другая история...
Конечно, все можно, но это уже будет не 100 грамм и не один ватт.
В 100 грамм, наверно, еще можно будет уложиться, в 1 Ватт - точно нет. А меня больше смущает необходимость очень низкоуровнего программирования - ни одной операционной системы, которая поддерживала бы такую защиту от сбоев (через сравнение результатов вычисления на нескольких процессорах и повтора при расхождении) я не знаю. Хотя понимаю, что почти любой unix можно доработать быстро, была бы нужда.

mistermuscle

Цитировать
ЦитироватьЧтобы определить свою ориентацию - достаточно видеть и опознать две звезды.
Вы не учитываете помех - в поле зрения датчика влетел яркий спутник - и всё, отождествление по 2 звездам не срабатывает.

ЦитироватьЗвезда это точечный источник света = 1пиксель.
Но при этом вы теряете возможность измерять координаты этой звезды точнее, чем этот пиксель. А если размер изображения звезды 1.5-2 пикселя, то все зависит от отношения сигнал/шум и 0.1 пикселя не предел.

ЦитироватьИ проверив 5-10 звезд - картинка идентифицируется!
Это если вы достаточно точно знаете куда смотрит звездный датчик. Если не знаете – на всем небе около 1000 звезд ярче 4.5-5 величины и в матрице будет миллион элементов. Хранить такой массив негде, придется вычислять. И на вычисление и отождествление уйдет не одна секунда, даже на процессоре 80286 :).

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

Спутники и прочие помехи легко отсеять или повторным фотографированием или он просто не попадет в радиусную окружность которая просматривается!

Звезда имеет угловой размер намного мельчее чем самый мелкий пиксель, так чтоникаких 1,5-2 пикселя не может быть.

При тысячи звезд в матрице будет всего около 500000 элементов! :D


И плюс я намерено упомянул фильтр который уменьшает кол-во звезд для приема - режет по яркости!

А простой перебор матрицы из 500000 у нормального проца займет доли секунды - тем более там не мат операции, а простые сравнения!


Да что вы все с 20286 сравниваете???
Если нужна большая производительность берем Сore i7,
если энергопотребление то Atom.

Ну не спорю что есть более хитрые алгоритмы!
Типа как решать СЛАУ крамером или гаусом - вполне возможно!
не все йогурты одинаково полезны

m939

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

Если же помехи не далекие спутники, а близкие пылинки, то их может быть просто больше чем звезд - а ориентироваться все равно надо.

ЦитироватьЗвезда имеет угловой размер намного мельчее чем самый мелкий пиксель, так чтоникаких 1,5-2 пикселя не может быть.
Никогда не слышали о "дифракционном размере изображения"?

ЦитироватьПри тысячи звезд в матрице будет всего около 500000 элементов! :D
И плюс я намерено упомянул фильтр который уменьшает кол-во звезд для приема - режет по яркости!
А простой перебор матрицы из 500000 у нормального проца займет доли секунды - тем более там не мат операции, а простые сравнения!
Резать нечего - на небе неск. тысяч ярких звезд - миллион взаимных расстояний. Если не резать - и того, и другого будет намного больше.

А математические операции есть: вычисление расстояния - 2 квадрата и один квадратный корень плюс сортировка списков по расстояниям и только после этого "простые сравнения".

ЦитироватьДа что вы все с 20286 сравниваете???
Если нужна большая производительность берем Сore i7,
если энергопотребление то Atom.
I7 на борту? Почему-то не слышал :). I7 в радиационном поясе - :) :)

avmich

Цитировать
ЦитироватьДа что вы все с 20286 сравниваете???
Если нужна большая производительность берем Сore i7,
если энергопотребление то Atom.
I7 на борту? Почему-то не слышал :). I7 в радиационном поясе - :) :)

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

accounter002

Интересно, многие ли из присутствующих принимали деятельное участие в разработке реальных звездных датчиков?
Смешные такие теории здесь наблюдаются. Отдельные товарищи решили ну просто все проблемы. Чувствительность обеспечить любую могут, поле зрения при этом сузить - тоже не проблема. С погрешностью вообще все прекрасно - доли секунды для них - вопрос уровня детсада (и даже злободневную погрешность по третьей оси они играючи убрали, несмотря на предлагаемое сужение поля зрения). Мощность, габариты - фи. Попутно устраняемая мелочь.
Фантазия - мощный инструмент самоудовлетворения. :-)

И лишь бальзамом на больное сердце - JoJo. ;-)

Monoceros

ЦитироватьЕсли читаете по- английски, попробуйте погуглить на star tracker, star identification algorithm, point spread function, star catalog.
Спасибо, гугл на star identification algorithm выдает вот это: http://iki.cosmos.ru/seminar/virtual/kosik.doc

ЦитироватьIdentification of star patterns was first used in CNES for the Gamma Project. Three algorithms have been developped and tested on star pattern images obtained in Pamir with a star sensor from Poland. One of these algorithms, the polygonal algorithm,  has been described by Gottlieb in (Ref.1) . Two new algorithms, the Pivot algorithm and the Distance-Orientation algorithm have been developed. We will briefly review these three algorithms.
И дальше описание, только какое-то туманное...  :roll:

ЦитироватьЗвезда это точечный источник света = 1пиксель.
Вот фотография на обычную зеркалку без телескопа:
http://www.astronomy.ru/forum/index.php?action=dlattach;topic=9361.0;attach=205965;image
Созвездие узнаете? Кстати, как там ваши фотографии на мабилу?

ЦитироватьФантазия - мощный инструмент самоудовлетворения. :-)
А пофлеймить на форуме еще более мощный инструмент самоудовлетворения  :wink:

mistermuscle

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

Если же помехи не далекие спутники, а близкие пылинки, то их может быть просто больше чем звезд - а ориентироваться все равно надо.

ЦитироватьЗвезда имеет угловой размер намного мельчее чем самый мелкий пиксель, так чтоникаких 1,5-2 пикселя не может быть.
Никогда не слышали о "дифракционном размере изображения"?

ЦитироватьПри тысячи звезд в матрице будет всего около 500000 элементов! :D
И плюс я намерено упомянул фильтр который уменьшает кол-во звезд для приема - режет по яркости!
А простой перебор матрицы из 500000 у нормального проца займет доли секунды - тем более там не мат операции, а простые сравнения!
Резать нечего - на небе неск. тысяч ярких звезд - миллион взаимных расстояний. Если не резать - и того, и другого будет намного больше.

А математические операции есть: вычисление расстояния - 2 квадрата и один квадратный корень плюс сортировка списков по расстояниям и только после этого "простые сравнения".

ЦитироватьДа что вы все с 20286 сравниваете???
Если нужна большая производительность берем Сore i7,
если энергопотребление то Atom.
I7 на борту? Почему-то не слышал :). I7 в радиационном поясе - :) :)

Не ну в радиационный пояс запускать не стоит конечно - ну а так, что ему И7 - будет? :D На текущий момент самый производительный проц!

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

А что там с дифракцией интересно?

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

Monoceros

По-моему, алгоритм должен быть такой: по картинке ищем 2 самые яркие звезды на расстоянии друг от друга не ближе скажем трети размера картинки, FOVa. Перебираем по карте звезд все пары с подобным расстоянием (пар будет порядка количества звезд в карте). По этой привязке проецируем карту на картинку и грубо говоря ищем разницу изображений. Причем, именно разница между звездами в карте и тем что на каринке, не учитывая всякий шум и спутники. Там, где разница будет минимальной - искомые звезды, не трудно получить направление. Для надежности, конечно, лучше камеру продублировать в каком-нибудь другом месте ракеты и сравнивать кватернионы направления...
Если был бы бенчмарк, с удовольствием написал бы прогу на си :) Авмич? ;)

mistermuscle, так фоток на мобилу все-таки не существует?

Monoceros

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

mistermuscle

ЦитироватьИнтересно, многие ли из присутствующих принимали деятельное участие в разработке реальных звездных датчиков?
Смешные такие теории здесь наблюдаются. Отдельные товарищи решили ну просто все проблемы. Чувствительность обеспечить любую могут, поле зрения при этом сузить - тоже не проблема. С погрешностью вообще все прекрасно - доли секунды для них - вопрос уровня детсада (и даже злободневную погрешность по третьей оси они играючи убрали, несмотря на предлагаемое сужение поля зрения). Мощность, габариты - фи. Попутно устраняемая мелочь.
Фантазия - мощный инструмент самоудовлетворения. :-)

И лишь бальзамом на больное сердце - JoJo. ;-)

Знаете что!
Дадут денег - сделаем! И не такое это сложное задание!
Мощность, габариты, вес - это все будет уточнятся при разработке!

И умничать тут не надо - все вопросы разрешаются в штатном порядке!

Не боги горшки обжигают! :D
не все йогурты одинаково полезны