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

РАЗРАБОТКА ПАРАЛЛЕЛЬНОГО АЛГОРИТМА ДЛЯ СИСТЕМЫ ДИНАМИЧЕСКОГО УПРАВЛЕНИЯ МАНИПУЛЯЦИОННЫМ РОБОТОМ*

А.А. Внуков, М.В. Семиков

Кафедра кибернетики и мехатроники Российский университет дружбы народов (РУДН) ул. Миклухо-Маклая, 6, Москва, Россия, 117198

Д.А. Тренин

Кафедра математического обеспечения систем обработки информации и управления Московский государственный институт электроники и математики

Б. Трехсвятительский пер., 3/12, стр. 8, 109028

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

В настоящее время на кафедру кибернетики и мехатроники в лабораторию системного анализа и мехатроники российской холдинговой компанией

ООО FAM-Robotics (г. Санкт-Петербург) поставлены четыре учебных робототехнических комплекса EDU-Pack System производства фирмы Kawasaki (Япония) и проведена их наладка. На рис. 1 показан процесс калибровки системы технического зрения с помощью программы промышленного машинного зрения RFA Vision и проверки правильности работы одного из комплексов с использованием вакуумного захвата и демонстрационной программы.

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

* Данная статья написана в рамках реализации Инновационной образовательной программы РУДН «Создание комплекса инновационных образовательных программ и формирование инновационной образовательной среды, позволяющих эффективно реализовывать государственные интересы РФ через систему экспорта образовательных услуг».

Рис. 1. Монтаж и пуско-наладочные работы учебных робототехнических комплексов EDU-Pack System производства фирмы Kawasaki

Учебный комплекс EDU-Pack system

В 1969 г. первой в Японии компания Kawasaki Heavy Industries Ltd. создала промышленные роботы и начала их продажу. В настоящее время компания — один из признанных мировых лидеров в производстве промышленных роботов, выпускает широкую гамму манипуляторов грузоподъемностью от 2 до 500 кг, со специальными исполнениями для сварки, окраски, мойки, «чистых помещений». Оптимальное управление движением манипулятора обеспечивает полностью цифровой контроллер.

Несложные в программировании, простые в использовании и экономически эффективные промышленные роботы Kawasaki находят применение в различных отраслях промышленности и позволяют решать практически любые технологические задачи.

В состав учебных робототехнических комплексов EDU-Pack System кафедры кибернетики и мехатроники входит:

— базовая поставка:

промышленный робот Kawasaki FS003N робот FS03N, контроллер для робота Kawasaki D40, пульт управления Kawasaki Teach Pendant, программное обеспечение PC-Roset, специализированный язык программирования AS, вакуумный захват,

рамные конструкции (постамент для робота), документация;

— дополнительные опции (машинное зрение): цифровая телекамера UЕye 1440 машинного зрения, объектив телекамеры Computar,

компьютер-ноутбук Lenovo 15'' CoreDuo (Windows XP),

программа промышленного 3D моделирования комплексов Kawasaki PC Roset с лицензионными ключами,

программа промышленного машинного зрения RFA Vision с лицензионными ключами, магнитный захват, компрессор вакуумный,

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

стол металлический для размещения комплекса,

световая стена для ограждения робототехнического комплекса в целях безопасности,

лицензионные ключи для программ, документация.

Робототехнические комплексы EDU-Pack System фирмы Kawasaki являются модульными многофункциональными учебными комплексами, обладают лучшей и большей функциональностью для поддержки широты учебного процесса в университетах. Они имеют в своем составе: робот манипулятор Kawasaki FS03N, контроллер серии D (D7* — для сборки; D4* — для сварки), пульт управления Kawasaki Teach Pendant, систему 3-D имитационного пространственного моделирования и систему технического зрения с соответствующим программным обеспечением и документацией.

