УДК 004.896:621.865
МОДЕЛИРОВАНИЕ КИНЕМАТИКИ ЭКСКАВАТОРА В MATLAB ROBOTICS TOOLBOX
А.Г. Гурко, доцент, к.т.н., И. А. Колобова, студент, ХНАДУ
Аннотация. Рассмотрены возможности пакета MATLAB Robotics Toolbox для моделирования движения рабочего оборудования роботизированного экскаватора. Решены прямая и обратная задачи кинематики манипулятора экскаватора, а также задача управления его кинематической моделью. Выполнен анализ эффективности использования встроенных функций Robotics Toolbox для решения указанных задач.
Ключевые слова: роботизированный экскаватор, кинематика, моделирование, MATLAB.
МОДЕЛЮВАННЯ КІНЕМАТИКИ ЕКСКАВАТОРА В MATLAB ROBOTICS TOOLBOX
О.Г. Гурко, доцент, к.т.н., І.О. Колобова, студент, ХНАДУ
Анотація. Розглянуто можливості пакета MATLAB Robotics Toolbox для моделювання руху робочого обладнання роботизованого екскаватора. Розв ’язано пряму та обернену задачі кінематики маніпулятора, а також задачу керування його кінематичною моделлю. Виконано аналіз ефективності використання вбудованих функцій Robotics Toolbox для розв ’язання вказаних задач.
Ключові слова: роботизований екскаватор, кінематика, моделювання, MATLAB.
SIMULATION OF EXCAVATOR KINEMATICS IN MATLAB ROBOTICS TOOLBOX
A. Gurko, Associate Professor, Candidate of Technical Science,
I. Kolobova, student, KhNAHU
Abstract. The features of MATLAB Robotics Toolbox for robotic excavator equipment movement simulation have been considered. Direct and inverse kinematics of excavator manipulator and the problem of its kinematic control have been solved. The performance analysis of Robotics Toolbox built-in functions for specified problems solving has been performed.
Key words: robotic excavator, kinematics, simulation, MATLAB.
Введение
Существенного повышения эффективности использования одноковшового экскаватора (ЭО), который является одной из основных строительных машин, можно достичь лишь за счёт усовершенствования систем автоматического управления, как его отдельными подсистемами, так и непосредственно процессом копания. В последнем случае система управления должна обеспечивать движение
ковша по определенной траектории с заданной точностью, с минимальной длительностью и энергоёмкостью процесса.
Современная тенденция развития систем управления рабочим процессом копания связана с роботизацией экскаваторов, поэтому при разработке таких систем целесообразно использовать соответствующие методы робототехники [1, 2].
Анализ публикаций
Одними из первых робототехнический подход к автоматизации рабочего процесса экскаватора, по-видимому, предложили П. Ваха с соавторами в [3], где была рассмотрена динамическая модель роботизированного экскаватора. В [4-6] Коиво получил уточненные кинематические и динамические модели экскаватора и предложил ПД и ПИД-регуляторы для управления процессом копания. Дальнейшее развитие эти исследования получили в [7-9] и многих других работах.
Проектирование и исследование роботизированных экскаваторов целесообразно осуществлять с привлечением специализированных пакетов прикладных программ, ориентированных на моделирование робототехнических систем. К таким пакетам, например, относятся Microsoft Robotics Developer Studio, LabVIEW Robotics, а также MATLAB Robotics Toolbox. Robotics Toolbox [10] обладает широким набором инструментов для моделирования кинематики и динамики роботов, построения траекторий их движения и т.д. Это, а также возможность использования других средств MATLAB по исследованию, проектированию и оптимизации систем управления и его распространение на бесплатной основе делают Robotics Toolbox весьма привлекательным пакетом для разработки и исследования робототехнических систем и комплексов.
Цель и постановка задачи
На первом этапе проектирования системы управления манипулятором ЭО необходимо рассмотреть его кинематику [1], т.е. найти пространственное положение манипулятора как функцию времени и соотношения между обобщенными координатами и положением ковша.
Целью данной работы является изучение возможностей Robotics Toolbox для исследования кинематики манипулятора ЭО. Для этого в работе решаются следующие задачи:
- построение имитационной модели манипулятора ЭО в Robotics Toolbox;
- решение прямой и обратной задач кинематики манипулятора экскаватора;
- планирование траекторий манипулятора при перемещении ковша из одной точки пространства в другую.
Создание модели манипулятора
С точки зрения робототехники, экскаватор можно рассматривать как пространственный манипулятор либо с пятью степенями свободы типа P-RRRR (1 поступательное и 4 вращательных сочленения), либо RRRR-типа. Поскольку непосредственно при копании поступательное перемещение базовой части экскаватора не выполняется, то ограничимся рассмотрением манипулятора RRRR-типа.
Построим модель манипулятора экскаватора в Robotics Toolbox, создав вектор L объектов Link:
L(i)=Link([theta(i),d(i), a(i), alpha(i), sigma(i)]),
где theta(i) - угол между сочленениями манипулятора; d(i) - смещение звена; a(i) - длина звена; alpha(i) - угол поворота звена (константа); sigma(i) - тип соединения (для вращательного сочленения sigma= 0).
Рассмотрим экскаватор со следующими геометрическими параметрами манипулятора: ai = 0,05 м, а2 = 5,16 м, аз = 2,59 м, =1,33 м.
Последовательное соединение звеньев осуществляется командой SerialLink.
manip=SerialLink(L, 'name', 'arm')
manip = arm (4 axis, RRRR, stdDH)
| j | theta | d | a | alpha |
| 1| q1| 0 | 0.05| -1.571|
| 2| q2| 0 | 5.16| 0|
| 3| q3| 0 | 2.59| 0|
| 4| q4| 0 | 1.33| 0|
grav= 0 base=1 0 0 0 tool=1 0 0 0
0 0 1 0 0 0 1 0 0
9.81 0 0 1 0 0 0 1 0
0 0 0 0 0 1
Информация о созданном SerialLink -объекте отображает его общие характеристики: манипулятор имеет 4 звена с вращательными сочленениями (признак RRRR), при его создании использовалось стандартное преобразование Денавита-Хартенберга (признак stdDH); в таблице приведены кинематические параметры объекта. Кроме того, на экран выводятся вектор grav, компоненты ко-
торого указывают на ось, вдоль которой действует сила тяжести, и две 4 х 4 матрицы однородного преобразования, характеризующие положение базовой части экскаватора (base) и его ковша (tool) в базовой системе координат.
Прямая кинематика
Решим прямую задачу кинематики, т.е. найдем зависимость s = /(q) обобщенных координат q = [61 62 63 64]Г (углов между соответствующими звеньями манипулятора экскаватора) и положением его ковша. Известно [1, 2, 10], что положение и ориентацию в пространстве рабочего оборудования робота-манипулятора можно задать 4х4 матрицей однородного преобразования
T
( R
000 1
л
(1)
где R - матрица поворота размерности 3x3, осуществляющая преобразование произвольного 3x1 вектора p из связанной системы координат в абсолютную.
Рассмотрим перемещение манипулятора экскаватора из начального положения q0 = [0 - 30° 60° 30° ]T (рис. 1, а) в конечное qf = [0 -60° 96° 70°]T (рис. 1, б).
Построение матриц однородного преобразования в Robotics Toolbox осуществляется при помощи команды fkine (q). Например, для указанных выше значений q0 и q использование команды fkine дает следующий результат
Tn=manip.fkine(qn) Tn =
0.5000 -0.8660 0
0.0000 0.0000 1.0000
0.8660 -0.5000 0.0000
0 0 0
Tf=manip.fkine(qf);
0.2810
0.0000
0.9597
0
Tf
-0.9597
-0.0000
0.2810
0
7.4267
-0.0000
0.1332
1.0000
4.3476
1.0000 -0.0000 0.0000 1.6643
0 1.0000
Полученные однородные матрицы Tn, Tf и являются решениями прямой задачи кинематики для заданных qn и qf . Первые три
элемента 4-го столбца в матрице однородного преобразования отображают положение ковша в базовой системе координат, а 3х3 подматрица в левом верхнем углу - его ориентацию.
Обратная задача кинематики
Практический интерес имеет обратная задача кинематики (ОЗК), которая заключается в определении требуемых обобщенных координат q по заданному желаемому положению и ориентации ковша s = s*. Очевидно, что эта задача не имеет однозначного решения, поскольку может существовать бесконечное множество комбинаций обобщенных координат q, обеспечивающих заданное положение ковша. В связи с этим целесообразно использовать различные критерии, оптимизирующие решение ОЗК [11].
В Robotics Toolbox ОЗК решается при помощи функции ikine. К сожалению, использование этой функции не обеспечивает единственность решения, а также не позволяет учитывать ограничения, накладываемые ис-
0
Рис. 1. Положения и траектории движения манипулятора экскаватора: а - начальное положение; б - конечное положение при плоском движении; в - конечное положение при пространственном движении
полнительными гидроцилиндрами на область Sq изменения обобщенных координат. В результате решение ОЗК в Robotics Toolbox может дать практически не реализуемый результат. Так, применение функции ikine при определении значений обобщенных координат, обеспечивающих перемещение ковша в положение, задаваемое обобщенной матрицей Tf (рис. 1, б), возвращает следующие значения
q =-0.0000 0.2866 -2.4791 1.3214
Соответствующее положение манипулятора ОЭ представлено на рис. 2. Очевидно, что для экскаватора такая конфигурация является технически нереализуемой. Кроме того, данное положение ковша не обеспечивает возможности выполнения технологической операции копания. Таким образом, встроенных возможностей Robotics Toolbox для решения ОЗК манипулятора недостаточно и приходится привлекать возможности других пакетов расширения MATLAB, например, Optimization Toolbox, или использовать иные процедуры численного решения ОЗК, например, [11].
Рис. 2. Отработка манипулятором ЭО обобщенных координат, вычисленных при помощи функции ikine
Кинематическое управление
Перед разработкой системы управления ЭО, с учетом динамических характеристик, необходимо решить задачу кинематического управления [2]. Кинематическое управление осуществляется в два этапа:
- планирование траектории, т.е. предварительное определение закона изменения обобщенных координат я(0 на некотором временном отрезке [^, t$];
- отработка полученной траектории гидроприводами.
В данной работе рассмотрим первую задачу-планирования траектории в пространстве обобщенных координат, обеспечивающей гладкость перемещения рабочего оборудования из положения из q0 в положение я$ за время [^0, t$] с краевыми условиями
я(0 = qо, q(tf) = q $,
^ (0 = ° я(^) = ° (2)
я (О = о, 1 ) = о.
Поставленная задача имеет бесконечное множество решений. С вычислительной точки зрения, привлекательным является движение по прямой в пространстве обобщенных координат Q = д1хд2хд3х q4.
Распространённый подход к построению траектории, переводящей манипулятор из яо в я$ и удовлетворяющей условию гладкости, состоит в использовании интерполяционного полинома. Полиномом с минимальной степенью, удовлетворяющим условиям
(2), является полином пятого порядка (квин-тик) [2]
q(t) = ао + а^ + а^2 + а^3 + а^4 + а^5. (3)
Производные первого и второго порядка от
(3) также являются гладкими полиномами
q(t) = а1 + 2а^ + 3а^2 + 4а4t3 + 5а^4, (4) ё[ ^) = 2а2 + 6азt + 12а/2 + 2оа/3. (5)
Определить значения коэффициентов ак можно, решив следующую систему
(q л q0 ' 1 to to2 to3 to4 t5 Л l0 (a Л a0
qo 0 1 2t0 3to2 4to3 5to4 a1
qo 0 o 2 6t0 12to2 20to3 a2
qf 1 tf tf 14 tf a3
q f 0 1 2tf 3tf 4tf 5tf a4
1q f У ,0 o 2 6tf 12tf ot 2 У ^ У
— -
^
^.(Jtraj)
q4.(jtraj) ^.(ctraj) ^.(ctraj) ^
2 3
Время, с
Рис. 3. Движение ковша хг плоскости из точки яо в точку : а - зависимость я(0; б - зависимость Я ^ ) ; в - зависимость Я (О
В Robotics Toolbox гладкая интерполяция между двумя конфигурациями q0 и q в пространстве присоединенных координат осуществляется при помощи функции jtraj, которая, помимо вектора углов q, необходимых для осуществления движения между двумя точками q0 (1xN) и qf (1xN) в присоединенном пространстве, возвращает векторы присоединенных скоростей q и ускорений q [10]. Ответ выдается в виде трёх матриц, каждая строка в которых соответствует шагу по времени т, а число столбцов равно числу звеньев манипулятора N.
Рассмотрим движение ковша в xz плоскости декартовой системы координат (плоская задача) между двумя положениями q0 = =[0° -30° 60° 30°f (рис. 1, а) и q= =[0° -60° 96° 70°]T (рис. 1, б) за время te [t0, f], где t0 = 0, tf = 5 с и шаг по времени т = 50 мс. Потребуем, чтобы траектория движения зубьев ковша представляла собой прямую в декартовой системе координат (рис. 1, а). Рис. 3 отображает изменение обобщенных координат q(t), их скоростей q(t) и ускорений q(t) с течением времени при движении манипулятора экскаватора от точки q„ до точки qf. Очевидно, что q1 = 0, т.к. рассматривается плоская задача. Как видим, траектории присоединенных координат (рис. 3, а) являются гладкими, а движение в пространстве обобщенных координат Q осуществляется по прямой (рис. 4).
Определим траекторию движения ковша в декартовой системе координат. Для этого решим прямую задачу кинематики
T=manip.fkine(q); p=transl(T);
Движение ковша в трех плоскостях декартовой системы координат представлено на рис. 5, а пунктирной линией, а траектория
перемещения ковша в хг-плоскости - на рис. 5, б. Из рис. 5, б видно, что траектория движения ковша несколько отличается от прямолинейной. Поскольку при копании экскаватором необходимо достаточно точно (с точностью до сантиметра) придерживаться заданной траектории, то целесообразно использовать иные алгоритмы определения векторов я, Я и я , например, реализуемый
функцией ctraj.
Рис. 4. Прямолинейное движение в пространстве обобщенных координат Q
Функция ctraj возвращает траекторию в декартовой системе координат в виде трехмерной матрицы 4х4хп (п - число точек, разбивающих траекторию на отрезки) однородного преобразования от положения Тп до Т$ с трапецеидальным профилем скорости
Ts=ctraj(Tn,Tf,lenth(t))
Хотя кривые траекторий в каждой из плоскостей, вычисленные различными методами, отличаются незначительно (рис. 5, а), соответствующие обобщенные координаты существенно отличаются друг от друга (рис. 3, а), и полученная с помощью функции ctraj траектория зубьев ковша в декартовой системе координат представляет собой прямую (рис. 5, б).
100
Время, с
а
б
Рис. 5. Траектории перемещения: а - изменения каждой из координат; б - движение в хг-плоскости
Положение системы координат ковша относительно базовой системы координат можно определить и при помощи системы углов Эйлера, в частности, одной из таких систем являются углы крена, тангажа и рысканья (КТР) [1]. Изменение углов КТР ковша с течением времени представлено на рис. 6.
Рис. 6. Зависимость углов крена, тангажа и рысканья от времени
Найдем теперь закон изменения координат Я(1;) при перемещении ковша экскаватора по пространственной траектории из положения Яо = [о - бо° 96° 7о°]т (рис. 1, б) в положение Я$ =[-9о° — 3о° бо° 1о° ]т (рис. 1, в) за время
tf = 25 с с прежним шагом по времени т = 5о мс. Подобную траекторию описывает ковш экскаватора при перемещении от забоя к месту выгрузки грунта. Результаты моделирования, полученные с использованием функции jtraj, отображены на рис. 7. Как видно, траектории изменения обобщенных координат являются гладкими и технически реализуемыми.
а
б
в
Рис. 7. Движение в пространстве: а - зависимость я(0, б - зависимость я(0, в - зависимость я (О
Выводы
Robotics Toolbox является удобным и эффективным приложением MATLAB для моделирования роботов-манипуляторов и, в том числе, роботизированных экскаваторов. Он легко позволяет создать модель манипулятора, обладает широким набором встроенных функций для решения типовых задач робототехники.
Хотя в данной работе рассмотрены лишь некоторые вопросы кинематического анализа манипулятора экскаватора, Toolbox позволяет осуществлять моделирование с учетом массово-инерционных параметров и действующих внешних сил.
Некоторые недостатки пакета, такие как неоднозначность решения ОЗК и высокая зависимость полученных решений от исходных данных, компенсируются возможностью применения других приложений MATLAB и использования собственных программ. Кроме того, исходные коды Robotics Toolbox открыты и могут свободно изменяться и улучшаться пользователями.
Помимо моделирования, Robotics Toolbox может быть использован для анализа экспериментальных данных, полученных при работе с реальными роботами, а также может применяться в образовательных целях.
Литература
1. Фу К. Робототехника / К. Фу, Р. Гонсалес,
К. Ли; пер. с англ. - М.: Мир, 1989. -624 с.
2. Зенкевич С.Л. Управление роботами /
С.Л. Зенкевич, А.С. Ющенко - М.: Изд-во МГТУ им. Н.Э. Баумана, 2000. -400 с.
3. Vaha P.K. Excavator dynamics and effect of
soil on digging / P.K. Vaha, A.J. Koivo, M.J. Skibiniewski // Proc. International
Symposium on Automation and Robotics in Construction, 1991. - P. 297-306.
4. Koivo A.J. Kinematics of excavators (back-
hoes) for transferring surface material /. A.J. Koivo // Journal of Aerospace Engineering. - 1994. - Vol. 7, № 1. - P. 17-32.
5. Koivo A.J. Controller for Excavator During
Digging Operations / A.J. Koivo, J. Andrade-Cetto // Proc. 2nd Latinamerican Seminar Adv. Control, 1995. - P. 126-129.
6. Koivo A.J. Modeling and Control of Excava-
tor Dynamics During Digging Operation / A.J. Koivo, M. Thoma, E. Kocaoglan, J. Andrade-Cetto // Journal of Aerospace Engineering. - 1996. - Vol. 9, № 1. -P. 10-18.
7. Ha Q.P. A Control Architecture for Robotic
Excavation in Construction / Q.P. Ha // Computer-Aided Civil and Infrastructure Engineering. - 2004. - Vol. 19. - P. 28-41.
8. Гурко А.Г. Математическая модель мани-
пулятора экскаватора с обратной лопатой / А.Г. Гурко // Вестник ХНАДУ: сб. науч. тр. - 2011. - Вып. 55. - С. 79-89.
9. Пезнер Л.Д. Математическая модель ди-
намики карьерного экскаватора как объекта управления / Л.Д. Певзнер, С.Е. Бабаков // Мехатроника, автоматизация, управление. - 2012. - № 8. - С. 40-47.
10. Corke P. Robotics, Vision and Control: Fun-
damental Algorithms in MATLAB / P. Corke. - Springer, 2011. - 570 p.
11. Гурко А.Г. Оптимальное управление манипулятором одноковшового экскаватора / А.Г. Гурко, И.В. Янчевский // Автоматика / Automatics - 2012: материалы XIX международной конференции по автоматическому управлению 26-28 сентября 2012 г. - К.: НУХТ, 2012. С.149-150.
Рецензент: Е.С. Венцель, профессор, д.т.н., ХНАДУ.
Статья поступила в редакцию 27 февраля 2013 г.