Научная статья на тему 'АВТОМАТИЗАЦИЯ ОБРАТНОЙ ЗАДАЧИ КИНЕМАТИКИ ДВУХЗВЕННОГО МАНИПУЛЯТОРА'

АВТОМАТИЗАЦИЯ ОБРАТНОЙ ЗАДАЧИ КИНЕМАТИКИ ДВУХЗВЕННОГО МАНИПУЛЯТОРА Текст научной статьи по специальности «Математика»

CC BY
337
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБРАТНАЯ ЗАДАЧА КИНЕМАТИКИ(ОЗК) / МАНИПУЛЯТОР / ДВУХЗВЕННЫЙ МЕХАНИЗМ / РОБОТ / MATLAB

Аннотация научной статьи по математике, автор научной работы — Луговской К. С., Казанин П. И.

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

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

Похожие темы научных работ по математике , автор научной работы — Луговской К. С., Казанин П. И.

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

Текст научной работы на тему «АВТОМАТИЗАЦИЯ ОБРАТНОЙ ЗАДАЧИ КИНЕМАТИКИ ДВУХЗВЕННОГО МАНИПУЛЯТОРА»

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

Использованные источники:

1. Громов Н.К. Водяные тепловые сети: справочное пособие по проектированию - М.: Энергоатомиздат, 1988. - 424 с.

2. Юрманов Б.Н. Автоматизация систем отопления, вентиляции и кондиционирования - М.: Стройиздат, 1976. - 424 с.

3. Козин В.Е. Теплоснабжение - М.: Высшая школа, 1980.

4. Пырков В.В. Современные тепловые пункты. Автоматика и регулирование: Справочник - М.: Данфосс ТОВ» 2007.

5. Симионов Р.Ю. Анализ расходов и себестоимости продукции и резервов их снижения - М.: Финансовый менеджмент. - 2009.- 68с.

6. Алексеева О.Г. Методические указания по экономическому обоснованию выпускных квалификационных работ бакалавров - СПб.: СПБГЭТУ «Лэти», 2013. - 50 с.

7. Автоматизированный тепловой пункт «Взлет АТП»: Руководство по эксплуатации - СПб.: ООО «Промавтоматика», 2010.

8. Регулятор отопления Взлет РО-2М: Руководство по эксплуатации - СПб.: ЗАО «Взлет», 2012.

9. Теплосчетчик-регистратор Взлет ТСР-М: Руководство по эксплуатации -СПб.: ЗАО «Взлет», 2012.

10.Рей Д. Тепловые насосы. / Д. Рей, Д. Макмайкл: Пер. с англ. - М.: Энергоиздат, 1982.

11.СП 41-101-95 Проектирование тепловых пунктов - М.: Минстрой, 1996.

Луговской К. С. бакалавр

кафедра робототехники и автоматизации производственных систем Казанин П.И. бакалавр

кафедра робототехники и автоматизации производственных систем Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина) АВТОМАТИЗАЦИЯ ОБРАТНОЙ ЗАДАЧИ КИНЕМАТИКИ

ДВУХЗВЕННОГО МАНИПУЛЯТОРА Аннотация: Объектом исследования является двухзвенный двухстепе нной механизм. В статье были рассмотрены теоретические и практические знания о особенностях решения обратной задачи кинематики для манипуля торов, изучение средств автоматизации этих задач, а также построение модели рассматриваемого механизма. Произведен расчет выбранного для исследования двухзвенного двухстепенного механизма. Также с помощью пр ограммного пакета MATLAB была построена модель исследуемого манипуля

тора, решающая ОЗК.

Ключевые слова: обратная задача кинематики(ОЗК) , манипулятор, двухзвенный механизм, робот, МЛТЬЛБ.

1. Введение

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

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

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

2. Аналитический расчет ОЗК

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

В общем случае обратная задача кинематики имеет неоднозначное решение (т.е. несколько решений).

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

Рисунок 1 Пример множественности решения ОЗК: а) звенья «сверху»; б) звенья «снизу»

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

Особенности обратной кинематической задачи

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

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

Рассмотрим пример обратной задачи кинематики. Требуется найти такие углы А1 и А2, которые позволят механизму с первым звеном L1 и вторым звеном L2 переместить схват манипулятора в требуемую точку (x,y).

Рисунок 2.

Начертим прямую S , которая соединит точку О с точкой положения схвата (x,y).

S2 = x2+ y2 x = S * cos(P) y = S * sin(P)

в — угол между осью OX и прямой S, а — угол между прямой B и звеном L1 отсюда:

A1 = в - а OX

в = arccos(—) S

А а ,будет определено из теоремы косинусов, которая гласит:Для плоского треугольника со сторонами a,b,c и углом alpha, противолежащим стороне а, справедливо соотношение:

a2 = b2+ c2 — 2*b*c* cos(a)

в связи с этим, по теореме косинусов:

L| = S2 + Ll — 2 * S * L1 * cos(a)

c2

2 т2 ■ S

=> a = arccos(Lj— L2 +

2*S*Li

)

=> Л1 = в — а = arccos (^г) — агссоз^— L2 + )

исходя из все той же теоремы косинусов определим угол Л2: согласно нашему рисунку, угол Л2 будет равняться 180° — угол ОВх

S2 = Ll + L2 — 2 * L1 * L2 * cos(п — Л2)

Л2 = п — arccos(Ll + L2 —

S2

)

2 * L2 * Ll

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

777777/

Рисунок 3.

В таком в решении ничего не изменится кроме знаков искомых углов.

3. Автоматизация в среде МЛТЬЛБ.

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

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

точки соответственно. Ml = 6; M2 = 4; Lp= [3 6];

xP = LP(1);

yp = lp(2);

Sp = sqrt(xpA2+ypA2)

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

if Sp > (M1+M2)

fprintf('Механизм не сможет достигнуть начальной точи'); return

Также задаем координаты конечной точки, в которой должен оказаться схват манипулятора. Lh является координатой этой точки, xh и yh -координаты по x и y. Соответственно опять учитывается возможность не досягаемости манипулятором конечной точки.

Lh = [5 8];

xh = Lh(l);

yh = Lh(2);

Sh = sqrt(xhA2+yhA2);

if Sh > (M1+M2)

fprintf('Механизм не сможет достигнуть конечной точи') return end

Укажем количество шагов за которое будет визуализировано перемещение звеньев до того момента, как будет достигнуто конечное заданное значение. На этом моменте расстояние от xp,xh и yp,yh, будет разбито на количество отрезков равное количеству шагов, выбранных в программном коде:

n = 10;% количество шагов x = linspace(xp,xh,n); y = linspace(yp,yh,n);

Заданы условия решения ОЗК для нашего механизма, суть которых в определении углов поворота звеньев M1 и M2. Углы поворота будут

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

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

%% Инверсная задача кинематики L(s) = sqrt(x(s)A2+y(s)A2);

alpha2(s) = acos((L(s)A2 - M1A2 - M2A2)/(2*M1*M2)); psi(s) = atan(y(s)/x(s));

phi(s) = acos((L(s)A2 + M1A2 - M2A2)/(2*L(s)*M1)); alpha1(s) = psi(s) - phi(s); %% Звенья Link1x(s,:) = [0:0.1:M1]*cos(alpha1(s)); Link1y(s,:) = [0:0.1:M1]*sin(alpha1(s));

Link2x(s,:) = [0:0.1:M2]*cos(alpha1(s)+alpha2(s))+M1*cos(alpha1(s)); Link2y(s,:) = [0:0.1:M2]*sin(alpha1(s)+alpha2(s))+M1*sin(alpha1(s)); %% Черчение

plot(Link1x(s,:),Link1y(s,:),'linewidth',2); hold on;

plot(Link2x(s,:),Link2y(s,:),'r',,linewidth,,2) hold on;

plot(x(1:s),y(1:s),'k',,linewidth,,3) drawnow; pause(0.1); axis equal end

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

Рисунок 4.

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

• *4<>ufr 1 i I—-Ч

fite tdrt ow« Intart ГооМ OnMop Wndoa* *

ü J 4 t» Si?Л• в OS = □

о —----1-'-

-2-101 I 1 * 5 •

Рисунок 5.

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

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

Использованные источники:

1. Механика промышленных роботов : учеб. пособие для втузов : в 3 кн./ под ред. К. В. Фролова, Е. И. Воробьева. Кн. 1: Кинематика и динамика/ Е. И. Воробьев, С. А. Попов, Г. И. Шевелева. М.: Высшая школа, 1988.-304 с. (дата обращения 17.04.2016).

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

2. Робототехника, Фу К., Гонсалес Р., Ли К. 1989.- 614с.

3. Описание пакета MATLAB // Официальный сайт "matlab.ru". URL: http: //matlab .ru/products/matlab

4. Проскуряков, Г. М. Геометрия и кинематика пространственного состояния подвижных объектов / Г.М.Проскуряков, П.К.Плотников. -Саратов: СПИ, 1992. -120 с..

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