Данные робототехнические комплексы позиционируются на рынке робототехники как учебно-производственные с ориентацией на профессиональную подготовку специалистов для предприятий, для которых закупаются роботы производства корпорации Kawasaki. Все закупаемое оборудование является полноценным промышленным оборудованием, произведенным в Японии. Комплектация учебных робототехнических комплексов EDU-Pack System на основе 6-осевого промышленного робота Kawasaki FS03N грузоподъемностью 3 кг, системы 3-D имитационного пространственного моделирования Kawasaki PC Roset и системы технического зрения RFA Vision позволяет обучать студентов на более высоком профессиональном уровне, чем на учебных моделях роботов с 4—5 осями. С помощью систем PC Roset, RFA Vision, специализированного языка программирования AS студенты получают навыки по использованию и программированию робототехнических комплексов.

Японские роботы Kawasaki являются примером надежности и соответствуют современным требованиям по автоматизации производств во всем мире.

На рис. 2 показано оборудование учебного комплекса EDU-Pack system.

Основание 6-осевого робота Kawasaki FS03N занимает на постаменте площадь 17 х 22 см, грузоподъемность робота составляет 3 кг, максимальная скорость по осям 225 °/сек — 540 °/сек, точность позиционирования (повторяемость) ±0,05 мм, радиус рабочей зоны (1—5 оси) — не менее 620 мм, габаритные размеры постамента 56 х 56 х 3,94 дюйма. Крепление робота может быть произведено к полу, потолку, стене, столу. Контроллер имеет интерфейсы встроенный Ethernet и RS232C, 32 дискретных входа и выхода, питание берется от сети AC200-240V, +/-10%, 50—60Hz, однофазное.

Рис. 2. Внешний вид учебного комплекса EDU-Pack system:

1 — робот Kawasaki FS03N; 2 — контроллер D40; 3 — пульт управления Teach Pendant; 4 — ноутбук с программным обеспечением PC-Roset (3-D моделирование) и RFA Vision (ПО для машинного зрения);

5 — вакуумный захват; 6 — камера машинного зрения;

7 — Рамные конструкции и постамент для робота

Робототехнические комплексы EDU-Pack System планируется применять в учебном процессе, научных исследованиях и коммерческих работах.

Робототехнические комплексы будут использоваться в плановых лабораторных и практических занятиях по следующим учебным дисциплинам: «Системы автоматического управления», «Интегрированные системы», «Организация и планирование производства».

В лаборатории размещается четыре робототехнических комплекса EDU-Pack System из расчета одновременной работы 1/3 группы по два студента на каждом рабочем месте. Темы лабораторной работы для каждого студента разные. Одной из тем лабораторных работ является моделирование взаимодействия системы роботов в технологическом процессе.

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

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

Научные исследования будут проводиться по научным направлениям кафедры Кибернетики и мехатроники. Одним из них является разработка эффективных алгоритмов и аппаратно-программных средств для решения задач в реальном времени.

Актуальность и перспективность

Работа посвящена разработке эффективных алгоритмов и аппаратно-программных средств решения в реальном времени вычислительно-интенсивных задач динамики систем управления интеллектуальных мобильных роботов и манипуляторов для цифровых сигнальных процессоров (ЦСП) Tiger Share.

Общая постановка задачи

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

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

Цель исследования

Выполнение работ: 1) разработка алгоритма решения прямой, обратной задач динамики манипулятора; 2) разработка программной системы последовательного решения двух динамических задач для 6-ти осевого манипулятора; 3) выяснение наиболее подходящей структуры многопроцессорной системы на основе эвристического подхода и оценки эффективности по ускорению вычислений.

Объект исследования

Объектом исследования являются математические модели решения прямой и обратной задач динамики манипулятора в форме уравнения Лагранжа II рода.

t I"'

i=j k=1 i=j k=1 I=1 i=j

Модель промышленных манипуляционных роботов

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

Манипулятор промышленного робота УЭМ-1, изображенный на рис. 3, имеет шесть степеней подвижности, позволяющих расположить захват в любом месте и с любой ориентацией в пределах ограничений движения в сочленениях.

Исполнительный орган состоит из шести звеньев, каждое из которых связано со следующим звеном с помощью подвижного соединения. Подвижные соединения могут быть двух типов: 1) призматические, обеспечивающие относительное скольжение; 2) вращательные.

