Диссертация (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  .















