УДК 531.8

 

УПРАВЛЕНИЕ ДВИЖЕНИЕМ МАНИПУЛЯТОРА, СОСТАВЛЕННОГО ИЗ ОДИНАКОВЫХ МОДУЛЕЙ

© 2004 г. В.А.Карташев

Москва. Институт прикладной математики РАН, vakart@keldysh.ru

Поступила в редакцию 01.03.05 г.

 

Описывается управление манипулятором, который состоит из одинаковых модулей. Конструкция модулей позволяет реализовывать достаточно большое разнообразие кинематических схем. Найдено описание этих схем и разработано программное обеспечение, которое автоматически настраивается на заданную кинематическую схему. Система управления обеспечивает управление движением схвата в декартовых абсолютных осях и контроль столкновений модулей друг с другом. Рабочие движения воспроизводятся на дисплее в реальном масштабе времени. Успешное решение задач автоматической настройки системы управления и визуализации движений делает возможным использование универсальных модульных конструкций в большом количестве практических приложений.

CONTROL OF MANIPULATOR CONSTRUCTED FROM IDENTICAL MODULES.

  V.Kartashev, vakart@keldysh.ru

Keldysh institute for Applied Mathematics of RAS

 

Control of manipulator constructed from identical modules is described. The structure of modules makes possible to develop a lot of different kinematic schemes. The mathematical all such schemes is proposed. The software is developed that is able to adjust control system on given kinematic scheme automatically. Control system realizes motion of jaws in absolute and relative cartesian axes with cheking of selfcollision by manipulator. All program modules function in graphical mode in real time.



ВВЕДЕНИЕ

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

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

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

Следует заметить, что попытки уменьшить стоимость манипуляторов путем компоновки их из стандартного набора модулей предпринимались достаточно давно. Например, в работе [1] можно найти описание большого количества различных конструкций. Все эти решения основываются на концепции, согласно которой манипулятор должен конструироваться из специализированных модулей. Фактически они могут рассматриваться как части манипуляторов известных конструкций, в которых одна часть, скажем запястье, может быть выбрана из некоторого набора запястий. При этом места крепления модулей, конструкция самих модулей и массогабаритные характеристики таковы, что все реализуемые кинематические схемы могут быть описаны изначально, причем все они совпадают с традиционно используемыми в манипуляторах.

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

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

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

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

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

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

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

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

В тех применениях, где динамика разгона и величина грузоподъемности не являются определяющими характеристиками, может использоваться манипулятор из универсальных модулей, в котором, как и традиционных конструкциях имеется только один привод на степень. Таким образом, для большого числа приложений достаточно, чтобы универсальные модули обеспечивали построение шестистепенного манипулятора по традиционной схеме. При этом грузоподъемность должна быть больше веса одного модуля (заметим, что в манипуляторе PUMA-560 максимальная грузоподъемность составляет лишь 10% его веса).

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

 

КОНСТРУКЦИЯ УНИВЕРСАЛЬНЫХ МОДУЛЕЙ

Знакомство с большим количеством каталогов промышленных фирм показало, что выбор двигателей и редукторов с требуемыми характеристиками достаточно узок. Необходимую грузоподъемность обеспечивали шаговый двигатель РР520 и планетарный редуктор R40 (коэффициент редукции 800) фирмы ESCAPE. Для двигателя РР520 фирма ESCAPE выпускает комплектные цифровые приводы, управляемые по последовательному каналу, который используется в качестве общей шины управления и данных. Удачным оказалось также то, что к шине подключаются одновременно 8 контролеров. Это позволило реализовать на контроллере шины систему управления манипулятора, составленного из 8 степеней подвижности.

Каждый привод ESCAPE содержит контроллер управления шаговым двигателем и силовые ключи. Он выполнен на плате размером 100 х 100мм. В итоге систему управления (без источника тока) оказалось возможным разместить в корпусе размером 400 х 150 х 150 мм.

