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

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

CC BY
23
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
планирование траектории / управление манипуляционным механизмом / REST API / Golang / PostgreSQL / Vue JS / ESP32 / STM32 / trajectory planning / manipulation mechanism control / REST API / Golang / PostgreSQL / Vue JS / ESP32 / STM32

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — М. О. Чайкин

Планирование траектории движения выходных звеньев манипуляционных механизмов является одной из важнейших задач при практическом применении роботов в различных областях техники. В данной работе описывается разработка программного комплекса для автоматизации процесса задания траектории с условием обеспечения точности её выполнения. Разработанный комплекс позволяет формировать траекторию по различным исходным данным, решать прямую и обратную задачу кинематики, а также выполнять процедуру интерполяции с целью получения законов изменения обобщённых координат манипуляционного механизма. Интерфейс для взаимодействия с человеком-оператором представлен WEB-клиентом, написанным на Vue JS. Взаимодействие с базой данных PostgreSQL для хранения информации осуществляется посредством REST API, реализованного на языке программирования Go. Для обеспечения прохождения по заданной траектории был рассмотрен алгоритм управления, основанный на обратных задачах динамики. Расчёт закона управления осуществлялся с использованием микроконтроллеров семейства STM32 для двигателей постоянного тока с датчиком Холла для обратной связи по положению и скорости. Передача данных между WEB-клиентом и манипуляционным механизмом осуществляется при помощи микроконтроллера ESP32, на котором реализован websocket, а также REST API для задания команд управления. Результаты работы комплекса планирования траектории демонстрируются на примере совместного относительного манипулирования механизма с пятью степенями свободы.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — М. О. Чайкин

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Development of a software package for solving the problem of trajectory planning with motion control of the manipulation mechanism

Trajectory planning of the end effector of manipulation mechanisms is one of the most important tasks in the practical application of robots in various fields of technology. This paper describes the development of a software package for automating the trajectory setting process with the condition of ensuring its accurate execution. The developed software allows to form a trajectory based on various source data, solve the direct and inverse kinematics problem, as well as perform an interpolation procedure in order to obtain the laws of change of the generalized coordinates of the manipulation mechanism. The interface for interacting with a human operator is represented by a WEB client written in Vue JS. Interaction with the PostgreSQL database for storing information is carried out through the REST API implemented in the Go programming language. To ensure passage along a given trajectory, a control algorithm based on inverse dynamics problems was considered. The control law was calculated using STM32 family microcontrollers for DC motors with a Hall sensor for position and speed feedback. Data transfer between the WEB client and the manipulation mechanism is carried out using the ESP32 microcontroller, which implements websocket, as well as a REST API for setting control commands. The results of the trajectory planning complex are demonstrated by the example of joint relative manipulation of a mechanism with five degrees of freedom.

Текст научной работы на тему «Разработка программного комплекса для решения задачи планирования траектории при управлении движением манипуляционного механизма»

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

М. О. Чайкин

Аннотация — Планирование траектории движения выходных звеньев манипуляционных механизмов является одной из важнейших задач при практическом применении роботов в различных областях техники. В данной работе описывается разработка программного комплекса для автоматизации процесса задания траектории с условием обеспечения точности её выполнения. Разработанный комплекс позволяет формировать траекторию по различным исходным данным, решать прямую и обратную задачу кинематики, а также выполнять процедуру интерполяции с целью получения законов изменения обобщённых координат манипуляционного механизма. Интерфейс для взаимодействия с человеком-оператором представлен WEB-клиентом, написанным на Vue JS. Взаимодействие с базой данных PostgreSQL для хранения информации осуществляется посредством REST API, реализованного на языке программирования Go. Для обеспечения прохождения по заданной траектории был рассмотрен алгоритм управления, основанный на обратных задачах динамики. Расчёт закона управления осуществлялся с использованием микроконтроллеров семейства STM32 для двигателей постоянного тока с датчиком Холла для обратной связи по положению и скорости. Передача данных между WEB-клиентом и манипуляционным механизмом осуществляется при помощи микроконтроллера ESP32, на котором реализован websocket, а также REST API для задания команд управления. Результаты работы комплекса планирования траектории демонстрируются на примере совместного относительного манипулирования механизма с пятью степенями свободы.

