Реализация алгоритмов навигации и управления в бортовых вычислительных комплексах летательных аппаратов

ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ №2(29), 2016, с. 35-59

УДК 681.518

М. В. Хачумов

Реализация алгоритмов навигации и управления в бортовых вычислительных комплексах летательных аппаратов

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

Ключевые слова и фразы: летательный аппарат, бортовой вычислитель, управление, навигация, CORDIC, искусственная нейронная сеть, целочисленный алгоритм.

Введение

Развитие средств обработки потоков данных, поступающих от датчиков роботизированных систем, напрямую связано с разработкой новых методов, алгоритмов и программных средств, объединяемых в единый комплекс для решения траекторных задач на современных вычислительных платформах. Типовой бортовой комплекс содержит навигационные системы, устройства сопряжения и индикации, системы анализа и обработки информации, вычислитель действительных координат траектории летательного аппарата.

Работа выполнена при финансовой поддержке проекта РФФИ №16-07-00096_а.

© М. В. ХАЧУМОВ, 2016

© Институт системного анализа РАН, 2016 © Программные системы: теория и приложения, 2016

При построении систем управления большое значение придается возможности гибкого выбора между скоростью и точностью решения задач. Такую возможность, в частности, предоставляют итерационные методы приближенного вычисления, среди которых выделяются целочисленные алгоритмы машинной графики и алгоритмы семейства ОСИЛЮ, в которых установлена четкая связь между быстродействием (числом итераций) и точностью вычислений. С точки зрения разработчика указанные алгоритмы обеспечивают компромисс между точностью и быстродействием и могут быть реализованы как на ПЛИС (РРСА), так в современных микропроцессорах. В задачах управления звеньями манипуляторов, бортовыми поворотными видеокамерами, движением летательных аппаратов возникает необходимость расчета положения и ориентации объектов в дискретные моменты времени. При отработке траекторных движений передаваемые команды управления содержат параметры указанного маневра, данные о моменте начала маневра и его окончании. Объекты совершают сложное пространственное движение, которое рассматривается как комбинация поступательного и вращательного движений некоторой точки или совокупности точек. Другой слой вычислений связан с управлением бортовыми камерами и обработкой целевой информации, включая решение задач фильтрации и распознавания. Алгоритмы обработки целевой информации в силу своей сложности реализуются, как правило, на наземных станциях управления. Развитие вычислительной базы и требование автономности ставят задачу перенесения соответствующего математического и программного обеспечения на борт. Таким образом, возникает необходимость систематизации и оптимизации алгоритмов обработки информации на борту ЛА. Из-за ограничений на производительность бортовых вычислительных комплексов (БВК) требуется вычисление математических функций и выполнение аффинных преобразований достаточно простыми средствами.

Один из возможных подходов к решению задачи расчета движений связан с использованием итерационных алгоритмов семейства ССИОЮ [1], позволяющих выполнять быстрые аффинные преобразования с регулируемой точностью. Недостатком подхода являются деформации, имеющие место при работе с векторами, что требует их компенсации. В настоящей работе, наряду с алгоритмами семейства ОСИЛЮ, рассматривается альтернативный подход реализации алгоритмов генераций линий и поворота, связанный с использованием целочисленной арифметики. Среди множества алгоритмов, способных решить эту задачу, выделяются алгоритмы Брассини [2], которые

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

Анализ достижений в области бортовых вычислений свидетельствует о том, что, несмотря на наличие выполненных исследований в области построения математического обеспечения БВК [3], задача высокопроизводительной обработки с оптимизацией по критериям точности и времени при ограничениях на вычислительные ресурсы применительно к автономным ЛА до конца не решена. Главными недостатками систем бортовых измерений являются:

• малая точность измерения параметров пространственного положения ЛА в глобальной координатной сетке в различных системах отсчета координат,

• большие временные затраты при расчете параметров в процессе проводки ЛА по заданному маршруту,

• сложность автономного решения задач в условиях отсутствия полной информации для обеспечения полетов,

• отсутствие вычислительных ресурсов достаточных для решения задач обработки целевой информации в реальном времени.

Целью настоящей работы является обобщение опыта в области разработки алгоритмического обеспечения автономных аппаратов и исследование новых методов и инструментальных программных средств, оптимизирующих решение комплекса задач навигации и управления на борту в условиях ограничений на вычислительные ресурсы.

1. Анализ особенностей комплексов бортовых траекторных измерений

Типовой измерительно-управляющий комплекс [4] предполагает измерение дальности, азимута, угла места, высоты, скорости для определения координат центра масс (х,у,г), составляющих скорости ,гох) и других параметров ЛА. Известны оптические, радиотехнические, фотограмметрические методы для определения траектории полета и пространственной ориентации ЛА. Среди этого многообразия набольший интерес представляют фотограмметрические методы [5,6]. Эти методы являются автономными и применяются для определения пилотажно-навигационных параметров, в основном при выполнении траекторных движений. Метод базируется на получении на борту ЛА фотоснимков с помощью измерительной фотограмметрической аппаратуры со специальной наземной или бортовой обработкой для определения параметров пространственного положения. Основными

недостатками фотограмметрических методов являются зависимость результатов от погодных условий и трудоемкость обработки целевой информации. Проблема решения задач на борту автономного аппарата может быть решена путем оптимизации комплекса алгоритмов траекторных измерений, обеспечивающего в реальном времени вычисление координат ЛА с точностью, достаточной для решения задач без использования наземных измерений.