При расчете конструкции манипулятора принималась во внимание величина нагрузки, которая может находиться на конце манипулятора. Ее величина была выбрана равной 400 г (4 Н) для манипулятора, содержащего шесть степеней подвижности. При этом гарантировался радиус рабочей зоны не менее 500 мм (0,5 м), а также возможность реализации манипулятора с 8 степенями подвижности без нагрузки. При максимальной нагрузке момент, который действует на корневую степень, не превышает 2 Нм. Эта величина согласуется с номинальным моментом редуктора R40 (4 Нм) и укладывается в величину номинального момента двигателя PP520 (2 Нм).

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

Люфт составляет 5 мм. Скорость перемещения - 12 градусов/сек или 60 мм/сек на конце манипулятора.

Между вращательными степенями подвижности может быть вставлено удлинительное звено длиной 150 мм (рис. 5).

Основание манипулятора может крепиться к линейной степени подвижности, реализованной на приводе винт-гайка с шаговым двигателем РР520 (рис. 6). Степень имеет ход 200 мм. К сожалению, массогабаритные характеристики широкодоступных элементов степеней подвижности линейных перемещений не позволили реализовать легкие и компактные модули линейных перемещений, которые можно было размещать между вращательными степенями подвижности.

На приведенных фотографиях (рис. 7 – 8) изображены модули и манипулятор в сборе.

 

НАСТРОЙКА СИСТЕМЫ НА КИНЕМАТИЧЕСКУЮ СХЕМУ

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

Все модули, из которых составлен манипулятор, нумеруются от его основания. При задании очередного модуля указывается его тип: модуль линейного перемещения, модуль вращения или удлинительное звено место крепления и его ориентация относительно предыдущего звена.

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

Крепление к предыдущему модулю осуществляется к любой из 4 боковых граней куба предыдущего модуля или удлинительного звена. Следовательно, положение начала координат линейного модуля также определяется 4 числами.

Следующий за линейным модулем модуль крепится к 4 граням куба, который находится на подвижной части модуля. На каждой грани он может быть сориентирован в каждом из 4 возможных  направлений.

Модуль вращения крепится со стороны мотора. Крепление позволяет ориентировать модуль по каждому из четырех направлений. Таким образом, положение модуля относительно предыдущего однозначно кодируется четырьмя числами.

Следующий модуль крепится к любому из 4 боковых граней куба в любом из 4 направлений.

К удлинительному звену последующие модули могут крепиться по одному из четырех направлений.

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

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

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

 

РЕШЕНИЕ ПРЯМОЙ И ОБРАТНОЙ ЗАДАЧ КИНЕМАТИКИ

Решение прямой задачи кинематики. После определения кинематической схемы системе управления становится известно положение и ориентация осей каждого модуля относительно предыдущего. Если обозначить через OiXiYiZi оси звена с номером i и через  Oi-1Xi-1Yi-1Zi-1 - оси звена с номером i –1, то формулы преобразования координат примут вид:

,        (1)

где обозначены

(xi-1, yi-1, zi-1) – вектор координат точки в осях  Oi-1Xi-1Yi-1Zi-1,

(x0i, y0i, z0i) – координаты начала осей OiXiYiZi в осях Oi-1Xi-1Yi-1Zi-1,

(xi, yi, zi) – вектор координат точки в осях  OiXiYiZi ,

Ti  - матрица перехода от осей OiXiYiZi к осям Oi-1Xi-1Yi-1Zi-1.

Для вычисления матрицы Ti и векторов (x0i, y0i, z0i) используется информация о месте крепления очередного модуля,  повороте его осей относительно осей предыдущего модуля, величинам углов поворота вращательных модулей и перемещений линейных модулей.

Применив формулу (1) последовательно для i = N, N-1,…,1,0, получим координаты точки звена с номером N в абсолютных осях.

 

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

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

По этой причине был применен следующий метод решения обратной кинематической задачи.

Вклад изменения положения звена в скорость поступательного перемещения начала координат последнего звена в абсолютных осях выражается формулами:

для модуля линейного перемещения:

,

для модуля вращательного перемещения:

,

где обозначены

 – вклад в перемещение начала координат последнего звена в абсолютных осях,

T0i – матрица перехода от осей звена с номером i к абсолютным осям, которая равна произведению T0i = Ti-1T1.

 – перемещение линейного модуля в осях в осях i-го звена,

 – поворот вращательного модуля в осях i-го звена,

