ISSN 0236-235X (P)
ISSN 2311-2735 (E)
2

16 Июня 2024

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

DOI:10.15827/0236-235X.142.327-333
Дата подачи статьи: 13.02.2023
Дата после доработки: 20.03.2023
Дата принятия к публикации: 22.03.2023
УДК: 004.896

Тарачков М.В. (mishklgpmi@mail.ru) - Балтийский федеральный университет им. Иммануила Канта, Институт физико-математических наук и информационных технологий (аспирант), Калининград, Россия, Толстель О.В. (tolstel.oleg@mail.ru) - Балтийский федеральный университет им. Иммануила Канта, Институт физико-математических наук и информационных технологий (доцент), Калининград, Россия, кандидат технических наук, Калабин А.Л. (alex.ka.86@gmail.com) - Тверской государственный технический университет, г. Тверь, Россия, доктор физико-математических наук
Ключевые слова: планирование движений, по, промышленный робот, робот-манипулятор, система автоматического управления
Keywords: motion planning, software, industrial robot, robotic arm, the system of automatic control


     

В данной статье описана разработка системы автоматического управления (САУ) на примере предприятия пищевой промышленности АПХ «Мираторг» для скоростной линии по упаковке полуфабрикатов.

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

В рамках исследования разработана САУ выравниванием полуфабрикатов, которая позволяет заменить труд людей, повысить производительность линии и снизить долю брака. Основной элемент САУ – робот-манипулятор со специально разработанным для решения задачи выравнивания рабочим органом. Он осу-ществляет надавливающее и вибрационное воздействие на пакет с полуфабрикатами, в результате чего происходит выравнивание. В состав САУ также входят исполнительные механизмы и датчики. Разработанное ПО позволяет системе обрабатывать сигналы с датчиков, управлять исполнительными механизмами, осуществлять интеграцию с системами предприятия, обеспечивать интерфейс оператора. Реализация ПО велась с использованием Robot Operating System (ROS) – популярной программной платформы для программирования роботов [1]. В используемом ПО особого внимания заслуживают реализация планирования движений на основе задачи прямой и обратной кинематики для дельта-робота [2, 3] и реализация алгоритма выравнивания полуфабрикатов, так как разработка велась для конкретных робота-манипулятора и САУ, точного аналога которой в открытых источниках не найдено.

Разработанность темы исследования. На предприятии группы компаний «Мираторг» (г. Калининград) в производственном процессе используется большое количество средств автоматизации, например, роботы-упаковщики, которые раскладывают охлажденную продукцию в коробки. На рассматриваемом в данной работе участке осуществляется выравнивание полуфабрикатов. Инженерами компании уже была предложена система выравнивания, однако она работала менее эффективно, чем люди. Готовой системы в области автоматизации для выравнивания коробок не нашлось.

Тем не менее были найдены САУ для схожих процессов. Например, в [4] описана система, использующая дельта-манипулятор и техническое зрение для сортировки твердых бытовых отходов. Использование дельта-манипулятора обусловлено высокой скоростью конвейерной линии. Применение технического зрения позволяет определить координаты объекта. Однако скорость перемещения коробок существенно выше скорости сортировки твердых бытовых отходов. Кроме того, коробки с полуфабрикатами одинаковые, что дает возможность использовать детектор прерывания луча для определения их положения. Это быстрее и дешевле.

В статье [5] рассматривается ПО робота-манипулятора, в котором организуется взаимодействие с бортовым микроконтроллером робота, решаются задачи прямой и обратной кинематики, представлен интерфейс пользователя. Приводятся алгоритмы работы ПО. Ключевым отличием являются различная кинематика роботов, набор оборудования и задача, для решения которой используется робот.

В исследовании [6] описывается использование программной платформы ROS для управления роботом-манипулятором с семью степенями свободы. Особое внимание уделено функционированию всей системы в режиме реального времени, что важно при работе на больших скоростях. Результаты эксперимента показывают, что ROS может эффективно управлять оборудованием робота с высокой производительностью системы управления в режиме реального времени.

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

Все компоненты системы управляются при помощи одной платы. На рисунке 2 изображена схема сигнальной и силовой частей системы автоматизации. Питание осуществляется от двух блоков, которые преобразуют 220 В в 60 В для питания электродвигателей и 12 В для питания платы управления. В свою очередь, плата управления распределяет питание на концевые датчики, детектор коробки, реле управления электромагнитным клапаном. Блоки управления электродвигателями подключаются к плате управления через интерфейс STEP/DIR/ENABLE на выходы типа открытый коллектор. Они же передают управляющее воздействие на обмотки электродвигателей. Питание блоков управления осуществляется от блока питания 60 В, 5 А. Концевые датчики получают питание от платы управления и подключены на ее дискретные входы. Для управления электромагнитным клапаном используется симисторный ключ. Электромагнитный клапан управляет подачей сжатого воздуха на пневматический вибратор.

Планирование движений. Схематично дельта-манипулятор можно представить в виде двух параллельных треугольников, соединенных рычагами (рис. 3).