С учетом миссий малых аппаратов возрастает роль высокопроизводительной обработки данных на борту и выработки управления в реальном времени [7]. Большая роль здесь отводится видеокамере как источнику важнейшей графической информации, которая помогает в решении задач навигации, траекторного движения и управления, но требует применения достаточно трудоемких вычислений [8]. В комплекс задач, решаемых на борту с применением видеокамеры, входят мониторинг, выделение, распознавание и слежение за целевыми объектами, определение местоположения и ориентации летательных аппаратов, высокоточное наведение и мониторинг объектов.

Реализовать весь объем алгоритмов в реальном масштабе времени с высокой точностью затруднительно из-за ограниченных ресурсов БВК, поэтому возникает необходимость постановки оптимизационной задачи по критериям времени и точности. В ряде случаев производят распределение функций между землей и бортом, однако это решение препятствует построению автономных аппаратов и требует надежных систем связи, что не всегда возможно. Вопросы оптимизированной обработки информации непосредственно на борту рассматривались как отечественными, так и зарубежными учеными. Так, в работе [9] выполнено исследование методов повышения точности определения координат и углов ориентации летательного аппарата и распознавания при минимизации массогабаритных характеристик, времени вычислений и сохранении точности позиционирования, предъявляемой к объектам управления. В работе [10] решалась задача распознавания и оптимального управления бортовыми камерами при наблюдении за человеком. Проблема автономности продолжает оставаться в центре внимания разработчиков малых аппаратов. Обширная информация по современному состоянию и анализу перспектив развития интегрированных бортовых вычислительных систем, применяемых в авиационном приборостроении, дана в работе [3]. Таким образом, возникает необходимость пересмотра и оптимизации математического, алгоритмического и программного обеспечения бортовых вычислителей

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

Принципиально новым направлением исследований является разработка методов, алгоритмов и программных средств, реализующих комплекс алгоритмов навигации, траекторного движения, и целевых задач управления на основе специальных методов обработки информации, позволяющих проводить оптимизацию вычислений по критериям производительности и точности применительно к современным многоядерным процессорам (CPU), графическим ускорителям (GPU) и ПЛИС (FPGA).

2. Анализ математического обеспечения для реализации в БВК

Рассмотрим ряд наиболее характерных алгоритмов измерения и преобразования, возлагаемых на бортовые вычислители летательных аппаратов.

2.1. Комплекс бортовых траекторных измерений

(1) Определение действительных значений траекторных параметров по информации от датчиков и систем. Значения широты , долготы А^ и высоты Н^ определяются с помощью следующих соотношений:

^<1 = + - ¿с)/г„,

= Ас + г>е(£ - Ьс)/ге сов(ус), Нй = нс + ъп(г - ¿с),

где ус, Ас, Нс — координаты ЛА, выдаваемые спутниковой навигационной системой (СНС) в момент времени ¿с; ъп, гие — составляющие вектора скорости, взятые из выходных параметров инерциальной навигационной системы; гп, ге — радиусы кривизны земного эллипсоида; Ь — текущее время. Значения остальных выходных параметров полагаются равными соответствующим значениям параметров, полученных от СНС.

(2) Преобразование геодезических координат (р, I, К), где @ — широта, I — долгота, К — высота для ЛА, в декартовые координаты

(х,у,г):

х = (а£ + К) сов(,0) соб(/), у = (а£ + К) сов(^) Бт(/), * = «(1 - е2) + К)вт(£),

где £ - разность между астрономической и геодезической широтой вычисляется по формуле £ = , а , где а — большая

у 1-е2 вт2

полуось эллипсоида Земли; е — эксцентриситет эллипса. (3) Вычисление (£, г/) — координаты ЛА в геоцентрической системе координат:

£ = (п + К) соб(/) соб(^), С = (п + К) б1п(/) соб(^), ^ = (п(1 - е2) + К)в1п(^),

где п = , а , а — большая полуось эллипсоида; е — экс-

д/ 1-е2 б1П2

центриситет эллипсоида. (4) Определение составляющих скорости ЛА:

= vп соб(/) соб^) — соб(/) бш^) — б1п(/), ^с = бт(/) сов(^) — уп б1п(/) бш^) + соб(/), ^ = бш^) + соб(^).

Проекции векторов в декартовой системе координат OXYZ определяются по формулам:

'х\ /ДА /ьх\ \

у I = А I дс I К I = А ис

где А = || — матрица направляющих косинусов осей одного

трехгранника относительно другого. Элементы матрицы А: ai 1 = — sin(^o) cos(/o) cos(ao) — sin(/o) sin(ao), ai2 = — sin(^o) sin(/o) cos(ao) + cos(Zo) sin(ao), aiз = cos(^o) cos(ao), a21 = cos(^o) cos(Zo),

Я22 = cos(^o) sin(ao), a,23 = sin(^o), a31 = sin(^o) cos(Zo) sin(ao) — sin(Zo) cos(ao), a32 = sin(^o) sin(Zo) sin(ao) + cos(Zo) cos(ao), азз = — cos(^o) sin(ao).

(5) Вычисление декартовых координат (находятся прямоугольные топоцентрические координаты ЛА):