На рис. 3 показаны последовательная цепочка звеньев, глобальная и локальные системы координат звеньев, обобщенные координаты робота.

Постановка прямой задачи

Прямая задача динамики формулируется так: задано движение механической системы, требуется определить обобщенные силы, обеспечивающие это движение. В манипуляторе обобщенные силы Qi — это проекции сил (например, силы привода) на оси кинематических пар моментов (если пары вращательные) и сил (если эти пары поступательные). Движение определяется изменением во времени обобщенных координат qь которыми являются углы поворота во вращательных и смещения — в поступательных кинематических парах. Для ее решения нам необходимо получить уравнение, связывающее обобщенные силы и движение механической системы.

Математическая модель решения прямой задачи динамики манипулятора

В нашем случае решается динамическая задача для 6-звенного робота, позволяющую по заданному закону движения определить обобщенные силы звеньев.

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

Это соотношение — уравнение Лагранжа II рода в матричной записи выглядит следующим образом:

£ £

1=] к=1 i=] к=1 I=1 i=]

где Hi =

J( i ) xx J(i ) Jxy J(i ) xz mixi*

J( i ) ° yx Ji yy J(i ) zy my*

J( i ) zx Ji zy J(i ) zz mizi

* * *

mixi miyi mizi m

... AJ- 1ПjAj .. : Aj-1 Ai, е д г

характеризует инерцию звена,

зывающая системы i и j;

U =dUL

Uilj =

______ dUg

dqj dq

qi

ôU;

i 2

ôq2

q2

ÔU,.

dq,

-q

j

n, =

n

] ~~и ~~ч

если пара вращательного типа; если пара поступательного типа.

0 -10 0

10 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 1

0 0 0 0

Jxx, Jxy,—, — элементы тензора инерции, вычисляемые для i-го звена от-

носительно собственных осей;

* * * _ ^ xt, yt, zt — координаты центра тяжести i-го звена в собственной системе, т.е.

в системе, жестко связанной с i-м звеном; m — масса i-го звена;

(Обозначения: j x2dm = Jlxx ; j xiyidm = Jly ; ...; j z2dm = J ; j xidm = mix*i ;

| yidm = miy* ; j ztdm = miz* ; j dm = mi )

GT — матрица-строка следующего вида: GT - [0 0 - g 0], где g — ускорение свободного падения;

R* — матрица-столбец, первые 3 элемента которой декартовы координаты центра тяжести звена i в собственной системе отсчета, связанной со звеном i; остальные элементы — единицы.

Постановка обратной задачи динамики

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

j

Движение определяется изменением во времени обобщенных координат ¿¡, которыми являются углы поворота во вращательных и смещения — в поступательных кинематических парах.

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

Алгоритм решения обратной задачи динамики с помощью уравнений Лагранжа II рода

В обратной задаче динамики известными считаются обобщенные силы QJ (?) и значения обобщенных координат и их скоростей в начальный момент ?0, т.е. ql (?0) и ¿1 (?0). Подставляя в (1) величины %(?0), ¿¿1 (?0) и О/ (?0), можно привести это уравнение к следующему виду:

П

ХаАу(?>Ж(?о) = Р/(?0) 0' = 1 2 ..., П\

к=1

где ак'(?0) и в/(?0) — известные числа. Аргумент ?0 означает, что эти числа определены для момента ?0 и, следовательно, зависят от выбора этого момента. Фактически они зависят от ql (?0), ql (?0), О/ (?0). Из п уравнений (1) можно найти п неизвестных величин:

¿(?о), к = 1, 2, ..., п.

Решение уравнений удобно записать в матричной форме. Для этого введем матрицу а размером п х п с элементами ак], матрицу-столбец в с элементами в/ и матрицу столбец q с элементами ¿к . Система уравнений (1) примет вид:

аq = в,

а ее решением будет:

q = а-1в = у.

Для нахождения обратной матрицы а воспользуемся следующим алгоритмом: найдем определитель матрицы, затем транспонируем ее, и запишем обратную матрицу в виде а-1 = 1/(ёе1 а )(аТ). Матрицу нужно транспонировать. При этой операции матрица переворачивается, т.е. строки и столбцы меняются местами. Таким образом, если А = (а^, I = 1, ..., I;' = 1, ..., J}, то АТ = (а/-,' = 1, ..., J;

I = 1, ..., I}. В случае матрицы (К х N определитель вычисляется как произведение 1 2 3 ... N = К!, каждый элемент которых равен (-1)га1^а2^...ам . Индексы

к\, к2, ..., кК определяются как всевозможные упорядоченные перестановки г чисел в наборе (1, 2, ..., К).

Найти закон движения манипулятора — значит, найти функции ql (?) или в матричном виде — ql (?), где q — матрица-столбец с элементами ql. Чтобы найти q(t), необходимо проинтегрировать дифференциальное уравнение. В этом уравнении матрица у может быть вычислена для любого момента ?, если для этого момента известны матрицы-столбцы q, q, О (элементы матрицы ¿1 — это ¿1,

а элементы матрицы Q — это QJ. Способ вычисления у(') тот же, что и способ вычисления у('0), описанный выше.

а00 = I »-(и, 0 Н,и,т0) , = 0 ам =I ''(и ,1Н,и,Т0) =1

а01 = ! <г(им Н, и,1) =1 ап = £ (г(и„Н, и,1) =1

а 02 = ! ^г(и,0 Н иЪ) =2 ап = I (г(и„Н,и,г,) ! = 2

а03 = ! »-(и, 0 Н,иЪ) =3 а13 = I "'(и„Н,и,Г3) ! = 3

а 04 = I ^г(и,0 Н VI) ¡ = 4 а14 = I "'(и„Н,и,г4) ! = 4

а05 = 1г

а 30 = I 'г(и„ Н ¡и,) ,= 3 а 40 = £ 'г (и,4 Ни,0) =4

а_31 =! »-(и, 3 Н,и,1) 1 = 3 а 41 = I Ни, 4 Н,и,1) 1 = 4

а_32 = I <г(и,3 Н,и,г2) г = 3 а42 = ! 'г (и,4 Н иТа) =4

а_33 = I ,Г(и, 3 Н,и,1) , = 3 а43 = I ''(и, 4 Н,иЪ) 1 = 4

а 34 = I "'(и, 3 Н,и,Г4> ! = 4 а 44 = ! 'г(и,4 Н,и,г4> 1 = 4

а35 = ¡'

5 I I

во = Qо - Ц Ъ"(и о н,и?и )ш + ЪтРТи о Л*

,' = 0 к = 0, = 0 ,' = 0

в1 = Ql - I II1г(и„ни!к, )ад +1 т,оти,£

I = 1 к = 0, = 0 I = 1

в2 = Q2 -1 I Т‘г(и,2ник)9Л + I т,Оти ,2Л,*

,' = 2 к = 0 / = 0 ,= 2

вз = Qз -I 1I'и, 3 ник,) ад, +1 тОгип Л*

а 20 = I »-

, = 2

а 21 = I "'

, = 2

а 22 = Х 'г

=2

а 23 =! <т

, = 3

а 24 = £ 'Г

=4

а 25 = 'г

а50 = 'г

а51 = *г

а52 = 'г

а53 = *г

а54 = 'г

I = 3 к = 0, = 0

, = 3

в4 = Q4 - III ни,,Ник)Ы, + I т,Оти,4Л*

,' = 4 к = 0, = 0 , = 4

в5 = Q5 - II 'Г(и55Н5и5к1) + т5^ и55Л5

к = 0, = 0

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

Используем для интегрирования дифференциального уравнения алгоритм Эйлера. Будем двигаться по оси времени малыми шагами А', начиная с '0. На каждом шаге будем считать постоянными матрицы д, д. Тогда на шаге номер т

д(т+1) = д(т) + д( т) А',

д( т+1) = д( т) + д(т) А'.

Для шага т = 0 правые части известны, что позволяет вычислить д(1) и д(1). После этого делается следующий шаг (т = 1), на котором правые части также известны, и т.д. В результате д, д, д становятся известными в дискретных точках оси времени, разделенных интервалами А'. Чем меньше А', тем меньше погрешность расчета, но выше его трудоемкость. В нашем случае из-за равноускоренного движения д вычисляется только в начальный момент.

Реализация ТЗ

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

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

Сначала для многопроцессорной системы разрабатывается последовательный алгоритм: С = А • В.

Рис. 4. Структура многопроцессорной системы

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

элемент матрицы С вычислялся одним ПЭ. В каждом процессоре выполняются три типа операций: суммирование; умножение; пересылка данных в память.

Один процессор получает на вход восемь элементов (строку матрицы А, столбец матрицы В).

Рассмотрим последовательный алгоритм работы (вычисления матрицы С) данной процессорной системы по этапам (рис. 5).

Этап 1 ПЭ1 ПЭ2

пэз ПЭ4

—

Этап 2 ПЭ1 ПЭ2

пэз ПЭ4

ІЇЕД ДЕИ ІЇЕБ1 ІЇЕЕ1

Этап 3

[ШЯ ШЕ [ШЗ 6ES

ПЭ1 ПЭ2

ПЭЗ ПЭ4

Этап 4

ДЕД ДЕИ ЇЕИ ІЇЕЕ1

ПЭ1 ПЭ2

ПЭЗ ПЭ4

Рис. 5. Поэтапная схема работы последовательного алгоритма на процессорной системе

Здесь матрица С условно разделена на квадратные клетки, каждую из которых вычисляет определенный процессорный блок из четырех ПЭ. После работы каждого ПЭ происходит передача вычисленного значения в память.

Данный алгоритм является последовательным, как на уровне ПЭ, так и на уровне блоков: т.е. последовательно функционируют и блоки, и процессорные элементы в них.

Поскольку надо достаточно быстро выполнять вычисления в задачах динамики, то в качестве ПЭ наиболее предпочтительным является использование цифровых сигнальных процессоров (ЦСП) из-за их высокой скорости выполнения требуемых операций умножения в формате с плавающей точкой. В данном случае в качестве ПЭ используется ЦСП Tiger Share.

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

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

Процессорная структура будет иметь следующий вид (рис. 6).

Рис. 6. Структура многопроцессорной системы

Рассмотрим параллельный алгоритм работы (вычисления матрицы С) данной процессорной системы по этапам.

Этап 1. Параллельно работают первые группы (ряды) ПЭ в блоках 1 и 2 (рис. 7).

Этап 2. Параллельно работают первые группы (ряды) ПЭ в блоках 3 и 4 (рис. 8).

Рис. 7. 1-й этап работы многопроцессорной системы

Рис. 8. 2-й этап работы многопроцессорной системы

Этап 3. Параллельно работают вторые группы (ряды) ПЭ в блоках 1 и 2 (рис. 9).

Этап 4. Параллельно работают вторые группы (ряды) ПЭ в блоках 3 и 4 (рис. 10).

Рис. 9. 3-й этап работы многопроцессорной системы

Рис. 10. 4-й этап работы многопроцессорной системы

После работы каждой четверки ПЭ из двух блоков происходит параллельная передача вычисленных значений в память. Данный алгоритм является параллель-

ным, как на уровне ПЭ, так и на уровне блоков, т.е. параллельно функционируют и определенные блоки, и определенные процессорные элементы в них. Однако данный алгоритм не реализует полный параллелизм, когда все 16 ПЭ функционируют одновременно.

Разработанные процессорные структуры будут встраиваться в общую схему решения прямой и обратной задач (рис. 9; рис. 10 на примере параллельной структуры).

При решении обратной задачи, используются матрицы 6 х 6, однако перемножение производится только один раз, поэтому используются те же процессорные структуры, что и для матриц 4 х 4. Алгоритмы адаптируются к размерности 6 х 6 (т.е. один ПЭ теперь вычисляет «полтора элемента матрицы»).

Рис. 11. Схема решения прямой задачи динамики со встроенной параллельной процессорной структурой

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

Рис. 12. Схема решения обратной задачи динамики со встроенной параллельной процессорной структурой

Для того, чтобы разобраться насколько параллельное соединение ПЭ (и, соответственно, алгоритм) эффективнее, чем последовательное, возникает необходимость оценить эффективность используемых алгоритмов.

Оценка эффективности

Оценку эффективности разработанного алгоритма для многопроцессорной системы будем проводить относительно ранее разработанного параллельного алгоритма для аналогичной системы. Его схема из 25 ПЭ представлена на рис. 13.

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

Рис. 13. Схема процессорной системы

Оценка эффективности работы параллельного алгоритма

Мы будем производить оценку эффективности алгоритмов по абсолютному времени выполнения и по стоимости исполнения.

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

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

Если сравнивать наш параллельный алгоритм по стоимости исполнения, то реализация системы с алгоритмом на рис. 13 выходит дороже реализации разработанной нами процессорной системы с параллельным алгоритмом. Предположим, что на нашей системе стоят ЦСП фирмы Analog Devices ADSP-2181KST-160 (примерная стоимость — 1310 руб.). Тогда, соблюдая соотношения времен работы систем, в системе на рис. 13 должны использоваться ЦСП ADSP-2191MKST-160 (примерная стоимость — 890 руб.). Считаем, что стоимость системы определяется совокупной стоимостью ЦСП, входящих в нее, тогда стоимость нашей системы составляет — 1310 х 16 = 20 960 руб. Стоимость системы на рис 11 — 890 х 25 = = 22 250. Таким образом, система на рис. 13 будет стоить дороже в 1,06 раз, т.е. на 6% больше.

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

Ускорение от применения такой модели вычисления произведения двух матриц, относительно ранее использованных систем с параллельной обработкой, составило 2,28 раза. При реальном решении задач действуют два фактора, влияющие на фактическое ускорение вычислений: 1) выполняется большее число умножений матриц, зависящее от числа осей манипулятора, 2) преимущество алгоритма и модели аппаратного обеспечения решения на ЦСП Tiger Share или аналогичном ощутимо возрастает.

Разработанный алгоритм для многопроцессорной системы на более дорогих современных ЦСП по стоимости исполнения дешевле относительно ранее разработанного параллельного алгоритма на 6%.

ЛИТЕРАТУРА

[1] Механика промышленных роботов. Том 1. Кинематика и динамика / Под ред. К.В. Фролова, Е.И. Воробьева. — М.: Высшая школа, 1989.

[2] Шахинпур М. Курс робототехники / Под ред. С.Л. Зинкевича. — М.: Мир, 1990.

[3] Пантелейчук А. Основы выбора цифровых сигнальных процессоров // Электронные компоненты. — 2006. — № 6.

[4] Шпаковский Г.И. Организация параллельных ЭВМ и суперскалярных процессоров. — Минск, 1996.

[5] Гергель В.П., Стронгин Р.Г. Принципы построения параллельных вычислительных систем: Учебное пособие. — Нижний Новгород, 2003.

DEVELOPMENT OF THE PARALLEL ALGORITHM FOR DYNAMIC CONTROL SYSTEM OF A MANIPULATION ROBOT

A.A. Vnukov, M.V. Semikov

Cybernetics and mechatronics department Peoples’ Friendship University of Russia

Miklukho-Maklaya str., 6, Moscow, Russia, 117198

D.A. Trenin

Cybernetics Department Moscow State Institute of Electronics and Mathematics

B. Trehsvjatitelsky lane, 1-3/12 bld 8, Moscow, Russia, 109028

In this article the calculable-intensive algorithms of direct and reverse decision of the task dynamics of manipulation robot were considered. To accelerate the task computation the heuristic multiprocessor system model was proposed. Parallel algorithms and processor structures were integrated in the decision model of direct and reverse dynamics tasks which has the common memory blocks. These processor structures were illustrated. The system was simulated for the direct and reverse dynamics tasks. The estimates of the computation acceleration and the changes in the system cost were obtained.