Ключевые слова — планирование траектории, управление манипуляционным механизмом, REST API, Golang, PostgreSQL, Vue JS, ESP32, STM32

I. Введение

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

Статья получена 5 декабря 2023.

Чайкин Максим Олегович, МГТУ им. Н.Э. Баумана, аспирант

кафедры РК2 «Теория машин и механизмов» (e-mail: chaykin.maksim@yandex.ru)

исполнительного механизма, являются обеспечение её плавности и непрерывности, а также соответствие допустимым кинематическим и динамическим характеристикам робота [1]. При этом прохождение схвата манипулятора по заданной траектории осуществляется при помощи синтеза алгоритма управления, направленного на достижение точного положения, оптимизацию времени [2, 3], энергопотребления [4] или нивелирования риска столкновения схвата робота с объектами окружающей среды [5, 6]. Планирование траектории при управлении манипуляционным механизмом затрагивает множество аспектов проектирования роботов и является комплексной задачей, требующей соответствующей автоматизации.

В рамках работы предлагается разработка программного комплекса, направленного на упрощение и автоматизацию процесса задания траектории в зависимости от выбранного типа манипулятора. Такое решение позволяет эффективно осуществлять планирование траектории с точки зрения человека-оператора, задача которого указывать только конечные цели выходного звена манипулятора, а не заниматься непосредственным программированием робота. Для фактического прохождения по заданной траектории рассматривается метод управления, основанный на решении обратной задачи динамики для достижения минимальной энергии ускорения [7]. Структура статьи построена следующим образом: в разделе II рассматривается процедура планирования траектории; в разделе III определяются основные функциональные требования, накладываемые на разрабатываемый комплекс; в разделе IV описывается предлагаемая архитектура комплекса; в разделе V приводится синтез алгоритма управления манипуляционным механизмом; в разделе VI демонстрируются результаты работы комплекса.

II. ПРОЦЕДУРА ПЛАНИРОВАНИЯ ТРАЕКТОРИИ

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

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

Примем, что формируемая траектория движения выходного звена манипуляционного механизма зависит от вида траектории, времени прохождения Т и количества опорных точек N. Определим три способа задания траектории:

• В параметрической форме: путём ввода законов

изменения декартовых координат и углов ориентации выходного звена механизма как функции от времени. В случае ввода траектории в параметрической форме происходит определение значений декартовых координат для п,I = 1..^ . Затем решается обратная задача кинематики.

• По декартовым координатам: пользователь

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

• По обобщённым координатам: пользователь

вводит последовательность из N обобщённых координат, по которым находятся декартовые координаты посредством решения прямой задачи кинематики.

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

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

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

Главная цель применения интерполяции заключается в формировании закона изменения обобщённых координат от времени, который является входным значением для регуляторов приводов кинематических пар механизма. В зависимости от типа многочлена, используемого для приближения траектории, выделяют линейную и полиномиальную интерполяцию [10], а также интерполяцию сплайнами [11]. Первые два метода являются наиболее простыми с точки зрения вычисления, однако не позволяют определять скорость и ускорение в краевых точках отрезка посредством дифференцирования. Интерполяция сплайнами же обеспечивает большую гибкость задания траектории, так как обеспечивает непрерывность первых и вторых производных, что позволяет накладывать на траекторию дополнительные условия на скорость, ускорение и т.д.

Функциональные этапы процедуры планирования траектории показаны на рисунке 1.

III. Определение функциональных требований

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

1. Выбор манипуляционного механизма для проведения моделирования и задания траектории;

2. Возможность просмотра кинематических конфигураций механизмов;

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

4. Задание траектории в параметрической форме как зависимость декартовых координат от времени, а также

Рис. 1 - Процедура формирования траектории

по наборам декартовых или обобщённых координат;

5. Решение прямой и обратной задачи кинематики;

6. Осуществление интерполяции введённой траектории;

7. Сохранение промоделированной траектории в базу данных;

8. Возможность повторной визуализации промоделированной ранее траектории;