х = 6£( — sin(Zo) sin(ao) — sin(^o) cos(Zo) cos(ao))+ (cos(Zo) sin(ao) — sin(^o) sin(Zo) cos(ao)) + 5'q cos(^o) cos(ao), у = 6£ cos(^o) cos(Zo) + SC cos(^o) sin(Zo) + S-q sin(^o), z = 6£( — sin(Zo) cos(ao) + sin(^o) cos(Zo) sin(ao))+ (cos(Zo) cos(ao) + sin(^o) sin(Zo) sin(ao)) + 5'qcos(^o) sin(ao).

(6) Определение скоростей полета ЛА. Вычисление земной скорости ЛА Vk = \JV1 + + v2, путевой скорости vp = \Jv2 + v^, угла

наклона траектории в = arctg —, путевого угла фп = —arctg —. Истинная воздушная скорость v определяется по формуле: 1

у« + < )2 + («2! — < )2,

2сов

где Д^ — неточность выдерживания курса на встречных проходах, (уХ1 ,уХ2 ,уг2) — проекции путевой скорости на координатные оси.

(7) Выполнение линейной экстраполяции:

Ьг(Ц = Ър(з) + --{Ь - tp),

где з = 1,... ,п, п — количество параметров во входном потоке; Ъг(з) — текущее значение ]-го параметра; Ьр(^) — предыдущее значение ]-го параметра; Ь — текущее время, соответствующее 3-му параметру; — значение времени в предыдущий момент; Ь1 — значение времени, в которое должно произойти совмещение информации; Ъг(Ь) — значение переменной на момент расчета.

Перечисленная группа вычислений не является полной, но она содержит все необходимые виды вычислений, связанных с измерениями. Помимо этой группы, существует группа, связанная с выполнением аффинных преобразований.

2.2. Комплекс аффинных преобразований для ЛА и поворотной камеры

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

V* = со^)соБ(^г) — шу ^

фу = шх ) + шу соб(^2 ),

¿г = со8(уи) (з1п(^ )[^У ^п(сРг ) — Шх сов(^ )] + Шг с°в((ру )).

Система уравнений позволяет вычислять угловые скорости для последовательности поворотов объекта на углы рх, (ру, при известных оценках текущих значений шх, шу, по информации специального измерителя. Вычисления на основе операций поворота целесообразно вести в следующей последовательности:

X = шх соБ^) — Шу БШ^), фу = шх Б\п(<рг) + Шу сов(^х),

я = —х 8т(^) + соа(^у), фх = -у-т, Фг = -у—Т.

сов

Представляет практический интерес задача нацеливания видеокамеры, которая ставится следующим образом: по известным начальному направлению камеры («1,,01) и координатам искомого объекта определить параметры управления камерой в виде двух углов поворота а, р, необходимых для перевода вектора наблюдения из начальной точки в конечную. Решение задачи содержится в работе [11].

Рассмотрим алгоритм управления ориентацией объекта. Пусть движение реализуется в следующей последовательности: поворот вокруг оси OZ на угол а, поворот вокруг оси ОУ на угол /3, поворот вокруг оси ОХ на угол 7; перенос на величины \х1,у%, После умножения исходного вектора положения объекта [х у г 1], представленного в однородных координатах, на обобщенную матрицу преобразования получаем результирующий вектор [Хд Уд 1].

С учетом выбранного порядка действий имеем следующую группу преобразований поворота:

Z1 = у 8ш(7) + 2 СОБ(7), У1 = у СОв(7) — 2 8ш(7), Х1 = Z1 8т(,0) + X СОБ(^), Z2 = Z1 сов(^) — х 8т(,0), У2 = Х1 Б1п(а) + У1 соБ(а), Х2 = сов(а) — У1 вт(а).

Заключительная группа операций обобщенного геометрического преобразования связана со смещением объекта и имеет вид:

Хг = Х2вх + хг, = У2Бу + Уг, = г2Бх + ги

причем Бх = = = 1.

Из рассмотренных задач видно, что операции поворота и смещения являются ключевыми в расчетах траекторного движения. Обобщенное преобразование применяется многократно и позволяет выполнять манипуляции над объектами. Повороты и смещения, как правило, осуществляются на малые величины, что обеспечивает необходимую плавность перемещения. Скорость выполнения подобных операций, связанных с вычислением тригонометрических функций в реальном времени, для решения задач определения местоположения и ориентации должна соответствовать требованиям реального времени.

2.3. Комплекс аффинных преобразований для ЛА и поворотной камеры

Решение задач распознавания непосредственно на борту вызывает существенные затруднения и возможно при определенных допущениях, одно из которых связано, например, с наличием настроенной на распознавание нейронной сетью [12]. Информация о ситуации или объекте хранится в виде набора признаков. В качестве классификатора выбрана многослойная искусственная нейронная сеть (ИНС) прямого распространения. Задачу классификации сформулируем следующим образом.

Пусть дано множество {^1,... ,шт}, каждый элемент которого описывает объект или ситуацию и представлен информационным вектором Шг = (хц,... ,ХгП), г = 1, т признаков х^, ] = 1,п, где п — количество признаков. Вектора отнесены экспертами к классам

Рис. 1. Архитектура ИНС для задачи классификации

01, О2,..., следующим образом:

О ={^1 ,...,шт1},

02 = {^т1 +1, . . . , ^т1+т2 },