Точка E0(x0, y0, z0) – это положение рабочего органа в системе координат робота. Углы q1, q2, q3 определяют положение валов электродвига-телей. Задачи прямой и обратной кинематики можно формализовать следующим образом:

f(q1, q2, q3) ® (x0, y0, z0) – задача прямой кинематики, где по заданным углам поворота валов электродвигателей рассчитывается положение рабочего органа;

f(x0, y0, z0) ® (q1, q2, q3) – задача обратной кинематики, где по заданному положению рабочего органа вычисляются углы, на которые необходимо повернуть валы электродвигателей.

В концепции ROS реализован узел планирования движений, он обменивается сообщениями [7] с узлом связи с микроконтроллером платы управления.

Алгоритм выравнивания полуфабрикатов. На рисунке 4 САУ представлена схематично. Введена система координат, центр которой находится в точке M0, ось Z направлена вниз, ось X составляет угол a с центральной линией конвейера. Ось Y дополняет правую тройку, точка M0 – геометрический центр робота.

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

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

На рисунке 4 синий прямоугольник – коробка с полуфабрикатами, точка Mк – центр ее верхней грани. Коробка появляется в зоне видимости робота-манипулятора в момент прохождения через детектор (точка Mд). При этом M0 – начало системы координат робота-манипулятора. Точка M1 – координата центра нижней пластины рабочего органа в положении ожидания. Точка M2 – координата первого соприкосновения нижней пластины робота-манипулятора с коробкой. В этот момент осуществляется воздействие на полуфабрикаты в коробке самим роботом-манипулятором и пневматическим вибратором, размещенным на рабочем органе. Такое воздействие продолжается до точки M3; рабочий орган сопровождает коробку. В точке M3 рабочий орган прекращает воздействие на коробку и начинает движение в положение ожидания – точку M1.

Высоты точек M1, M2, M3 подобраны опытным путем. От них зависят качество выравнивания полуфабрикатов, сохранность упаковки и самих полуфабрикатов. В ходе испытаний было замечено, что наиболее эффективно выравнивание полуфабрикатов при установке точек M2 и M3 на высоте верхней грани коробки. При этом такая высота минимизирует воздействие рабочего органа на коробку. Высота точки M1 выбирается на несколько сантиметров меньше (ось Z направлена вниз), чем M2 и M3. Этого достаточно, чтобы при перемещении рабочего органа не зацепить коробку и невыровненные полуфабрикаты в ней.

Алгоритм разделен на два блока, работающих параллельно.

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

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

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

Второй блок отвечает за расчет положения коробки, время t0 которой записано в начало очереди, и отправку управляющих команд.

1.    Установить сигнал «Работа разрешена» в ЛОЖЬ.

2.    Если сигнал «Работа разрешена» в значении ЛОЖЬ, перейти к п. 3, иначе – к п. 5.

3.    Если размер очереди больше 0, то рассчитать текущее положение коробки, перейти к п. 4, иначе – к п. 2.

4.    Если текущее положение коробки находится в пределах рабочей области робота, то установить сигнал «Работа разрешена» в ИСТИНА и удалить первый элемент из очереди, перейти к п. 2.

5.    Выполнить последовательное перемещение из точки M1 в M2, затем из M2 в M3 и из M3 в M1. Установить сигнал «Работа разрешена» в ЛОЖЬ, перейти к п. 2.

Реализация ПО. В состав САУ входит бортовой микроконтроллер STM32F407VG, кото-рый размещен на плате управления. Его характеристики: процессор ARM Cortex M4, 168 МГц, 192 Кб ОЗУ, 1 Мб ПЗУ. Программирование осуществлялось на языке С++14 в CubeIDE. Использовалась операционная система реального времени FreeRTOS для того, чтобы несколько задач работали в псевдопараллельном режиме. Задачи, решаемые ПО микроконтроллера:

-      управление электродвигателями через интерфейс STEP/DIR/ENABLE;

-      опрос концевых датчиков для калибровки робота;

-      опрос датчика скорости конвейерной ленты;

-      опрос детектора коробок;

-      взаимодействие с существующей системой предприятия через дискретные входы-выходы;

-      индикация состояния САУ;

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

Разработанное ПО управляющего компьютера реализовано на языке программирования С++11. Используется операционная система Linux Ubuntu 18.04 LTS, программная платформа ROS. Характеристики управляющего компьютера: процессор Intel Atom, 4 Гб ОЗУ, 32 Гб ПЗУ. Управляющий компьютер решает следующие задачи:

-      расчет положения коробки и траектории робота-манипулятора для выравнивания полуфабрикатов;

-      обмен данными с бортовым микроконтроллером платы управления;

-      обеспечение интерфейса оператора для отображения текущего состояния САУ и задания параметров ее работы;

-      логирование действия САУ.

Интерфейс реализован на языке программирования Python 3 с использованием библиотеки KivyMD и представлен в виде узла в концепции ROS, который обменивается сообщениями с другими частями программы.