9. Возможность задания промоделированной траектории для исполнения манипуляционным механизмом;

10. Сохранение и просмотр истории наблюдений за работой механизма.

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

Рис. 2 - Диаграмма вариантов использования

IV. Реализация комплекса планирования траектории

A. Предлагаемая архитектура

Предлагаемый комплекс планирования траектории включает в себя WEB приложение для взаимодействия с человеком-оператором и программу управления исполнительным механизмом, который объединяет аппаратную часть, представленную

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

WEB-клиент написан с использованием фреймворка Vue JS, библиотеки компонентов Vuetify и менеджера состояний Vuex. Выбор данного решения для frontend части приложения обеспечило возможность быстрого прототипирования UI с использованием преимуществ реактивности для отображения и обновления данных. При этом по сравнению с другими JavaScript фреймворками Vue обладает большей скоростью

рендеринга компонентов и имеет более простой синтаксис, что ускоряет процесс написания кода [12]. Взаимодействие с базой данных осуществляется посредством REST API, написанного на языке программирования Go с использованием фреймворка Gin [13].

Передача информации между WEB-клиентом и уровнем управления манипуляционным механизмом осуществляется посредством websocket для передачи параметров работы в режиме реального времени, а также REST API для задания управляющих команд. Данный уровень можно реализовать с использованием любого микроконтроллера, имеющего Wi-Fi модуль. В рамках данной работы был использован микроконтроллер ESP32, поскольку он имеет встроенный Wi-Fi модуль, несколько UART и SPI интерфейсов, широкий выбор сред разработки, а также относительно низкую стоимость по сравнению с аналогами [14].

B. Структура базы данных

В качестве базы данных для хранения сведений о траектории используется СУБД PostgreSQL. Данное решение является бесплатным, обеспечивает полную поддержку SQL, а также имеет возможность хранения данных формата JSON и предоставляет механизм транзакций, что обеспечивает целостность хранимых данных [15]. ER-диаграмма базы данных представлена на рисунке 4.

Рис. 3 - Архитектура комплекса планирования траектории

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

mechanisms 1

il) çh„ VM

description text

stend_img_url

struct_i«ig_url

id «

«ecb_id inX

ti» timestamp

description

params :50п„

mech_coriig_id - inech_configs

timestamp id «

n™ mech_id int

description char var

dkt_poirit description Ctax V«

dkt_polii>oms ]5oni config jsonb

ikt_point ]Soni type Ch„ V«

ikt.polinoms J,™ current bool

Рис. 4 - ER-диаграмма базы данных Таблица mechanisms необходима для хранения информации о механизмах, доступных для исследования. Данная таблица связана отношением «многие ко многим» с таблицами mechconfigs для описания кинематической конфигурации механизма, trajectories для записи промоделированных траектории, historymechtesting для хранения сеансов испытаний.

C. Описание API

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

/mechanisms/ (GET): получить названия, описания, изображения, текущие конфигурации, приводы, датчики обратной связи и параметры для контроля для всех доступных манипуляционных механизмов; /mechanisms/{mech_id}/configs (GET): получить все кинематические конфигурации механизма по его идентификатору; /mechanisms/{mech_id}/configs/current (GET): получить активную (текущую) кинематическую конфигурацию исследуемого механизма; /mechanisms/{mech_id}/kinematics/dkt_solver

(POST): решить прямую задачу кинематики; /mechanisms/{mech_id}/kinematics/ikt_solver

(POST): решить обратную задачу кинематики; /mechanisms/{mech_id}/kinematics/interpolation (POST): найти интерполяционные многочлены для заданного набора точек; /mechanisms/{mech_id}/trajectories (GET): получить доступные траектории для заданного механизма; /mechanisms/{mech_id}/trajectories/{traj_id} (GET): получить траекторию по её идентификатору для исследуемого механизма; /mechanisms/{mech_id}/trajectories/save (POST):

сохранить траекторию; /mechanisms/{mech_id}/history/ (GET): получить истории наблюдений за параметрами манипуляционного механизма по его идентификатору;

• /histories/add (POST): добавить новую историю

наблюдений за параметрами работы манипуляционного механизма;