°к = {штк-1, . . . ,

при этом Ш1 + Ш2 + • • • + т^ = т.

Требуется построить распознающую функцию Р(ш), выход которой определяет класс произвольного вектора признаков ш.

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

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

ИНС должна быть настроена таким образом, чтобы при подаче информационного вектора щ, отнесенного экспертами к классу 0^,

на выходе с номером i сеть выдавала значение «1», а на всех остальных выходах — «0». Сеть обычно долго настраивается, но после обучения она работает достаточно быстро. При ее использовании в прямом направлении основная задача вычислительной системы заключается в расчете сигмоидальных функций активации а(х) = i+eLox скрытого слоя.

3. Методы и подходы к решению задачи построения нового комплекса

Предлагается комплекс методов и подходов, предназначенных для решения задач навигации и управления, для реализации непосредственно на борту автономного летательного аппарата. Комплекс ориентирован на вычисление математических функций, лежащих в основе решения навигационных и траекторных задач, а также анализа изображений для выявления целевых объектов и выработки интеллектуального управления подвижными объектами (видеокамерами, летательными аппаратами).

3.1. Применение итерационных алгоритмов семейства CORDIC

Итерационные алгоритмы семейства CORDIC (Cordinate Rotation Digital Computer) служат для выполнения группы операций (поворот, множительно-делительная, вектор, вычисление тригонометрических функций), используя только операции алгебраического сложения и сдвига. Наибольший вклад в реализацию этих алгоритмов был внесен в ряде работ: вычисление тригонометрических функций [1], решение траекторных задач в микропроцессорных системах [13], построение специализированных процессоров и математического обеспечения процессоров DSP [14]. Комплекс алгоритмов CORDIC позволяет вычислять с наперед заданной точностью тригонометрические функции и осуществлять преобразование координат. Кроме того, алгоритмы хорошо адаптируются под аппаратные вычислительные платформы. Недостаток алгоритма: линейная деформация (удлинение) вектора,

п _

причем к = П \/(1 + 2-2г). Величина коэффициента, являющегося

i=o

атрибутом алгоритмов, зависит от числа итераций, и к « 1.65 при п ^ 10. Набор необходимых алгоритмов CORDIC показан в таблице 1[15].

Таблица 1. Алгоритмы СОКВЮ для реализации измерений и управления в БВК

Тип операции

Вид операции

множительно-делительная

вектор

поворот

Начальные условия

Результат

Уг+1 = Уг + £гС2 г Х-1+1 — Хг £гВ2

— Sign

Уг+1 = Уг - £%х/2-г хг+1 Хг +

<Рг+1 = + £гагС^

— Sign

Уг+1 = Уг - £%Хг2-% ^г+1 — %г + ^г^г2

<Рг+1 — ¥г + £гагС^

— sign

¥г+1 — + £»агС^(2г) Уг+1 = Уг - £гх/2-г ^г+1 — %г + ^гУг2

кег — sign

У0 — 0, ж„ — 0,

жо — А у„ — (А/В)С

Уо = У,

£о — 1, Х„ — ^ж2 + у2,

хо = x, <р„ — -аг^

фо — 0

Уо = 0,

£о — 1, у„ — вт(у),

хо = 1/к, ж„ — сов

¥о = V

Уо = У,

хо — ж, У„ = ку', ж„ = кх',

где у',х' — новые

фо = ^

координаты

£о — ±1

Х

Тип операции

квадратный корень

экспонента

Вид операции

Начальные условия

логарифмическая

Уг+1 = Уг - £гХг2 *

^г+1 — %г + ^гУг2 Уг+1 = фг + £гУг2-г к£г = sigп

<Рг+1 = Уг + £гУг2-г

£г = Sigп(yi) Хг+1 — Xг + ^г^г2

Уг+1 = Уг - ^гХг2— ^г+1 — ^г + &гУг2

£г+1 = вт

У1 = 1 - ж,

£0 Ж1

1,

Результат

У1 = х VI =

Ж1 = 1

хо = (ж), уо = 1 - (х), ¥о = 0,

£0 = 1

Уп = V ж

1„ = exp

1,

Уп = 0,

У„ = - а

о

XI щ

с с

Ограниченное число величин arctg (2—) вычисляется заранее и хранится в памяти. Анализ перечисленных формул из набора измерений и аффинных преобразований показывает, что все они могут быть реализованы с привлечением алгоритмов семейства CORDIC, которое рекомендуется включить в виде библиотеки математического обеспечения БВК. Достоинство подобной реализации — связь точности с числом итераций, на каждой из которых добавляется одна верная цифра результата. Регулируемая точность вычислений, связанная с числом выполняемых итераций, позволяет выбирать стратегию в зависимости от ресурса времени.

Подход к построению «быстрого» нейрона, основанный на раз-рядно-параллельном представлении функции активации типа «сиг-моид» на основе алгоритмов CORDIC, приведен в работе [16]. Данный принцип обобщается на случай других типовых активацион-ных функций, например, на сигмоидальную рациональную функцию f (s) = s/(a + И).

3.2. Применение целочисленных алгоритмов машинной графики

Ставится задача быстрого расчета и отработки движений в бортовых ЭВМ на основе целочисленных алгоритмов. Целочисленные алгоритмы — это группа алгоритмов (алгоритмы Брезенхема, Брас-сини [2], цифрового дифференциального анализатора ЦДА и др.), которые используют только целочисленные операции алгебраического сложения и сдвига. На их основе, в частности, реализованы: аппаратная реализации вращения [17], реализации быстрых алгоритмов кодирования [18], рациональная реализация операции поворота [19], преобразование системы координат [20].

В работе [21] описаны целочисленные алгоритмы отработки прямолинейных движений и поворотов. Эта группа операций составляет основу обобщенного геометрического преобразования, связанного с управлением траекторным движением. За основу взят базовый алгоритм Брассини, который использует только целые числа и операции над ними. Рассмотрим алгоритм, реализующий прямолинейное движение с использованием только целочисленных операндов.

В соответствии с предложением работы [2], точка с целыми координатами (X, Y) принадлежит прямой линии, выходящей из начала координат с коэффициентом наклона К = (ДУ/ДХ), если выполняется условие \Y — (ДУ/ДХ • X)| ^ е, где |е| ^ 1/2. Используя только

целочисленные переменные X, У, АХ, АУ, получим следующее условие принадлежности точки искомой линии:

-АХ < 2АУ • X - 2АХ • У < АХ.

Тогда для возрастающей последовательности значений X, отличающихся на единицу, соответствующие значения У можно найти на основе проверки выполнения приведенного соотношения.

Применительно к задаче управления алгоритм может быть использован для расчета трассы движения объекта под любым заданным углом в реальном масштабе времени.

Без потери общности будем рассматривать задачу плоского поворота. Исходный объект представляется в общем случае в виде матрицы элементов — системы физических точек, причем в простейшем случае имеем единственную точку (X, У).

Требуется выполнить поворот системы точек на заданный угол. Предлагаемый алгоритм поворота основан на использовании модели Брассини. Новые координаты (X',У') точки (Х,У) определяются следующим образом:

X' = (М/Ь)Х + (М/Ь)У, У' = -(М/Ь)Х + (М/Ь)У.

При выполнении преобразования поворота, в общем случае, угол поворота а задается тройкой (М, М, Ь) целых чисел, причем Ь2 = М2 + N2, М/Ь = еов(а), М/Ь = вт(а). Таблица синусов и косинусов в виде отношений целых чисел вычисляется заранее и хранится в памяти системы управления поворотом.

Для последовательности значений координат X и У соответствующие значения X' и У' можно найти на основе проверки выполнения соотношения:

|2ЬХ' - 2МХ - 2КУ | < Ь, 12ЬУ' + 2МХ - 2МУ | < Ь.

Время выполнения алгоритма поворота оценивается как О(к), где к — число точек объекта. Соответствующий целочисленный алгоритм поворота вектора приведен на рис. 2. Здесь к — количество выводимых точек.

Автором написана программа, реализующая целочисленный алгоритм выполнения геометрических преобразований над матрицей точек на плоскости, и проведена серия экспериментов. Программа

*

С2:=С2+21

Х:=Х+1, У:=У+1 С3:= С3-2М-2И С4:= С4+21Ч-2М С1:=СЗ, С2:=С4

конец,

Рис. 2. Целочисленный алгоритм поворота вектора

Да

использует только операции алгебраического сложения, сдвига и сравнения целых чисел, что снижает требования к аппаратным средствам и может дать ускорение при микропрограммной реализации в бортовой ЭВМ. Описанный метод решения задач плоского прямолинейного движения и поворота может быть расширен для выполнения пространственных преобразований над трехмерными объектами.

Рис. 3. Блок-схема ядра вычислителя

4. Выбор способов эффективной реализации траекторных задач в БВК

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

В работе [22] приведена схема вычислителя, основанного на применении ОСИЛЮ 1Р-ядра, которое настраивается и поддерживает несколько функций, в том числе «поворот», вычисление соб(ж), аг^ап(ж) и другие. В устройстве поддерживается параллельный режим, в котором выходные данные обрабатываются в одном цикле тактовой частоты, и последовательный, в котором выходные данные вычисляются за несколько тактов. 1Р-ядро поддерживает переменную точность и нескольких вариантов алгоритмов округления. Структурная схема устройства представлена на рис. 3.

В работе [23] исследованы вопросы конвейерной обработки данных (как особой формы параллелизма). Предложены методы оптимизации совмещения циклов при заданном составе исполнительных блоков и оптимизации структуры вычислителя. Метод хорошо ложится на реализацию периодических расписаний работы вычислителей.

Подобная схема обслуживания имеет место при обработке потоков данных от датчиков и СТЗ. С учетом итерационных алгоритмов

Рис. 4. Конвейерная архитектура реализации алгоритма

СОИЛЮ конвейерная структура устройства для поворота вектора принимает вид, как показано на рис. 4 [24].

Здесь число звеньев полного конвейера соответствует числу итераций. Для оптимизации вычислений и аппаратурных затрат при многократном воспроизводстве математической функции предусмотрена процедура определения оптимального числа звеньев и создания последовательно-параллельных (конвейерных) структур. Результаты исследования этого направления отражены в работах [23-26].

Для организации высокопроизводительных вычислений на борту БПЛА для интеллектуального анализа навигационных данных и выработки управлений на базе вычислительных алгоритмов СОИБ1С предлагается отечественная платформа «Мультикор», разработанная ОАО НПЦ «Элвис» [27]. Одним из достоинств платформы «Мультикор» является возможность использования в ней СОИБЮ арифметики, характеризующейся отсутствием «длинных» операций при вычислении элементарных функций. Общие рекомендации по обработке информации на платформе «Мультикор» даны в работе [28].

Заключение

В настоящей работе исследован комплекс математических функций и преобразований, который необходимо реализовать в БВК малого летательного аппарата для измерений и управления. Исследуемый

комплекс позволяет получить навигационные характеристики (ори-ентационные, высотно-скоростные характеристики). Решение траек-торных задач требует расчета положения и ориентации подвижного объекта. Показано, что применение базовых итерационных алгоритмов CORDIC позволяет создавать широкий спектр алгоритмов (в том числе целочисленных) с регулируемой точностью и быстродействием. Рассмотрен алгоритм быстрого преобразования поворота на основе предложений Брассини для генерации линий. Алгоритм использует для своей реализации только целые числа и операции над ними, не опирается на прямое вычисление тригонометрических функций, что обеспечивает целесообразность его применения в системах управления в автономных подвижных системах при ограничениях на вычислительные ресурсы.

Предполагается, что указанные алгоритмы обеспечат определение углов ориентации и параметров движения беспилотного летательного аппарата и наведения бортовой видеокамеры на заданную цель в реальном времени. Алгоритмы CORDIC и Брассини целесообразно встраивать в виде вычислительных ядер в платформу «Мультикор», распределяя нагрузку между центральным (CPU) и сигнальным (DSP) процессорами.

Список литературы

[1] В. Д. Байков, В. Б. Смолов. Специализированные процессоры. Итерационные алгоритмы и структуры, Радио и связь, М., 1985, 288 с. t 36,45

[2] C. Braccini, F. Cocurullo, F. Lavagetto. «A Fast Algorithm for High Quality Vector Quantization Codebook Design», Proceedings of the 8th International Conference on Image Analysis and Processing, Springer-Verlag, London, UK, 1995, с. 643-648. t 36,48

[3] П. П. Парамонов, И. О. Жаринов. «Интегрированные бортовые вычислительные системы: обзор современного состояния и анализ перспектив развития в авиационном приборостроении», Научно-технический вестник информационных технологий, механики и оптики, 2013, №2(82), с. 1-17. t 37,38

[4] Н. Б. Вавилова, Ю. И. Калинин, В. Т. Климов и др.. Комплекс бортовых т'раекторных измерений (дата обращения: 01.03.2016), URL: http://www.findpatent.ru/patent/211/2116666.htmlt 37

[5] Е. П. Новодворский, Е. Г. Харин. Методология испытаний пилотажно-навигационных систем самолетов и вертолетов, Машиностроение, М., 1984, 80 с. t 37

[6] А. М. Аникин, А. М. Белкин, А. В. Литин. Воздушная навигация и аэронавигационное обеспечение полетов, Транспорт, М., 1992, 155 с. t37

[7] R. Austin. Unmanned aircraft systems UAVs design, development and deployment, A John Wiley and Sons, Ltd., 2010, 332 с. t 38

[8] Н. В. Степанова. Решение целевых и навигационных задач на борту малоразмерного беспилотного летательного аппарата на основе обработки изображения подстилающей поверхности, Дисс. .. . кандидата технических наук: 05.13.01, М., 2007, 122 с. t 38

[9] В. Л. Легостаев. Методы, алгоритмы и структура программно-технического комплекса бесплатформенной инерциальной навигационной системы, Дисс. ... кандидата технических наук: 05.13.05, Московский государственный институт электроники и математики, М., 2011, 132 с. t 38

[10] H. Lim, N. S. Sudipta. «Monocular Localization of a moving person onboard a Quadrotor MAV», IEEE International Conference on Robotics and Automation (Institute of Electrical and Electronics Engineers, 27 May 2015), 8 с. t 38

[11] Н. С. Абрамов, В. А. Ромакин. «Методы управления поворотной видеокамерой», Известия Южного федерального университета. Технические науки, 2013, №7(144), с. 173-179. t 42

[12] М. В. Хачумов. «Задача автоматического управления летательным аппаратом в процессе преследования цели», Программные системы: теория и приложения, 5:5 (2014), с. 67-77, URL: http: //psta.psiras.ru/read/psta2014_5_67-77.pdf t 43

[13] В. Д. Байков, С. Н. Вашкевич. Решение траекторных задач в микропроцессорных системах ЧПУ, Машиностроение, Л., 1986, 106 с. t 45

[14] А. В. Захаров. «Обзор поддержки плавающей точки в формате расширенной точности на платформе «Мультикор»», Труды XLII всероссийской конференции по проблемам математики,, информатики, физики и химии, Издательство РУДН, М., 2006, с. 46-66. t 45

[15] А. В. Захаров, В. М. Хачумов. «Алгоритмы CORDIC. Современное состояние и перспективы», Труды международной конференции "Программные системы: теория и приложения". Т. 1 (г. Переславль-Залесский, 2004), Физматлит, М., с. 353-370. t 45

[16] A. V. Zakharov, V. M. Khachumov. «Bit-parallel Representation of Activation Functions for Fast Neural Networks», Proceedings of the 7-th International Conference on Pattern Recognition and Image Analysis. Т. 2, PRIA-7-2004, St PEU, St. Petersburg, 2014, с. 568-571. t 48

[17] T. C. James, N. J. Jackson. Method and apparatus for rotating and scaling images, United States Patent № 5,568,600, Oct. 22, 1996. t 48

[18] K. Somasundaram, S. Vimala. «Fast Encoding Algorithm for Vector Quantization», International Journal of Engineering Science and Technology, 2:9 (2010), с. 4876-4879. t 48

[19] D. Eberly. Integer-Based Rotations of Images, Geometric Tools, LLC, 2008 (дата обращения: 01.03.2016), URL: http://www.geometrictools.com/ Documentation/IntegerBasedRotation.pdf t

[20] D. Eberly. Converting Between Coordinate Systems, Geometric Tools, LLC, 2014 (дата обращения: 01.03.2016), URL: http://www.geometrictools. com/Documentation/ConvertingBetweenCoordinateSystems.pdf t 48

[21] М. В. Хачумов. «Алгоритмы целочисленной арифметики в задачах расчета траекторного движения», Беспилотные транспортные средства элементами искусственного интеллекта, Сборник научных трудов II Всероссийского научно-практического семинара БТС-ИИ-2015 (Санкт-Петербург, 8-9 октября, 2015), с. 130-135. t 48

[22] CORDIC IP Core User's Guide, Lattice Semiconductor Corp., August, 2012, 37 с. t 51

[23] И. Л. Толмачев, М. В. Хачумов. «Модели и задачи построения промышленных и медицинских технологических процессов», Приборы и системы, управление, контроль, диагностика, 2013, №12, с. 38-43.t51,52

[24] R. Andraka. A survey of CORDIC algorithms for FPGA based computers, 2003 (дата обращения: 01.03.2016), URL: http: //www.andraka.com/files/crdcsrvy.pdf t

[25] В. М. Хачумов, Основные принципы моделирования сложных систем и процессов, Учебное пособие, РУДН, М., 2013, 141 с. t 52

[26] В. А. Токарев, А. В. Хлуденев. CORDIC-алгоритм. Оценка эффективности алгоритмов цифровой обработки сигналов при конвейерной реализации, Электронное периодическое издание для студентов и аспирантов (дата обращения: 01.03.2016), URL: http://journal.mrsu.ru/wp-content/uploads/2015/10/statya-tokarev-orenburg- .pdf t 52

[27] «МУЛЬТИКОР» — технология проектирования «СнК» (дата обращения: 01.03.2016), URL: http://multicore.ru/index.php?id=21f52

[28] В. В. Костров, А. В. Ракитин, А. А. Сидоров. Общие рекомендации к построению и выбору алгоритмов цифровой обработки сигналов для их реализации на процессорах семейства «Мультикор» (дата обращения: 01.03.2016), URL: http://www.mivlgu.ru/conf/zvorykin2011/works/ pdf/section12.pdf t 52

Рекомендовал к публикации д.ф.-м.н. В. М. Хачумов

Об авторе:

Михаил Вячеславович Хачумов

Кандидат физико-математических наук, научный сотрудник ИСА ФИЦ ИУ РАН

e-mail: khmike@inbox.ru

Пример ссылки на эту публикацию:

М. В. Хачумов. «Реализация алгоритмов навигации и управления в бортовых вычислительных комплексах летательных аппаратов», Программные системы: теория и приложения, 2016, 7:2(29), с. 35-59. URL: http://psta.psiras .ru/read/psta2016_2_35-59.pdf

Mikhail Khachumov. Implementation of navigation and control algorithms in aircraft's onboard computer systems.

Abstract. The actual task of the organization of processing information and control flows in on-board computers (the solution of problems of navigation, measurements, trajectory motion, targeting and monitoring) with limited computing resources to support autonomous functioning of robotic systems on the example of the aircraft is considered. The relevance of the task is determined by requirement of small-sized unmanned aircraft systems equipping with hardware and software for processing telemetry target data flows from technical vision (TV) and control systems that can operate in real time. The proposed solutions are based on the construction of the optimized software realizing possibility of the flexible choice between the speed and accuracy of tasks solving. The necessary compromise is provided by special algorithms (CORDIC algorithms, integer algorithms, artificial neural networks (ANN)), having an efficient hardware support from on-board computers equipped with domestic microprocessor systems. (In Russian).

Key words and phrases: aircraft, onboard computer, control, navigation, CORDIC, artificial neural network, integer algorithm.

References

[1] V. D. Baykov, V. B. Smolov. Specialized processors: iterative algorithms and structures, Radio i svyaz', M., 1985 (in Russian), 288 p.

[2] C. Braccini, F. Cocurullo, F. Lavagetto. "A Fast Algorithm for High Quality Vector Quantization Codebook Design", Proceedings of the 8th International Conference on Image Analysis and Processing, Springer-Verlag, London, UK, 1995, pp. 643-648.

[3] P. P. Paramonov, I. O. Zharinov. "Integrated on-board computing systems: present situation review and development prospects analysis in the aviation instrument-making industry", Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2013, no.2(82), pp. 1-17 (in Russian).

[4] N. B. Vavilova, Yu. I. Kalinin, V. T. Klimov i dr. Onboard trajectory measurements complex (last accessed: 01.03.2016) (in Russian), URL: http://www.findpatent.ru/patent/211/2116666.html

[5] Ye. P. Novodvorskiy, Ye. G. Kharin. Methodology of tests of flight navigation systems of airplanes and helicopters, Mashinostroyeniye, M., 1984 (in Russian), 80 p.

[6] A. M. Anikin, A. M. Belkin, A. V. Litin. Air navigation and aeronautical flight support., Transport, M., 1992 (in Russian), 155 p.

[7] R. Austin. Unmanned aircraft systems UAVs design, development and deployment, A John Wiley and Sons, Ltd., 2010, 332 p.

[8] N. V. Stepanova. The solution of target and navigation tasks onboard a small-size unmanned aerial vehicle based on image processing of the underlying surface, Diss. ... kandidata tekhnicheskikh nauk: 05.13.01, M., 2007 (in Russian), 122 p.

© M. V. Khachumov, 2016

© Institute for Systems Analysis of RAS, 2016 © Program systems: Theory and Applications, 2016

[9] V. L. Legostayev. Methods, algorithms and structure of the hardware-software complex for strapdowninertialnavigation system, Diss.... kandidata tekhnicheskikh nauk: 05.13.05, Moskovskiy gosudarstvennyy institut elektroniki i matematiki, M., 2011 (in Russian), 132 p.

[10] H. Lim, N. S. Sudipta. "Monocular Localization of a moving person onboard a Quadrotor MAV", IEEE International Conference on Robotics and Automation (Institute of Electrical and Electronics Engineers, 27 May 2015), 8 p.

[11] N. S. Abramov, V. A. Romakin. "Methods of control of rotating video camera", Izvestiya Yuzhnogo federal'nogo universiteta. Tekhnicheskiye nauki, 2013, no.7(144), pp. 173—179 (in Russian).

[12] M. V. Khachumov. "The task of control of an unmanned aerial vehicle in the process of pursuit of the target", Programmnyye sistemy: teoriya i prilozheniya, 5:5 (2014), pp. 67—77 (in Russian), URL: http://psta.psiras.ru/read/psta2014_5_67-77.pdf

[13] V. D. Baykov, S. N. Vashkevich. The solution of trajectory tasks in CNC microprocessor systems, Mashinostroyeniye, L., 1986 (in Russian), 106 p.

[14] A. V. Zakharov. "The review of support of a floating point in a format of expanded accuracy on the "Multicore" platform", Trudy XLII vserossiyskoy konferentsii po problemam matematiki, informatiki, fiziki i khimii, Izdatel'stvo RUDN, M., 2006, pp. 46—66 (in Russian).

[15] A. V. Zakharov, V. M. Khachumov. "CORDIC algorithms. Current state and prospects", Trudy mezhdunarodnoy konferentsii "Programmnyye sistemy: teoriya i prilozheniya". V. 1 (g. Pereslavl'-Zalesskiy, 2004), Fizmatlit, M., pp. 353—370 (in Russian).

[16] A. V. Zakharov, V. M. Khachumov. "Bit-parallel Representation of Activation Functions for Fast Neural Networks", Proceedings of the 7-th International Conference on Pattern Recognition and Image Analysis. V. 2, PRIA-7-2004, St PEU, St. Petersburg, 2014, pp. 568-571.

[17] T. C. James, N. J. Jackson. Method and apparatus for rotating and scaling images, United States Patent no 5,568,600, Oct. 22, 1996.

[18] K. Somasundaram, S. Vimala. "Fast Encoding Algorithm for Vector Quantization", International Journal of Engineering Science and Technology, 2:9 (2010), pp. 4876-4879.

[19] D. Eberly. Integer-Based Rotations of Images, Geometric Tools, LLC, 2008 (last accessed: 01.03.2016), URL: http://www.geometrictools.com/Documentation/ IntegerBasedRotation.pdf

[20] D. Eberly. Converting Between Coordinate Systems, Geometric Tools, LLC, 2014 (last accessed: 01.03.2016), URL: http://www.geometrictools.com/ Documentation/ConvertingBetweenCoordinateSystems.pdf

[21] M. V. Khachumov. "Algorithms for integer arithmetic in problems of the motion trajectory calculation", Bespilotnyye transportnyye sredstva elementami iskusstvennogo intellekta, Sbornik nauchnykh trudov II Vserossiyskogo nauchno-prakticheskogo seminara BTS-II-2015 (Sankt-Peterburg, 8-9 oktyabrya, 2015), pp. 130-135 (in Russian).

[22] CORDIC IP Core User's Guide, Lattice Semiconductor Corp., August, 2012, 37 p.

[23] I. L. Tolmachev, M. V. Khachumov. "Models and problems of industrial and medical technological processes creation", Instruments and Systems: Monitoring, Control, and Diagnostics, 2013, no.12, pp. 38-43 (in Russian).

[24] R. Andraka. A survey of CORDIC algorithms for FPGA based computers, 2003 (last accessed: 01.03.2016), URL: http://www.andraka.com/files/crdcsrvy.pdf

[25] V. M. Khachumov, Basic principles of modeling of difficult systems and processes, Manual, RUDN, M., 2013 (in Russian), 141 p.

[26] V. A. Tokarev, A. V. Khludenev. Efficiency evaluation of pipeline-oriented digital signal processing algorithms, Elektronnoye periodicheskoye izdaniye dlya studentov i aspirantov (last accessed: 01.03.2016) (in Russian), URL: http://journal.mrsu.ru/wp-content/uploads/2015/10/statya-tokarev-orenburg-.pdf

[27] "Multicore" — design technology "System-On-a-Chip" (last accessed: 01.03.2016) (in Russian), URL: http://multicore.ru/index.php?id=21

[28] V. V. Kostrov, A. V. Rakitin, A. A. Sidorov. General recommendations for the construction and choice of digital signal processing algorithms for implementation on processors of "Multicore" family (last accessed: 01.03.2016) (in Russian), URL: http://www.mivlgu.ru/conf/zvorykin2011/works/pdf/section12.pdf

Sample citation of this publication:

Mikhail Khachumov. "Implementation of navigation and control algorithms in aircraft's onboard computer systems", Program systems: theory and applications, 2016, 7:2(29), pp. 35-59. (In Russian).

URL: http://psta.psiras.ru/read/psta2016_2_35- 59.pdf