Диссертация (1137163), страница 7
Текст из файла (страница 7)
Пограничные пиксели, у которых часть точек проекцииоказывается внутри окружностей, а часть лежит вне, относятся косвещенным, если освещены три вершины пикселя. Остальнымипограничными пикселями можно пренебречь при достаточно мелкомразбиении поверхности на пиксели. Для определения проекций телаКА необходимо знать его геометрическую форму и размеры. Дляпростоты тень тела КА учитываться не будет.Рассмотримзадачуполучениямаксимальногорезультирующего вращающего момента M от активных пикселей,45отклоняющегосяотнаправляющеговектораSвпределахдопустимого угла . Наилучшее решение получается переборомвсех возможных комбинаций для N пикселей на освещеннойповерхности, количество которых равняется 2 N . Но рассмотрениебольшогоколичествавариантовприбольшихNстановитсяневозможным, и поэтому будет применяться “жадный” алгоритм [11],суть которого заключается в поиске локально оптимального решения.Рассмотрим случай I, когда неактивные пиксели прозрачны.
НаРис. 2-2 показана блок-схема для описанного ниже алгоритма выбораактивности пикселей.Примем идеальный сценарий отражения, и пусть задананекоторая ориентация конструкции в пространстве. В началеалгоритма все пиксели неактивны. Производится цикл по переборувсех освещенных в данный момент времени пикселей, то есть ненаходящихся в тени своего или другого шара (первый цикл на блок–схеме Рис. 2-2). На начальном 1–м шаге цикла освещенный пиксель спервым порядковым номером может создать вращающий момент 1 вслучае перевода в активное состояние.Представим в виде суммы M G M G|| M G , так что векторM G перпендикулярен оси вращения, а вектор M G|| параллелен ей.Если вектор M G|| окажется сонаправленным с вектором S , тонеобходимо компенсировать только компоненту M G , отклоняющуювращение от требуемой оси.
Поэтому если M G 1 M G , топиксель переводится в активное состояние. Активным следует егосделать и в том случае, если векторы M G|| и S направлены впротивоположные стороны, и M G 1 M G . После активации46пикселя в одном из указанных случаев, происходит переход кследующему по номеру пикселю. Вектор гравитационного момента сучетом компенсации формально станет равным M G* M G 1 , иследующий пиксель данного цикла будет проверяться на возможностькомпенсировать вектор M G* по описанным выше критериям.Если же пиксель с моментом 1 не удовлетворяет условиям длякомпенсации M G , и не был активирован, то проверяется следующееусловие.Выберемпараметрприближения 0 1 ,которыйостанется фиксированным для всех пикселей и определит отклонениевращающего момента от оси по окончании цикла.
Пусть угол междувекторами 1 и S равен 1 . Если cos 1 , то рассматриваемыйпиксель активируется. Если пиксель не удовлетворяет и этомуусловию, то он оставляется неактивным и заносится во множествопикселей , которые в дальнейшем будут использованы дляулучшения результирующего момента: достижения отклонения от осив пределах и, возможно, увеличения по модулю. Производитсяпереход к следующему по порядку пикселю.Описанная процедура выполняется для всех следующихпикселей цикла. В результате завершения этой части алгоритмаполучится некоторый момент M 1 M G M 1R , где M 1R – вращающеевоздействие со стороны всех активных пикселей.В блок–схеме на Рис.
2-2 переменные i , M G i , M R iсоответствуют значениям момента от рассматриваемого пикселя,формально измененному гравитационному моменту и моменту отдействия солнечного давления в начале i–го шага цикла. Запись cos i , S означает косинус угла между векторами. Суммарныймомент от рассмотренных ранее пикселей после i–го шага цикла M ,47так же как и переход к следующему номеру пикселя i , на блок–схемеобозначены с использованиемM M G i M R i , i i 1.M Gi M G||i M G iM G||i || SM G i SM R1 0M G||i SM G i i M G ii 1 i NM Gi 1 M Gi iM Ri 1 M Ri ii i 1M M Ri M Gi+iN-M RN 0-+присваиванияM G||i SM Gi i M Gi cos i , S -M Ri 1 M Ri ii i 1 cos M j , S cos-j M Mj j 1M j Mk \ j+j N2k ++"" :-++i i 1i -+ j , 1 j N 2kj 1k k 1N2 k-операции cos M , S cos cos M , S cos M , S(изменениеконструкции дляповышенияэффективности)(изменение R, L, d)-+- maxj j 1M+Переход кследующемупо порядкуиз набора +cos M , S cos( )Управляющиймомент сзаданнымтребованиемна точностьполученРисунок 2-2.
Блок-схема алгоритма определения активности пикселей длясоздания приближения к максимальному вращающему моменту вокруг заданнойоси в пределах заданной точности отклоненияЗатем начинается новый цикл по всем освещенным пикселямиз множества с целью улучшения результирующего момента.Пусть первоначальное количество элементов в равнялось N 2 . Накаждом шаге цикла рассматривается вектор момента, который можетсоздать данный пиксель из множества , и суммарный вращающиймомент, полученный суммированием уже активированных пикселей игравитационного момента.
Если на данном этапе еще не удалось48добиться того, чтобы суммарный момент лежал в пределах , имомент от рассматриваемого пикселя уменьшит это отклонение, то онактивируется. Так же он активируется, если суммарное отклонение впределах уже было достигнуто, но при добавлении момента отрассматриваемого пикселя оно останется меньше , и увеличитсямодуль суммарного момента.Активированный пиксель из множества исключается.
Если измножества за все время цикла был исключен хотя бы один элемент,то начинается новый цикл по всем элементам, оставшимся вомножестве. Если цикл завершен, и за время его выполнения не былисключен ни один элемент, то новый цикл не проводится. Этоозначает, что улучшить результат не удалось ни одним пикселем измножества.На блок–схеме на Рис. 2-2 под k понимается множество векторов– вращающих моментов от пикселей, которые еще не былиисключены из в текущий момент работы k–го цикла поулучшению.
Символом обозначается количество элементов–векторов в этом множестве. Соответственно, если k–й цикл завершен,множество непустое, и количество элементов в нем сократилосьпосле выполнения цикла, то перед началом следующего цикла нужнознать оставшееся количество элементов. Для этого и выполняетсяприсваивание N2 , отображенное на блок–схеме. В началенового k+1–го цикла так же имеет место k 1 . По ходу k+1–гоцикла k 1 отслеживает сравнением с возможное исключение изпоследнего элементов.Отметим, что если в начале цикла по улучшению множество содержало K элементов, то в самом худшем случае за все время этапа49по улучшению придется провести K ! наборов вычислений дляопределения способности пикселей улучшить результат.За счет работы цикла по улучшению, из пикселей множества будет сформирована дополнительная составляющая момента M R2 .Вращающий момент от всех активных пикселей примет видM R M 1R M R2 , а общий момент, действующий на аппарат, будетравен M M R M G .При изначальном выборе в большую сторону в этопредварительное множество активных пикселей будет попадать всеменьше элементов.
Соответственно, во множестве их окажетсябольше. Поэтому одной стороны, увеличение в сторону единицыпозволит уменьшить отклонение результирующего момента оттребуемой оси вращения. С другой стороны, увеличение количестваэлементовможетвызватьзначительноеувеличениевычислительных операций.После завершения алгоритма проводится проверка, удалось лидобиться такого результирующего вектора M , чтобы он отклонялсяот вектора S в пределах угла . Если отклонение превосходит ,то создать вращающий момент с заданными требованиями иконструкционными параметрами паруса по предложенному алгоритмунельзя и они должны быть скорректированы.2.7Алгоритм построения приближения к целевому моментуДля управления требуется строить не только максимальновозможный вращающий момент вдоль заданного направления, но иполучать хорошее приближение к целевому управлению заданнойвеличины.
Построим второй алгоритм формирования из пикселейприближения M к целевому вектору u . Для начала проведем50M G M G|| M G , теперь раскладывая M G насоставляющие по направлению u и перпендикулярно этому вектору.Проводится цикл по всем освещенным пикселям. При M G|| uкомпенсациюпиксель с моментом i становится активным, если M G i M G .При M G|| u пиксель i активируется, если M G i M G иM G|| i M G|| . После завершения цикла, если был включен хотя быодин пиксель, вновь проводится цикл по оставшимся пикселям.Результатом работы этой части алгоритма становится компенсация снекоторой точностью M G при M G|| u , или частичная компенсациянормальной составляющей M G .