• /histories/{id}/edit (POST): редактировать

название и описание истории наблюдений за параметрами работы манипуляционного механизма;

• /histories/{id}/del (DEL): удалить историю

наблюдений за параметрами манипуляционного механизма.

Структура API для управления манипуляционным механизмом включает три запроса:

• /start (GET): начало движения по заданной

траектории;

• /stop (GET): завершение движения по заданной

траектории;

• /setPoint?motor_id={motor_id} (POST): задание

требуемых значений обобщённой координаты в зависимости от метода планирования траектории.

V. Описание экспериментального стенда и

АЛГОРИТМА УПРАВЛЕНИЯ

A. Экспериментальный стенд

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

Г1ГГ—Пи

Рис. 5 - Экспериментальный стенд

Движение кинематических пар механизма осуществляется при помощи двигателей постоянного тока с червячным редуктором с датчиком Холла для реализации обратной связи и драйвером L298N для задания ШИМ сигнала. Расчёт алгоритма управления осуществляется на микроконтроллере семейства STM32, который предназначен для получения и передачи информации по UART с микроконтроллером ESP32.

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

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

ПереВача данных по 115АРТ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Хранение данных траектории 6 памяти ПК

Запуск потока управления

III 1 1 e.ti.6

1

fe 1 1 1 S ° 1 Расчет требуемого положения

1 * !

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

1

a- s

I I §

g § £ I

Отпрабка значений параметров на ESP32

Формиробание управляющего сигнала uf..u6

Патокобая работа регулятора

ПреоВразобание управляющего сигнала и)...и6 6 ШИП

Рис. 6 - Принципиальная схема работы микроконтроллера

B. Задача управления

Задачей управления является синтез такого алгоритма, при котором рассматриваемый объект переходит из произвольного начального состояния x0 = x(0) в

заданное конечное x(x) = xуст = const, при этом

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

x3 (t) + a, x3 (t) + а0 x3 (t) = а0 xycm (t), (1)

где числовые значения параметров a0 и a, подбираются из условия обеспечения заданного процесса.

Эталонный процесс выбирается исходя из требований, накладываемых на синтезируемую систему. В частности, одним из таких требований может быть обеспечение заданного быстродействия переходного процесса. Исходя из этого зададим эталонный процесс с учётом времени управления ty = 2.45 с :

W (s) =

3.9

s2 + 4s + 3.9

(2)

С. Алгоритм управления

Рассмотрим синтез системы управления по критерию минимума энергии ускорения. В этом случае структура алгоритма и его параметры определяются из условия минимизации функционала [7]:

1 2

J(u) =— [хэ (t) - x(t, u)] .

(3)

-—u(t) = XdJ(u), X-const. dt du

(4)

x(t, u) = b0u (t) - a0x(t) - a1x(t).

(6)

математической модели ДПТ [16] как b0 =

k_

J • L

Rk + kk JR + Lk„,

0 J • L ' 1 JL

где ke

—u(t) = K («o [x„ (t) - x(t)] - aiX(t) - X(t)}. (9)

Однократно проинтегрировав с учётом нулевых начальных условий, окончательно найдем:

(t) = K j a0 j [хвх (t) - x(t)]dt - ax(t) - X(t)

(10)

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

Для определения закона управления воспользуемся градиентной схемой первого порядка:

Запишем передаточную функцию двигателя постоянного тока в виде дифференциального уравнения:

Щ) + а1х(/) + а0х(/) = ¿0и(/), (5)

Коэффициенты b0, a0, a1 в (5) и (6) определяются из

электромагнитный коэффициент противоЭДС; кет -коэффициент вязкого трения; Я - сопротивление якорной цепи, [Ом]; Ь - индуктивность якорной цепи, [Гн]; J - момент инерции якоря ДПТ, [кг м2].

Найдем производную функционала (3) по управлению и с учётом уравнения (6):

d d ГЬ п21

—J(и) = -"{-[хэ(?) - Х(?,и)] }• = du du [2

