R50 791374ded59b5b2eb89d4329acc460bd
Изобретатель-программист

Обратная задача кинематики для мобильных роботов

Добавлено 25 сен 2023 в 10:10
У робота есть два способа определения пространства состояний: положение с ориентацией рабочего инструмента и углы поворотов звеньев. Первое называется операционным пространством, второе – конфигурационным.

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

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

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

Я ввёл новую параметризацию через кватернионы, выраженные параметрами Родриго-Гамильтона. Полученные зависимости оказались непрерывными относительно конфигурационного пространства.

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

Для проверки разработанного алгоритма для робота Kuka Youbot было составлено несколько опорных точек, каждая из которых описывала произвольные достижимые положения рабочего инструмента и ориентацию. По каждой из точек с помощью минимизации были получены соответствующие углы поворота звеньев, после чего с помощью Gazebo и Ros был составлен python-скрипт, который последовательно отправлял виртуальному роботу задания по углам поворота звеньев и сравнивал полученные положение и ориентацию с заданными.

D1449d75e9