Russian Federation
Voronezh, Voronezh, Russian Federation
UDK 63 Сельское хозяйство. Лесное хозяйство. Охота. Рыбное хозяйство
Abstract Currently, most large enterprises are actively using industrial robots and other automated solutions. This allows a significant increase in productivity and quality of work performed. This article gave a brief overview of modern industrial robots, their operating principle, basic components and systems. A reinforcement learning algorithm was developed and tested. The task of constructing a learning algorithm with reinforcement was divided into two stages: modeling the environment and description and optimization of the cost function. Since industrial robotic systems operate in the real world, the environment model should reflect basic physical laws. Therefore, the pyBullet library of the physical environment was chosen as the physical environment for testing. After modeling the manipulator in the selected physical medium, it was given the trivial task of touching a given object with the capture of the manipulator. An artificial neural network was used as an agent interacting with the environment. The inputs were the coordinates of the object and the existing angles of rotation of the articulated joints of the robot. Outputs - angle of rotation of joints at this step. This network was trained using the back propagation method, Adam modification. The system was trained for about 12 hours. Success is achieved in 95% of cases when testing the stability of the system (random position of the cylinder). In future, it is planned to test the obtained models on bench samples
industrial robot, neural network, algorithm, reinforcement learning, automation, robot-manipulator
Введение
В настоящее время практически все крупные предприятия любой промышленной сферы стараются использовать множество различных автоматизированных решений. При использовании подобных средств человеческий фактор практически полностью исключается из производственного процесса. В лесной промышленности подобная тенденция тоже прослеживается. Начиная от полуавтоматизированных лесозаготовительных комплексов по типу харвестера от john deere, заканчивая автоматизированными станками с ЧПУ и манипуляторами для погрузки хлыстов и сортимента. Использование такого рода техники позволяет в значительной степени повысить производительность и качество выполняемых работ, а также сократить количество используемой техники [2].
В данной статье хотелось бы затронуть вопрос современных промышленных роботов, их возможности, структуру, а также программную составляющую для их управления. Также приведем некоторые исследования в данной области.
Материал и методы исследования
Зачастую промышленный робот представляется в антропоморфной форме (аналог человеческой руки). Подобная структура является наиболее популярной и неспроста. Это позволяет сделать конструкцию более универсальной и иметь несколько степеней свободы (обычно от 4-х и более).
В промышленной сфере большим спросом пользуются полностью автоматизированные роботы-манипуляторы, которые выполняют определенный спектр поставленных задач при помощи алгоритмов и разного рода датчиков. Такие роботы могут сами принимать решения, но все они будут в рамках прописанных алгоритмом.
Однако специфика и спектр различных применений промышленных роботов подразумевает разработку и создание промышленных роботов с использованием нейронных сетей, способных моделировать свое виртуальное пространство, в котором могут ориентироваться и принимать решения о последующих действиях. Такие роботы могут обучаться сами, по мере поступления опыта [1]. Яркими примерами являются промышленные роботы фирмы KUKA и AMAZON (рис. 1).
Конструкцию современного промышленного робота можно разделить на две основные части: механическую и аппаратную.
Механическая часть, включает в себя звенья манипулятора, систему приводов и т.д. Аппаратная часть, включает в себя систему управления приводами механической части, а также информационно-сенсорную систему, которая обеспечивает робот необходимой вводной информацией. Объем и сложность аппаратной части во многом зависит от области использования того или иного робота.
Функциональная схема робота-манипулятора показана на рисунке 2.
Исполнительным механизмом манипулятора обычно является открытая кинематическая цепь. При этом каждое звено цепи соединяется последовательно между собой вращательными либо поступательными сочленениями.
а) |
б) |
Рис. 1. Антропоморфные роботы – манипуляторы: а) образец компании KUKA; Источник: компания KUKA. – URL: https://www.kuka.com/ б) образец компании AMAZON. Источник: Amazon полностью заменит работу человека роботом на промышленных предприятиях. – URL: https://versiya.info/tehnika-i-tehnologii/101175/amp |
|
Рис. 2. Функциональная схема робота-манипулятора: 1 – неподвижная опора; 2 – электродвигатель; 3 – опорное вращательное звено; 4 – возвратно-поступательные звенья; 5 – захват Источник: собственная разработка авторов |
Количество степеней свободы, а также рабочая область промышленного робота будет зависеть от взаимного расположения и комбинации звеньев (рис. 3).
В большинстве случаев в исполнительном механизме робота-манипулятора первые три звена осуществляют транспортные функции. Они обеспечивают смещение рабочего органа в необходимое положение. Все остальные сочленения выполняют ориентирующую функцию, направляя рабочий орган согласно поставленной задаче [3].
Ниже представлены четыре категории промышленных роботов, которые делятся в зависимости от вида первых трёх сочленений:
- роботы, у которых все три начальных сочленения являются поступательными (они работают в декартовой системе координат);
- роботы, у которых среди начальных сочленений два поступательных и одно вращательное (они работают в цилиндрической системе координат);
- роботы, у которых среди начальных сочленений одно поступательных и два вращательных (они работают в сферической системе координат);
- роботы, у которых все три начальных сочленения являются вращательными (они работают в угловой, или вращательной, системе координат).
Разделение степеней подвижности у некоторых промышленных роботов на переносные и ориентирующие не предусмотрено. В качестве примера можно привести роботов, с числом степеней свободы более шести (избыточная кинематика).
Рабочий орган – устройство, которое предназначено для реализации конкретной производственно задачи. Он размещается на последнем звене робота-манипулятора. В качестве рабочего органа могут выступать как универсальные устройства по типу захватов, так и профильные инструменты.
Схват – устройство, захватывающее и удерживающее объект посредством относительного перемещения частей данного устройства. Он является одним из самых универсальных видов захватного устройства. Схват по конструкции напоминает человеческую кисть: захват объектов производится при помощи механических «пальцев» [1, 3].
Электрические, пневматические или гидравлические двигатели применяют в качестве привода. Электрические приводы способствуют выполнению более точных операций. При этом гидравлические приводы используют для более тяжелых работ, где необходимо развивать высокое быстродействие или большое усилие. В свою очередь, пневматические приводы применяют на малогабаритных роботах для выполнения простых цикличных операций.
Основным элементов аппаратной части является силовой преобразователь – драйвер двигателя. Для управления электродвигателями постоянного тока используют некоторое количество схем. Самой функциональной из всех является Н–мост. Общая схема Н-моста изображена на рисунке 4.
Показанная схема содержит четыре ключа. Они включены попарно последовательно. Между парами располагается двигатель (якорная цепь). Два нижних ключа подключаются к отрицательной шине источника питания, два верхних ключа – к положительной шине источника питания. Для включения двигателя необходимо, чтобы были включены два ключа, допустим S1 и S4, в данном случае ток будет протекать от источника питания через ключ S1, далее через якорь двигателя и через ключ S4, а два другие ключа должны быть закрыты. Для того чтобы реверсировать движение тока, тока в якоре двигателя необходимо закрыть ключи S1 и S4, а ключи S2 и S3 открыть [3].
В наши дни предъявляются все большие требования к универсальности алгоритмов, используемых для управления промышленными робототехническими системами. В настоящее время наиболее перспективным подходом является применение обучения с подкреплением [4, 5]. Рассмотрим подробнее данный подход.
В литературе [4] используются термины «агент» и «среда» – для обозначения робототехнической системы и внешних факторов соответственно. Вся концепция подхода строиться на утверждении, что существует функция стоимости [5], зависящая от предыдущих действий агента и состояния среды, которая может быть рассчитана в каждый момент времени и ее максимизация влечет за собой выполнение поставленной перед робототехнической системой задачи.
На рисунке 5 приведена схема процесса обучения с подкреплением.
|
Рис. 3. Схема робота-манипулятора с обозначением степеней свободы [2, 3] |
|
Рис. 4. Общая схема Н-моста [2, 3] |
Рис. 5. Схема обучения с подкреплением
Источник: собственная разработка авторов
Рeзультaты иccлeдoвaния и их oбсуждeние
Технически наиболее сложным является математическое описание функции стоимости, в то время как задача её оптимизации может быть решена с помощью численных методов оптимизации. Рассмотрим подробнее механизм определения функции стоимости.
Введем к уже используемым обозначениям переменную , определяющую взвешенную сумму ранее полученных наград к шагу t [4]. Она определяется как
где – коэффициент, обеспечивающий снижение значения последних действий. Подобная формулировка необходима для увеличения количества действий, приводящих к положительному результату. Данное выражение справедливо для случая, когда действия последовательны, то есть у агента нет выбора. Для случая выбора из K действий на каждом шаге:
где – ранее полученные награды к шагу t, при текущем состоянии среды S; – вероятность перехода среды в состояние Sk, при выборе действия k. Заключительным изменением данной формулировки является введение «политики» [6]. Под политикой ( ) понимается стратегия принятия решения выбора конкретного действия в текущем состоянии среды:
где a – все доступные для агента действия; – текущая политика.
Задача построения алгоритма обучения с подкреплением делится на два этапа: моделирование среды и описание и оптимизация функции стоимости. Так как промышленные робототехнические системы работают в реальном мире, модель окружения должна отражать основные физические законы. Проведя анализ доступных физических окружений – библиотек, использующих просчет физики для инженерных целей, были выделены две библиотеки: MuJoCo [7, 8] и pyBullet [9]. Данные библиотеки фундаментально не отличаются между собой – только разные подходы к описанию логики и ценовая политика. Было принято решение использование в качестве физического окружения pyBullet ввиду его бесплатной модели распространения. Для реализации среды был смоделирован промышленный робот, соответствующая физическая среда и объекты, на которые робот должен воздействовать (рис. 6). Таким образом, первый этап построения модели обучения с подкреплением можно считать выполненным.
Была выбрана тривиальная задача касание захвата манипулятора заданного объекта (на рисунке 6 зеленый цилиндр). В качестве функции стоимости выступало следующее выражение:
где, C – координаты цели (цилиндра); T – координаты захвата робота; t – текущий шаг. Деление на t обусловлено условием минимизации количества действий робота: чем больше шагов пройдено – тем меньше награда на текущем шаге. Функция стоимости определяется как максимизация награды , где W – параметры модели.
В качестве агента, взаимодействующего со средой, использовалась искусственная нейронная сеть [10]. Использовалась простейший персептрон с 2 скрытыми слоями. Входами служили координаты объекта и существующие углы поворотов шарнирных сочленений робота. Выходами – угол поворота сочленений на данном шаге. Архитектура искусственной нейронной сети приведена на рисунке 7.
Данная архитектура была выбрана из эмпирических соображений [11], подбор гиперпараметров не производился.
Данная сеть обучалась методом обратного распространения ошибки, модификацией Adam [10]. Система обучалась около 12 часов. При тестировании устойчивости системы (случайное положение цилиндра), успех достигается в 95% случаев. Следует отметить, что для применения системы требуется 4 операции матричного перемножения, 4 операции матричного сложения и 3 операции поэлементного применения нелинейной функции. Данное количество операций уже учитывает моделируемые физические условия. Увеличение конечной точности системы может быть достигнуто за счет подбора гиперпараметров и увеличения времени обучения.
На рисунке 8 приведены графики изменения ошибки обучения в зависимости от эпохи. Под эпохой обучения понимается одно изменение весов ИНС [10].
Из рисунка видно, что после 500 эпох обучения появляется участок с флуктуациями ошибки. Это связано с тем, что ИНС обучается на случайно сгенерированных примерах, обобщая полученную информацию. После 1500 эпохи целесообразно прекратить обучение, так как достигнута квазиоптимальная конфигурация ИНС.
Выводы. По результатам проведенных теоретических исследований было выявлено, что данный метод показывает высокий процент реализации поставленной задачи (95%). В дальнейшем планируется тестирование данных моделей на стендовых образцах.
Рис. 6. Рендеринг физического окружения pyBullet для робота-манипулятора
Источник: собственная разработка авторов в рендеринге физического окружения pyBullet
Полносвязный слой 32 |
Выходной слой 5 |
Полносвязный слой 8 |
Полносвязный слой 64 |
Рис. 7. Архитектура агента, выполненного в виде искусственной нейронной сети
Источник: собственная разработка авторов
Рис. 8. Графики изменения ошибки обучения в зависимости от эпохи
Источник: собственная разработка авторов
1. Lekcii. Klassifikacii sistem koordinat. – URL: http://baumanki.net/lectures/ (data obrascheniya 17.10.2019).
2. Analiz sovremennogo sostoyaniya primeneniya robotov v promyshlennosti. – URL: https://ru.wikipedia.org/wiki (data obrascheniya 17.10.2019).
3. Shirtladze, A.G. Klassifikaciya i struktura promyshlennyh robotov / A. G. Shirtladze, V. I. Vyhodec, N. I. Nikiforov. – URL: http://www.metal-working.ru/ (data obrascheniya 17.10.2019).
4. Satton, R.S. Obuchenie s podkrepleniem / R.S. Satton, E.G. Barto. – M.: Binom. Laboratoriya znaniy, 2017. – 399 s.
5. Wang, Z. Dueling Network Architectures for Deep Reinforcement Learning / Z. Wang, T. Schaul, M. Hessel, H. van Hasselt, M. Lanctot, N. de Freitas // CoRR. – abs/1511.06581. – 2016. – pp. 1-15.
6. Sutton, R.S. Policy Gradient Methods for Reinforcement Learning with Function Approximation / R.S. Sutton, D.A. McAllester, S.P. Singh, M. Yishay // Advances in Neural Information Processing Systems 12. – 2000. – pp. 1057-1063.
7. MuJoCo advanced physics simulation. – URL: http://www.mujoco.org/ (data obrascheniya: 18.10.2019).
8. Todorov, E. A physics engine for model-based control / E. Todorov, T. Erez, Y. Tassa, MuJoCo // IROS. – 2012. – pp. 5026-5033. – DOI: 10.1109/IROS.2012.6386109.
9. Bullet Real-Time Physics Simulation. – URL: https://pybullet.org/wordpress/ (data obrascheniya: 18.10.2019).
10. Gudfellou Ya. Glubokoe obuchenie [Tekst] / Ya. Gudfellou, I. Bendzhio, A. Kurvill'. – Moskva: «DMK Press», 2017. – 652 s.
11. Tolstyh, A.A. Vybor arhitektury iskusstvennoy neyronnoy seti na osnove sravneniya effektivnosti metodov raspoznavaniya izobrazheniy / A.A. Tolstyh, A.N. Golubinskiy // Vestnik Voronezhskogo instituta MVD Rossii. – 2018. – № 1. – C. 27-37.