– радиус-вектор начала координат последнего звена в осях модуля с номером i. Этот вектор вычисляется по формулам (1).

Векторы и  направлены вдоль фиксированной оси линейного и вращательного модуля соответственно, поэтому они определяются только скалярной величиной перемещения.

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

.                     (2)

Поворот системы координат последнего звена манипулятора  также является суммой вкладов поворотов каждого вращательного модуля:

.                        (3)

В этом равенстве - поворот в i – вращательном модуле в абсолютных координатах: = T0i

Таким образом,  перемещение начала координат и поворот осей, жестко связанных с последним звеном манипулятора, является линейной комбинацией перемещений и поворотов в степенях подвижности. Коэффициенты этой линейной комбинаций вычисляются по формулам линейной алгебры по значениям углов и перемещений в шарнирах. Перемещения в суставах манипулятора, которые необходимы для  реализации заданного перемещения и поворота осей координат, связанных с последним звеном манипулятора, находятся путем решения соотношений (2) и (3).

 

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

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

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

Манипулятор можно перемещать, изменяя значения координат в суставах (режим JOINT), в абсолютных осях (режим WORLD), в осях, жестко связанных с осями последнего звена (режим TOOL). Скорость перемещения также задается с пульта. Она может выбираться с шагом  от максимального значения: , , , 1.

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

При исполнении рабочей программы ее команды высвечиваются в окне дисплея. Рабочая программа может выполняться в пошаговом режиме. В этом случае высвеченная команда исполняется после нажатия кнопки STEP. Такой  режим движения удобен при создании и отладке программы движений.

Рабочая программа движений находится в текстовом файле. Он загружается автоматически при запуске управляющей программы. Команды языка движений схожи с командами языка HELP[2].

Блок-схема управления движением манипулятора показана на рис. 9. Программные значения координат степеней подвижности вычисляются при исполнении рабочей программы движений либо вырабатываются системой управления при движении манипулятора в ручном режиме управления. Координаты степеней подвижности передаются в следящую систему, реализованную в блоках управления шаговыми двигателями. Исполнение рабочей программы приостанавливается. По достижении заданных координат следящие системы шаговых двигателей выставляют признак исполнения команды движения, который разрешает системе управления продолжить интерпретацию рабочей программы. Подобным образом осуществляется исполнение рабочей программы в большинстве манипуляторов. В разработанной системе управления работа верхнего уровня не приостанавливается. Во время ожидания сигнала об окончании заданного движения, который вырабатывается следящими системами, ЭВМ верхнего уровня выполняет графическое моделирование текущего положения манипулятора на экране дисплея. В процессе моделирования проверяется возможность столкновения звеньев друг с другом. При обнаружении такой опасности выдается команда на экстренный останов манипулятора. 

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

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

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

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

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

3.      Разработан алгоритм контроля самостолкновений манипулятора, который функционирует в масштабе реального времени.

4.      Разработаны графические средства:

·        настройки системы управления на заданную кинематическую схему,

·        позиционного обучения,

·        контроля исполнения рабочей программы манипулятора.


Литература

 

1.      Современные промышленные роботы. Каталог под ред. Ю.Г.Козырева и Я.А.Шифрина. - М.: Машиностроение, 1984.

2.      J.Suthakorn, G. Chirikjian, Design and Implementation of a New Discretely-Actuated Manipulator. Proceed. of the 1998 IEEE Int. Conf. on Robotics and Automation. - Nice, IEEE,1998.

3.      Christian J.J. Paredis, H. Benjamin Brown,  Pradeep K. Khosla, A Rapidly Deployable Manipulator System. Proceed. of the 1996 IEEE Int. Conf. on Robotics and Automation. - Mineapolis, Minesota, IEEE,1996.

4.      Карташев В.А., Д.Е.Охоцимский, Методы программирования сборочных операций. В кн.: Автоматизация проектирования и программирования роботов и ГПС, М., Наука, 1988.

 

РИСУНКИ


Рисунок 1

 

 

Рисунок 2

 

Рисунок 3

Рисунок 4

Рисунок 5

Рисунок 6

 

Рис. 7. Система управления манипулятором

 

 

 Рис. 8