~йи [2 [ X (?) - V (?) - ао х(?) - ^Х (?)]211 =

= -К0 [Хэ (?) - К0и(?) - а0х(?) - а1 X(?)] = -Ь0 [Хэ (?) - XX(?)]. Следовательно уравнение (4) примет вид:

^) = -¿Ь0 [Хэ (?) - Х(?)] = К [Хэ (?) - XX(/)], (7)

где К = -ЛК0.

Значение Хэ (?) находится из уравнения (5): Хэ (?) = а [х„ (?) - Хэ (?)] - а^Хэ (о, (8)

где Хвх (?) - входной сигнал.

Заменим в первой части выражения (8) Хэ ) на х(/) и подставим его в уравнение (7). В результате получим дифференциальный закон управления:

Рис. 7 - Структурная схема замкнутой системы управления по критерию минимума энергии ускорения с учётом дифференцирующего звена для вычисления

выходной координаты Для практической реализации алгоритма управления необходимо провести дискретизацию непрерывного закона управления (10). Запишем (10) в форме преобразования Лапласа:

и (5) = К [О1 (Хвх (*) - X (*)}-( 5 + «1) X (5) ^ =

Xвх (5) - К 5 +«1 )+а0] X(5)

Или после приведения к общему знаменателю:

5и(5) = Ка0Xвx (5) - К(/ +а15 + а0)X(5). (11)

После выполнения дискретизации методом Тустина или Эйлера уравнение сигнала (11) сводится к виду:

(22 + + а0 )и (z) = (¿2 22 + ¿2 + К) Xвx (2) + +(С2 2 2 + Сх2 + С0) X (2).

Ka.

(12)

Вынесем z2 в уравнении (12) и раскроем скобки:

U ( z) + aiz-lU ( z) + a0 z ~2U ( z) = b2 X„ ( z ) + bxz-1X„ ( z) + +b0 z- Xex ( z) + c2 X ( z) + c1z ~lX ( z) + c0 z - X ( z)

(13)

Исходя из (13) разностное уравнение регулятора имеет вид:

u[k] = b2xœ [k] + b1 xex [k - 1] + b0xex [k - 2] + c2x[k] +

+c1 x[k -1] + c0x[k - 2] - a1u[k -1] - a0u[k - 2]

(14)

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

Таблица 1 - Коэффициенты разностного уравнения управления по критерию минимума ускорения

Обратный метод Эйлера Метод Тустина

a0 = 0 ; a1 = -1 ; a0 = -1 ; a1 = 0 ;

bo — 0; b = 0; b2 = KaoTà ; bo = \aTàK ; bi —aoTàK ; b2 = 2aoTàK ;

K C0 = - T ' c = -K (-Ta - 2) ; 1 Tà - K (TX + Ta +1) C2 = Tà • c = (T/a - 2T,ai + 4)K ; C0 2Tà ' c = (2Tla - 8)K ; 1 2Tà c = (Tà2a0 + 2Ta + 4)K C2 — • 2 2Tà

Итоговые параметры регулятора а0 = 3.9, а1 = 4.0, К = 44.1. Период дискретизации Тд равен 0.04 с. и был определён исходя из анализа запаса устойчивости разомкнутой системы управления.

Алгоритм работы микроконтроллера представлен на рисунке 8.

Инициализация щ. д.. К, ij

I

Получение текущего положения Q^fgikJ

Расчет упрпдления ufkj

ПрепфазпВпние ulkl В ¡Hfl и задание его через файбер

Ждать Д<

Рис. 8 - Алгоритм расчета дискретного управления на основе критерия минимума энергии ускорения на микроконтроллере Результаты эксперимента показывают, что задача управления полностью достигнута, поскольку реальный процесс следует за эталонным, выполняя заданное требование на время управления (Рис. 9).

Рис. 9 - Сравнение теоретических и практических результатов работы регулятора на основе критерия минимума энергии ускорения

VI. Демонстрация разработанного комплекса А. Редактор кинематических конфигураций

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

Рис. 10 - Конфигурация механизмов

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

Рис. 14 - Вывод решения обратной и прямой задач кинематики

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Затем происходит интерполированное каждого набора координат с последующим выводом коэффициентов интерполяционных полиномов (Рис. 15).

Рис. 11 - Редактирование конфигурации механизма

В. Формирование траектории

Окно выбора механизма и способа для формирования траектории располагается на странице «Новая траектория» (Рис. 12).

Рис. 15 - Коэффициенты интерполяционных полиномов Заключительным этапом является визуализация траектории (Рис. 16).

Рис. 12 - Выбор метод задания траектории После выбора способа формирования траектории открывается окно с вводом входных значений (Рис. 13).

Рис. 13 - Ввод законов изменения декартовых координат

На рисунке 14 показано отображение полученных наборов декартовых и обобщённых координат в результате ввода параметрической траектории.

Рис. 16 - Визуализация траектории Для сохранения траектории в базу данных необходимо ввести её название, а также краткое описание (Рис. 17).

Рис. 17 - Форма сохранения траектории Обозреватель траекторий механизма (Рис. 18) позволяет визуализировать траектории, а также импортировать их в файл.

Рис. 18 - Обозреватель траекторий механизма

С. Результат планирования траектории

Для проверки работы системы была задана траектория в параметрической форме с временем прохождения Т = 100 и количеством опорных точек N = 50:

9 9

х(/) = 50зт(— ?)СОБ(5/); у(?) = 50зт(— /)зт(5?);

9

2(?) = 50СОБ(— Г) +10; а(Г) = 0 • г; в = 0.

Законы изменения обобщённых координат, полученные в результате формирования траектории, были заданы на вход системы управления манипуляционного механизма. Результирующие перемещения выходного звена рассматриваемого стенда представлены на рисунках 19-21.

Рис. 19 - Изменение x(t )

t, [сек]

Рис. 20 - Изменение y(t)

Рис. 21 - Изменение z (t )

Б. Наблюдение за параметрами механизма

Для проведения сеанса наблюдений необходимо выбрать интересующий механизм, а затем для каждого из приводов указать параметры для наблюдения (Рис. 22).

Рис. 22 - Выбор параметров для наблюдений при сеансе испытаний механизма После нажатия на кнопку «следить» откроется окно с графиками параметров, изменяющихся по мере обработки сообщений, получаемых по веб-сокету (Рис. 23).

Рис. 23 - Проведение наблюдений за параметрами механизма

Е. История наблюдений

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

50

20

40

60

80

100

t, [сек]

50

20

40

60

80

1U0

70

60

50

40

30

20

20

40

60

80

100

t, [сек]

Рис. 24 - Список сохранённых историй Пример повторной визуализации сохранённой истории представлен на рисунке 25.

Рис. 25 - Визуализация сохранённой истории

VII. Заключение

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

манипулирования, объединяющий последовательный и параллельный механизмы. Алгоритм формирования траектории включает решение прямой и обратной задач кинематики для получения наборов декартовых и обобщённых координат с последующей интерполяцией для восстановления характеристик траектории в промежуточных положениях. Результирующий программный комплекс управления был внесен в государственный реестр программ для ЭВМ и баз данных с идентификационными номерами №2023621249, №2023618176 и №2023663025.

Библиография

[1] Liu, Liang, et al. "Smooth trajectory planning for a parallel manipulator with joint friction and jerk constraints." International Journal of Control, Automation and Systems 14 (2016): 1022-1036. https://doi.org/10.1007/s12555-014-0495-4

[2] Liu, Huashan, Xiaobo Lai, and Wenxiang Wu. "Time-optimal and jerk-continuous trajectory planning for robot manipulators with kinematic constraints." Robotics and Computer-Integrated Manufacturing 29.2 (2013): 309-317. https://doi.org/10.1016/jrcim.2012.08.002

[3] Yu, Xiuli, Mingshuai Dong, and Weimin Yin. "Time-optimal trajectory planning of manipulator with simultaneously searching the optimal path." Computer Communications 181 (2022): 446-453. https://doi .org/10.1016/j.comcom.2021.10.005

[4] Luo, LP., Yuan, C., Yan, RJ. et al. Trajectory planning for energy minimization of industry robotic manipulators using the Lagrange interpolation method. Int. J. Precis. Eng. Manuf. 16, 911-917 (2015). https://doi .org/10.1007/s12541-015-0119-9

[5] Chembuly, VVMJ Satish, and Hari Kumar Voruganti. "Trajectory planning of redundant manipulators moving along constrained path and avoiding obstacles." Procedia computer science 133 (2018): 627634. https://doi.org/10.1016/j.procs.2018.07.094

[6] Svenstrup, Mikael, Thomas Bak, and Hans Jorgen Andersen. "Trajectory planning for robots in dynamic human environments."

2010 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2010. https://doi.org/10.1109/IROS.2010.5651531

[7] Крутько, П.Д., 2004. Обратные задачи динамики в теории автоматического управления. М.: Машиностроение, 576.

[8] Gasparetto, Alessandro, et al. "Path planning and trajectory planning algorithms: A general overview." Motion and Operation Planning of Robotic Systems: Background and Practical Approaches (2015): 327. https://doi.org/10.1007/978-3-319-14705-5_1

[9] Rossi, Cesare, and Sergio Savino. "Robot trajectory planning by assigning positions and tangential velocities." Robotics and Computer-Integrated Manufacturing 29.1 (2013): 139-156. https://doi.org/10.1016/jrcim.2012.04.003

[10] Guan, Y., Yokoi, K., Stasse, O., & Kheddar, A. (2005, July). On robotic trajectory planning using polynomial interpolations. In 2005 IEEE international conference on robotics and biomimetics-ROBIO (pp. 111-116). IEEE. https://doi.org/10.1109/ROBIO.2005.246411

[11] Svejda, Martin, and Tomás Cechura. "Interpolation method for robot trajectory planning." 2015 20th International Conference on Process Control (PC). IEEE, 2015. https://doi.org/10.1109/PC.2015.7169997

[12] Bielak, Konrad, Bartlomiej Borek, and Malgorzata Plechawska-Wójcik. "Web application performance analysis using Angular, React and Vue. js frameworks." Journal of Computer Sciences Institute 23 (2022): 77-83. https://doi.org/10.35784/jcsi.2827

[13] Yellavula, Naren. Building RESTful Web services with Go: Learn how to build powerful RESTful APIs with Golang that scale gracefully. Packt Publishing Ltd, 2017.

[14] Maier, Alexander, Andrew Sharp, and Yuriy Vagapov. "Comparative analysis and practical implementation of the ESP32 microcontroller module for the internet of things." 2017 Internet Technologies and Applications (ITA). IEEE, 2017. https://doi.org/10.1109/ITECHA.2017.8101926

[15] Obe, Regina O., and Leo S. Hsu. PostgreSQL: up and running: a practical guide to the advanced open source database. " O'Reilly Media, Inc.", 2017.

[16] Rahman, N. N. A., & Yahya, N. M. (2021). A mathematical model of a brushed DC motor system. Data Analytics and Applied Mathematics (DAAM), 2(2), 60-68. https://doi.org/10.15282/daam.v2i2.6830

Development of a software package for solving the problem of trajectory planning with motion control of the manipulation

mechanism

Maxim O. Chaikin

Abstract — Trajectory planning of the end effector of manipulation mechanisms is one of the most important tasks in the practical application of robots in various fields of technology. This paper describes the development of a software package for automating the trajectory setting process with the condition of ensuring its accurate execution. The developed software allows to form a trajectory based on various source data, solve the direct and inverse kinematics problem, as well as perform an interpolation procedure in order to obtain the laws of change of the generalized coordinates of the manipulation mechanism. The interface for interacting with a human operator is represented by a WEB client written in Vue JS. Interaction with the PostgreSQL database for storing information is carried out through the REST API implemented in the Go programming language. To ensure passage along a given trajectory, a control algorithm based on inverse dynamics problems was considered. The control law was calculated using STM32 family microcontrollers for DC motors with a Hall sensor for position and speed feedback. Data transfer between the WEB client and the manipulation mechanism is carried out using the ESP32 microcontroller, which implements websocket, as well as a REST API for setting control commands. The results of the trajectory planning complex are demonstrated by the example of joint relative manipulation of a mechanism with five degrees of freedom.

Keywords — trajectory planning, manipulation mechanism control, REST API, Golang, PostgreSQL, Vue JS, ESP32, STM32