Особенностью реализации программного комплекса является его быстродействие. Именно поэтому используется язык программирования С++. Важно было минимизировать количество данных при обмене между бортовым микроконтроллером и управляющим компьютером, чтобы не переполнялся буфер обмена. В результате удалось добиться минимального времени обработки сигнала от детектора коробок, составляющего 10 мс. Этого достаточно, чтобы корректно производить выравнивание полуфабрикатов около 110 раз в минуту.

На рисунке 5 представлена структурная схема ПО. Она разделена на две части, которые связаны при помощи TCP-сервера и TCP-клиента. Очередь необходима для обмена данными между блоками управляющего компьютера, так как они реализованы как отдельные программы.

Испытания ПО. В первую очередь измерялась скорость прохождения сигнала от момента детектирования коробки до оказания управляющего воздействия на него. Время составило не более 10 мс.

Была проверена корректность обработки ПО различных ситуаций, которые могут произойти с САУ: нестандартные положения робота-манипулятора, застревание коробки с полуфабрикатами около детектора коробок и блокирование его работы. Особое внимание уделялось интерфейсу.

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

Было выполнено 20 экспериментов. Коробки стояли друг за другом без промежутков. Автоматизированная система выполняла выравнивание, после чего оценивался результат (http://www.swsys.ru/uploaded/image/2023-2/2023-2-dop/20.jpg). Во всех случаях пакеты с наггетсами в коробках были выровнены. В некоторых коробках были обнаружены повреждения. Следует отметить, что это результат нескольких экспериментов. В реальности выравнивание будет осуществляться только один раз.

Результаты. В ходе разработки ПО САУ для выравнивания полуфабрикатов удалось достичь требуемых показателей скорости работы и доли брака. Особое внимание уделено со-хранности упаковки и самих полуфабрикатов. За счет подбора параметров для алгоритма выравнивания не повреждаются ни коробка, ни полуфабрикаты.

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

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

1. Pyo Y., Cho H., Jung R., Lim T. ROS Robot Programming. ROBOTIS Publ., 2017, 487 p.

2. Тывес Л.И. Механизмы робототехники. Концепция развязок в кинематике, динамике и планировании движений. М.: Ленанд, 2018. С. 204.

3. Zsombor-Murray P. Descriptive Geometric Kinematic Analysis of Clavel’s ²Delta² Robot. 2004, pp. 1–5.
URL: https://www.cim.mcgill.ca/~paul/clavdelt.pdf (дата обращения: 12.02.2023).

4. Гемуев Ш.Ш., Воротников С.А. Роботизированный комплекс сортировки твердых бытовых отходов // Прикаспийский журнал: управление и высокие технологии. 2019. № 2. С. 194–207. doi: 10.21672/2074-1707.2019.46.2.194-207.

5. Колтыгин Д.С., Седельников И.А. Методика разработки программы управления роботом для робота-манипулятора Delta* // Науч. вестн. НГТУ. 2018. Т. 70. № 1. С. 103–116. doi: 10.17212/1814-1196-2018-1-103-116.

6. Zhang G., Li Z., Ni F., Liu H. A real-time robot control framework using ROS Control for 7-DoF Light-weight robot. Proc. IEEE/ASME Int. Conf. AIM, 2019, pp. 1754–1579. doi: 10.1109/AIM.2019.8868488.

7. Joseph L. Mastering ROS for Robotics Programming. Packt Publ., 2018, 689 p.

Reference List

1. Pyo, Y., Cho, H., Jung, R., Lim, T. (2017) ROS Robot Programming, ROBOTIS Publ., 487 p.

2. Tyves, L.I. (2018) Mechanisms of Robotics. The Concept of Interchanges in Kinematics, Dynamics and Motion Planning, Moscow, 204 p. (in Russ.).

3. Zsombor-Murray, P. (2004) Descriptive Geometric Kinematic Analysis of Clavel’s ²Delta² Robot, pp. 1–5, available at: https://www.cim.mcgill.ca/~paul/clavdelt.pdf (accessed February 12, 2023).

4. Gemuev, Sh.Sh., Vorotnikov, S.A. (2019) ‘Robotic complex for sorting of municipal solid waste’, Caspian J.: Management and High Tech., (2), pp. 194–207. doi: 10.21672/2074-1707.2019.46.2.194-207 (in Russ.).

5. Koltygin, D.S., Sedelnikov, I.A. (2018) ‘The methodology for developing a robot control program for the Delta robot manipulator’, Sci. Bull. of NSTU, 70(1), pp. 103–116. doi: 10.17212/1814-1196-2018-1-103-116 (in Russ.).

6. Zhang, G., Li, Z., Ni, F., Liu, H. (2019) ‘A real-time robot control framework using ROS Control for 7-DoF Light-weight robot’, Proc. IEEE/ASME Int. Conf. AIM, pp. 1754–1579. doi: 10.1109/AIM.2019.8868488.

7. Joseph, L. (2018) Mastering ROS for Robotics Programming, Packt Publ., 689 p.



http://swsys.ru/index.php?page=article&id=5008&lang=%E2%8C%A9=en


Perhaps, you might be interested in the following articles of similar topics: