Исследование и разработка методов решения задач инженерной оптимизации роботов параллельной структуры
А.Д. Маминов, М.А. Посыпкин
Аннотация — В данной работе рассматривается оптимизация ключевых конструктивных параметров параллельного робота 2-RPR. Оптимизация проводится по двум критериям: площадь рабочей области и глобальный индекс управляемости - global dexterity index (GDI). В процессе анализа робота решаются прямые и обратные задачи кинематики, находятся матрицы Якоби входных, выходных параметров, и строится итоговая полная матрица Якоби. Для нахождения площади робота применяется метод Монте-Карло. Индекс GDI вычисляется методом приближения интеграла к сумме значений на равномерной сетке. В результате было получено множество Парето для одного из параметров, что и является решением поставленной задачи. В процессе работы были созданы программы для визуализации рабочей области робота, зависимости коэффициента управляемости от различных параметров робота 2-RPR и построения множества Парето.
Ключевые слова — параллельный робот, рабочая область, сингулярность, многокритериальная
оптимизация.
I. Введение
В последнее время, с развитием робототехники, параллельные роботы привлекли к себе внимание большого количества ученых со всего мира. Роботы параллельной структуры [1, 2, 3, 4] обладают целым рядом преимуществ, таких, например, как жесткость и точность позиционирования. Это привело к их широкому распространению во всех областях промышленности.
Важной задачей, решаемой при проектировании роботов, является определение его рабочей области, то есть множества точек, которые может достигнуть инструмент, управляемый роботом. Площадь рабочей области является ключевой характеристикой робота. Сама рабочая область служит основой для прокладки траектории движения рабочего инструмента. Целью работы является анализ параллельного робота-манипулятора 2-КРЯ и оптимизация его ключевых конструктивных параметров с целью максимизировать
два критерия робота: global dexterity index и площадь рабочей области. Так же будут рассмотрены сингулярности робота, нахождение рабочей области c помощью алгоритма Монте-Карло, решение прямой и обратной задач кинематики.
II. Обзор литературы
Следует отметить, что вопросы кинематики, статики, динамики и управления роботами параллельной структуры активно изучаются в научной литературе [1, 6, 7]. Одним из основных трудов по параллельным роботам является учебник Merlet J. P. [5], содержащий детальное описание принципов устройства параллельных манипуляторов, общий анализ сингулярностей, методы решения прямой и обратной задач кинематики, алгоритмы определения рабочей области. В работах Gosselin C., Angeles J. [2, 3] приведена подробная информация об областях сингулярности, нахождении матриц Якоби и индекса GDI, их математическая интерпретация и базовые определения. В статье [9] авторы также изучали свойства робота 2-RPR и решали задачу оптимизации по критериям Global Resistivity Index(GRI), Global Conditioning Index(GCI), Space Utilization Index(SUI) и площади рабочей области. При этом, несмотря на наличие нескольких целевых функций, не рассматривалась многокритериальная постановка. В нашей работе построена Парето-оптимальная область по двум критериям.
III. Анализ кинематики
Схематическое устройство планарного робота 2-RPR приведено на Рисунке 1. Робот приводится в движение двумя линейными двигателями, способными изменять длины штанг въ в2, управляя тем самым положением рабочего инструмента, закрепленного в точке Р. Введём обозначения: вектор входных параметров (длины штанг) в = (в1, в2) и вектор выходных параметров (координаты точки Р) X = (Х1,Х2). Через d обозначим расстояние между основаниями штанг.
*Работа выполнена при частичной поддержке проекта РНФ 16-1900148
А.Д. Маминов - студент магистерской программы "Суперкомпьютерное моделирование в науке и инженерии" МИЭМ НИУ ВШЭ, [email protected]
М.А. Посыпкин — главный научный сотрудник Федерального исследовательского центра «Информатика и управление» Российской академии наук. [email protected]
Рисунок 1. Схема робота 2-ЯРК
В дальнейшем будем считать, что нижий 11 и верхний 12 пределы изменения длин одинаковы для обоих штанг: 11 < в1 < 12,11<в2<12. Рассматриваемый робот имеет две степени свободы.
Исходя из простейших геометрических выражений получим систему кинематических уравнений, связывающую входные параметрами и выходные параметры робота:
г el = хц + хц, Щ = (Xi-d)2 + xi
(1)
Gosselin и Angeles [3] и ряд других исследователей различают три типа сингулярностей в зависимости от определителей матриц Якоби входных и выходных параметров:
1. detje = 0;
2. detjx = 0;
3. detje = 0 и detjx = 0.
В нашем случае интерес представляет лишь случай detjx = 0, т.к. detjg = 0 всегда будет больше нуля (в1 ■ в2 >0) в силу конструктивных особенностей (не имеет смысла делать длины штанг равными нулю). Приравнивая detfx = 0, получим: (Х1 — d) ■ Х2— Х1 ■ Х2 = 0, что равносильно равенству Х2 ■ d = 0. Очевидно, что d не может быть равно 0 опять же в силу инженерно-конструкторских условий. Следовательно detfx = 0 эквивалентно равенству Х2 = 0. Подставив Х2 = 0 в Систему 1 и получим систему:
г el = Xi, Щ = (Xi - d)2
(5)
(6)
Раскроем квадраты:
{ 01 = \Х1\, \в2 = \Х1 - <1\. Модуль можно раскрыть тремя способами каждый из которых соответствует положениям робота в ситуации сингулярности:
1. Х1 <0
( 61 = Х1,
\в2 = -Х1 + d.
Систему 1 так же можно переписать в виде Р(в, X) = 0. Теперь найдём производные по времени уравнений Р(в, X), чтобы получить систему, определяющую соотношение скоростей входных и выходных координат робота:
АХ + Вв = 0,
. дР дР _ _
где А = — и В = — - квадратные матрицы Якоби
размерности 2.
В результате получим систему уравнений мгновенной кинематики:
0i ' 6i — Xi ' Xi + X2 ' X2, e2-e2 = (Xi-d)-Xi + Xi-Xi
Введем обозначения
(2)
}в = (о1 ^1х = X2}
Решая линейную систему (2), обратной задачи кинематики
в = -1в-1-1хх = ]Х,
где
I = Чв-1 -1х.
получим решение
(3)
IV. Анализ сингулярностей
Сингулярность — это такое положение робота, при котором манипулятор теряет одну или несколько степеней свободы, и изменение входных переменных не приводит к изменению положения робота. Это тот случай, когда определитель матрицы Якоби равен нулю.
0,10 005 0.00 -0 05 -О 10
Singularity
0.10 □ IK о 00 -005 Hl 10
О. ID 0 05 0.00 —О 05 -0.10
-а о г
Рисунок 2. Сингулярность №1
2. 0< ХЛ < d
Г 0i = \Xi\, {Qi = -Xi + d\.
Singularly
Рисунок 3. Сингулярность №2
3. d < X,
Г 6i = Xi,
ь02 =xi-d.
S NI [pu II] Г И y
Рисунок 4. Сингулярность №3
V. Нахождение площади рабочей области
Рабочая область - это множество возможных положений рабочего инструмента робота, т.е. точки Р в рассматриваемом случае. Для исследования данной задачи был разработан программный комплекс на языке Python 3. Пользовательский интерфейс программного комплекса позволяет задавать параметры робота и отображать рабочую область (Рисунок 5).
И _| 3
12J О 3
I1_h --15
I2_h --15
d 6
Figure 72
15 10
0
-10 -15
-15 -10 -5 0 5 10 15 20
j
« + ' О I ®
Площадь через алгоритм Монте-Карло - 23;,97145
При6лизигел=ноа значение площади, посчитанная через shapely = 25Б.30762507182435
Рисунок 5. Визуализация рабочей области
Для нахождения площади рабочей области используется ее геометрическое определение: возьмём окружности с радиусами равными минимальной величины диапазона штанги (11) и максимальной (12). Таким образом область, равная пересечению этих двух колец, каждое из которых соответсвует одной из штанг, и будет искомой рабочей областью робота.
Для численного нахождения площади рабочей области применяется алгоритм Монте-Карло, выполняющий следующие шаги.
1. Ограничим рабочую область, найденную геометрически, прямоугольником, площадь которого Spr можно легко вычислить.
2. Заполняем этот прямоугольник точками (в количестве р штук), координаты которых выбираются случайным образом в соответсвии с равномерным распределением. Для заполнения использовался стандартный генератор случайных чисел MT19937 из библиотеки Numpy для Python [10].
3. Определим число точек (К штук), которые попадут в рабочую область.
4. Приближенное значение площади рабочей области, положим равной S = Spr — .
VI. Глобальный индекс управляемости Введем в рассмотрение коэффициент управляемости tj = 1/к, где к =||/||-|| J-1 || - число обусловленности матрицы /. Коэффициент ц показывает управлямость робота в заданной точке. Чем ближе значение г] к 1, тем лучше управлямость робота. Действительно, из системы уравнений 3 следует, что чем больше число обусловленности, тем большие погрешности могут возникать при решении системы 3. При этом при небольших неточностях в определении выходных координат могут возникать существенные погрешности в определении соответствующих входных координат, что приводит к неадекватности управления.
Теперь определим глобальный индекс управляемости (Global Dexterity Index) отражающий то, насколько в среднем робот хорошо управляем.
Данный индекс определяется как отношение GDI = А/В,
где А = ff У](в1,в2) dd1 dd2, а В - площадь рабочей области в управляющих параметрах,
Заметим, что область расчета интеграла в пространстве входных координаты в2 представляет собой квадрат со стороной L = 12-11. Расчет интеграла можно провести по равномерной двумерной сетке. Но достаточно воспользоваться алгоритмом расчёта интеграла на равномерной сетке и посчитать
Ti=1 YIj=1 Vij ■ Sn, где Sn = [a2-h)) , где n - количество узлов дискретной сетки, что по сути является точностью расчёта. Так как для нахождения GDI нам будет необходимо разделить полученное значение интеграла на всю площадь рабочей области в управляющих параметрах, которая равна (l2 - 11)2, то индекс будет иметь следующий вид:
п2
Таким образом, достаточно просуммировать значение ц на сетке и разделить на п2.
VII. Численный эксперимент
Для оптимизации конструкции робота был реализован программный комплекс на языке программирования Python с использование различных библиотек: Numpy [10], Math [11], Matplotlib [12], Shapely [13], Descartes [14].
В состав разработанного программного комплекса входят следующие модули:
1. модуль расчёта площади рабочей области, подробно изложенный в предыдущем пункте;
2. модуль расчета индекса GDI, (раздел VI) с помощью определения исходных кинематических уравнений, аналитически полученных матриц Якоби и дальнейших матричных вычислений с помощью библиотеки Numpy;
3. модули визуализации рабочей области и коэффициента управляемости от входных и выходных координат.
В качестве примера работы созданных алгоритмов и
методов, рассмотрим зависимость величины коэффициента управляемости п для робота 2-RPR от изменения различных параметров робота. Зададим следующие значения основных параметров робота: 11=3, г2=15, а=6.
00
12
Рисунок 6. График зависимости п от в1 и в2. На оси ОЪ обозначена величина 1/к=п, а по ОХ и ОУ длины штанг
На Рисунке 6 приведена поверхность зависимости коэффициента управляемости от входных координат в1, в2. На Рисунке 7 показана зависимость зависимости ^ от выходных координат Х2.
00 01 02 03 04
X
- я- -и
Jjt ш \11|
ж
Uli а V ш jffl
г?
Рисунок 7. График зависимости индекса п от положения на рабочей области. По осям OX и OY координаты роботы в прямоугольной системе координат, по оси OZ индекс п
Приведенные графики дают наглядное представление о том, в каких частях рабочей области робот обладает наибольшей управляемостью. В частности, они показывают, что коэффициент п уменьшается по мере приближения к области сингулярности, находящейся на прямой, соединяющей точки закрепления двигателей. Данный факт имеет логическое объяснение, состоящее в том, что в области сингулярности происходит вырождение матрицы Якоби и, соответственно, индекс управляемости стремится к 0.
Рассмотрим задачу оптимизации конструкции робота при заданных диапазонах изменения длин штанг относительно меняющегося расстояния между точками их закрепления А и В. Поскольку на практике важны различные характеристики роботов параллельной струкуры, задачу оптимизации робота можно рассмотреть как задачу многопритериальной оптимизации. При такой постановке уместно говорить о поиске эффективных решений, или множества Парето.
Строгое математическое определение оптимальности по Парето можно найти в работах [15, 16]. Неформально точка в пространстве критериев называется оптимальной по Парето, если значение каждого критерия, не может быть улучшено без ухудшения других. Множество состояний системы, оптимальных по Парето, называют множеством Парето.
Рассмотрим задачу оптимизации робота по двум критериям: W - площади рабочей области и GDI -global dexterity index. Зададим фиксированные значения диапазонов изменений нижних и верхних пределов - 3 и 15 соответсвенно, и дискретно изменяющийся диапазон
01 02 03 04
? 11 \ 0 i f V 1
Ii «
Л.
• « • * • -а • • • m
* * fi • « Г m II}.
d от 1 до 17. Множество Парето выделено синим цветом на Рисунке 10.
I
0.00 0-01 0.02 OD3 0.04 0.05 0.06 0.07
l/The condition number of Jacobiart matrix
0,0 2,5 5,0 7,5 10
/т
-1/ '' BHS
А— / чу V V SJ : Зг*А~
a kiàà
Рисунок 8. Графики рабочей области и коэффициента управляемости для d = 1
Максимальная площадь рабочей области достигается при совмещении точек А и В. В таком случае система становится практически не управляемой, вся рабочая область является областью сингулярности (Рис. 8). Если же максимизировать только глобальный индекс управляемости, то оптимальной оказывается конструкция робота, в которой d = 12 (Рис. 9).
• » *
У / " '
0.5
0.4
0-3
1Л
0.2
0.1
о.о
14 12 10
6 4
Рисунок 9. Графики рабочей области и коэффициента управляемости для d = 12
The dependency of Index from area
i
£ fini
J.1 ¡feilen
А14 г "
ji-oe ¿mil ^-iidMJ pc-tf
W-i
y»)
Рисунок 10. Парето-оптимальная область, площадь рабочей области по оси абсцисс, индекс GDI по оси ординат
МЙ Kk \
11 ' 4ШШ, Щ кШ
Iii
-5 о
10 15
l/The condition number of Jacobjan matrix
■ • • ■ • ' ,......
Рисунок 11. Графики рабочей области и обратного числа обусловленности для d = 8 (идеальная точка)
Стоит выделить ещё одну точку при d = 8, называемую идеальной в задачах многокритериальной оптимизации. В данной точке достигается минимум расстояния от множества Парето до «утопической точки» (точки, соответствующей максимуму обоих критериев).
VIII. Результаты
В работе проведён кинематический анализ робота 2-RPR, анализ его сингулярностей, рабочей области и управляемости. Задача оптмииазации конструкции робота сформулирована как задача многокритериальной оптимизации. Был предложен алгоритм расчёта площади робота и глобального индекса управляемости (GDI). Получено множество из которого выбрана наилучшая точка. В дальнейшем планируется распространить данный подход на роботов более сложной конструкции.
Библиография
[1] Huang T. et al. Optimal kinematic design of 2-DOF parallel manipulators with well-shaped workspace bounded by a specified conditioning index //IEEE Transactions on Robotics and Automation.
- 2004. - Т. 20. - №. 3. - С. 538-543.
[2] Gosselin C., Angeles J. A global performance index for the kinematic optimization of robotic manipulators //Journal of Mechanical design.
- 1991. - Т. 113. - №. 3. - С. 220-226.
[3] Gosselin C., Angeles J. Singularity analysis of closed-loop kinematic chains //IEEE transactions on robotics and automation. - 1990. - Т. 6.
- №. 3. - С. 281-290.
[4] Gallant M., Boudreau R. The synthesis of planar parallel manipulators with prismatic joints for an optimal, singularity-free workspace //Journal of Robotic Systems. - 2002. - Т. 19. - №. 1. - С. 13-24.
[5] Merlet J. P. Parallel robots. - Springer Science and Business Media, 2006. - Т. 128.
[6] Малышев Д. И. и др. Анализ рабочей области робота DexTAR-dexterous twin-arm robot //International Journal of Open Information Technologies. - 2018. - Т. 6. - №. 7.
[7] Stan S. D., Maties V., Balan R. Optimization of a 2 dof micro parallel robot using genetic algorithms //Frontiers in Evolutionary Robotics. -IntechOpen, 2008.
[8] Эффективность по Парето // Википедия. [2018—2018]. Дата обновления: 07.06.2018. URL: https://ru.wikipedia.org/?oldid=93146142 B. Smith, "An approach to graphs of linear forms (Unpublished work style)," unpublished.
[9] Nam Y. J., Park M. K. Workspace optimization and kinematic performance evaluation of 2-DOF parallel mechanisms //Journal of mechanical science and technology. - 2006. - Т. 20. - №. 10. - С. 1614-1625.
[10] Oliphant, T.E., 2006. A guide to NumPy, Trelgol Publishing USA.
[11] Библиотека Math. URL: https://docs.python.org/3/library/math.html
[12] Библиотека Matplotlib. URL: https://matplotlib.org/
[13] Библиотека Shapely.
URL: https://shapely.readthedocs.io/en/stable/manual.htm
[14] Библиотека Descartes.
URL: https://bitbucket.org/sgillies/descartes/src/default/
[15] Подиновский В. В., Ногин В. Д. Парето-оптимальные решения многокритериальных задач. - Физматлит, 2007.
[16] Бушенков В. А., Лотов А. В. Методы и алгоритмы анализа линейных систем на основе построения обобщенных множеств достижимости //Журнал вычислительной математики и математической физики. - 1980. - Т. 20. - №. 5. - С. 1130-1141.
Research and developing methods of solving engineering optimization problems for parallel
structure robots
Artem D. Maminov, Mikhail A. Posypkin
Annotation — We consider the optimization of the key //Ztamal vy^Mitel^oj matematiki i matematicheskoj fiziki. - I980
design parameters of the 2-RPR parallel robot in this paper. Optimization is carried out according to two criteria: the area of the workspace of the 2-RPR robot and the controllability index - global dexterity index (GDI). In the process of analyzing the robot, the direct and inverse kinematic problems are solved, the Jacobi matrices of the input and output parameters are found, and the final complete Jacobi matrix is constructed. We use Monte Carlo method to compute the area of the workspace. The GDI index is calculated by approximating the integral to the sum of the values on a uniform grid. As a result, the Pareto-optimal set is calculated for one of the parameters of the robot, which is the solution of the problem. There was created software package, which includes visualization of the robot workspace, the dependence of the robot condition number on various parameters of the 2-RPR robot and plot of Pareto-optimal solution.
20. - #. 5. - S. 1130-1141.
Key words — parallel robot, workspace area, singularity, multi-objective optimization.
References
[1] Huang T. et al. Optimal kinematic design of 2-DOF parallel manipulators with well-shaped workspace bounded by a specified conditioning index //IEEE Transactions on Robotics and Automation. -2004. - T. 20. - #. 3. - S. 538-543.
[2] Gosselin C., Angeles J. A global performance index for the kinematic optimization of robotic manipulators //Journal of Mechanical design. -1991. - T. 113. - #. 3. - S. 220-226.
[3] Gosselin C., Angeles J. Singularity analysis of closed-loop kinematic chains //IEEE transactions on robotics and automation. - 1990. - T. 6. - #. 3. - S. 281-290.
[4] Gallant M., Boudreau R. The synthesis of planar parallel manipulators with prismatic joints for an optimal, singularity-free workspace //Journal of Robotic Systems. - 2002. - T. 19. - #. 1. - S. 13-24.
[5] Merlet J. P. Parallel robots. - Springer Science and Business Media, 2006. - T. 128.
[6] Malyshev D. I. i dr. Analiz rabochej oblasti robota DexTAR-dexterous twin-arm robot //International Journal of Open Information Technologies. -2018. - T. 6. - #. 7.
[7] Stan S. D., Maties V., Balan R. Optimization of a 2 dof micro parallel robot using genetic algorithms //Frontiers in Evolutionary Robotics. -IntechOpen, 2008.
[8] Jeffektivnost' po Pareto // Vikipedija. [2018—2018]. Data obnovlenija: 07.06.2018. URL: https://ru.wikipedia.org/?oldid=93146142 B. Smith, "An approach to graphs of linear forms (Unpublished work style)," unpublished.
[9] Nam Y. J., Park M. K. Workspace optimization and kinematic performance evaluation of 2-DOF parallel mechanisms //Journal of mechanical science and technology. - 2006. - T. 20. - #. 10. - S. 16141625.
[10] Oliphant, T.E., 2006. A guide to NumPy, Trelgol Publishing USA.
[11] Biblioteka Math. URL: https://docs.python.org/3/library/math.html
[12] Biblioteka Matplotlib. URL: https://matplotlib.org/
[13] Biblioteka Shapely.
URL: https://shapely.readthedocs.io/en/stable/manual.html],
[14] Biblioteka Descartes.
URL: https://bitbucket.org/sgillies/descartes/src/default/
[15] Podinovskij V. V., Nogin V. D. Pareto-optimal'nye reshenija mnogokriterial'nyh zadach. - Fizmatlit, 2007.
[16] Bushenkov V. A., Lotov A. V. Metody i algoritmy analiza linejnyh sistem na osnove postroenija obobshhennyh mnozhestv dostizhimosti