References

[1]Liu, Liang, et al. "Smooth trajectory planning for a parallel manipulator with joint friction and jerk constraints." International Journal of Control, Automation and Systems 14 (2016): 1022-1036. https://doi.org/10.1007/s12555-014-0495-4

[2]Liu, Huashan, Xiaobo Lai, and Wenxiang Wu. "Time-optimal and jerk-continuous trajectory planning for robot manipulators with kinematic constraints." Robotics and Computer-Integrated Manufacturing 29.2 (2013): 309-317. https://doi.org/10.1016/jrcim.2012.08.002

[3]Yu, Xiuli, Mingshuai Dong, and Weimin Yin. "Time-optimal trajectory planning of manipulator with simultaneously searching the optimal path." Computer Communications 181 (2022): 446-453. https://doi .org/10.1016/j.comcom.2021.10.005

[4]Luo, LP., Yuan, C., Yan, RJ. et al. Trajectory planning for energy minimization of industry robotic manipulators using the Lagrange interpolation method. Int. J. Precis. Eng. Manuf. 16, 911-917 (2015). https://doi .org/10.1007/s12541-015-0119-9

[5]Chembuly, VVMJ Satish, and Hari Kumar Voruganti. "Trajectory planning of redundant manipulators moving along constrained path and avoiding obstacles." Procedia computer science 133 (2018): 627-634. https://doi.org/10.1016Zj.procs.2018.07.094

[6]Svenstrup, Mikael, Thomas Bak, and Hans Jorgen Andersen. "Trajectory planning for robots in dynamic human environments." 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2010. https://doi.org/10.1109/IR0S.2010.5651531

[7]Krutko, P.D., 2004. Inverse problems of dynamics in the theory of automatic control. Moscow: Mashinostroenie, 576.

[8]Gasparetto, Alessandro, et al. "Path planning and trajectory planning algorithms: A general overview." Motion and Operation Planning of Robotic Systems: Background and Practical Approaches (2015): 3-27. https://doi.org/10.1007/978-3-319-14705-5_1

[9]Rossi, Cesare, and Sergio Savino. "Robot trajectory planning by assigning positions and tangential velocities." Robotics and Computer-Integrated Manufacturing 29.1 (2013): 139-156. https://doi.org/10.1016/jrcim.2012.04.003

[10] Guan, Y., Yokoi, K., Stasse, O., & Kheddar, A. (2005, July). On robotic trajectory planning using polynomial interpolations. In 2005 IEEE international conference on robotics and biomimetics-ROBIO (pp. 111116). IEEE. https://doi.org/10.1109/ROBIO.2005.246411

[11] Svejda, Martin, and Tomás Cechura. "Interpolation method for robot trajectory planning." 2015 20th International Conference on Process Control (PC). IEEE, 2015. https://doi.org/10.1109/PC.2015.7169997

[12] Bielak, Konrad, Bartlomiej Borek, and Malgorzata Plechawska-Wójcik. "Web application performance analysis using Angular, React and Vue. js frameworks." Journal of Computer Sciences Institute 23 (2022): 77-83. https://doi.org/10.35784/jcsi.2827

[13] Yellavula, Naren. Building RESTful Web services with Go: Learn how to build powerful RESTful APIs with Golang that scale gracefully. Packt Publishing Ltd, 2017.

[14] Maier, Alexander, Andrew Sharp, and Yuriy Vagapov. "Comparative analysis and practical implementation of the ESP32 microcontroller module for the internet of things." 2017 Internet Technologies and Applications (ITA). IEEE, 2017. https://doi.org/10.1109/ITECHA.2017.8101926

[15] Obe, Regina O., and Leo S. Hsu. PostgreSQL: up and running: a practical guide to the advanced open source database. " O'Reilly Media, Inc.", 2017.

[16] Rahman, N. N. A., & Yahya, N. M. (2021). A mathematical model of a brushed DC motor system. Data Analytics and Applied Mathematics (DAAM), 2(2), 60-68. https://doi.org/10.15282/daam.v2i2.6830

i Надоели баннеры? Вы всегда можете отключить рекламу.