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

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

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 22.10.2017
Размер файла 349,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

"Московский государственный технический университет радиотехники, электроники и автоматики"

МГТУ МИРЭА

Факультет Кибернетики

Кафедра проблем управления

Отчет по практике

Выполнил студент группы КС-51-08

Безруков М.Г.

Москва 2013

Содержание

1. Задачи кинематики

2. Прямая задача кинематики

3. Матрицы сложных поворотов

4. Уравнения движения манипулятора

5. Пример: двухзвенный манипулятор

6. Программно-алгоритмический комплекс

Вывод

1. Задачи кинематики

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

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

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

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

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

2. Прямая задача кинематики

Ниже матричная и векторная алгебра применяются для систематического не обобщенного подхода к описанию и представлению расположения звеньев манипулятора (исполнительных механизмов робота) относительно заданной абсолютной системы координат. Так как звенья манипулятора могут совершать вращательное и/или поступательное движение относительно абсолютной системы отсчета, для каждого эвена определяется связанная система координат, оси которой параллельны осям сочленений звеньев. Прямая задача кинематики сводится к определению матрицы преобразования, устанавливающей связь между абсолютной и связанной системой координат. Для описания вращательного движения связанной системы отсчета относительно абсолютной используется матрица поворота размерностью 3X3, для представления векторов положения в трехмерном пространстве применяются однородные координаты, а для учета поступательного движения связанной системы координат вместо матрицы поворота используется матрица однородного преобразования размерностью 4X4. Таким матричным представлением для описания пространственной геометрии манипулятора впервые воспользовались Денавнт и Хартенберг. Их представление дает универсальный алгоритм для вывода уравнений кинематики манипулятора.

Матрицу поворота размерностью 3X3 можно определить как матрицу преобразования трехмерного вектора положения в евклидовом пространстве, переводящую его координаты из повернутой (связанной) системы отсчета OUVW в абсолютную систему координат OXYZ. На рис. 1 показаны две правые прямоугольные системы координат: системы координат ОХУЛ с осями ОX, ОY, ОZ и система OUVW с осями ОU, ОV. ОW. Начала этих систем совпадают и расположены в точке О. Система OXYZ фиксирована в трехмерном пространстве и принята за абсолютную, а система координат OUVW вращается относительно абсолютной системы OXYZ.

Рис. 1 Абсолютная системы координат

Физически система OUVW может рассматриваться как связанная система координат. Это означает, что она соответствующим образом жестко связана с твердым телом (например, с летательным аппаратом или звеном манипулятора) и движется вместе с ним. Пусть (Ix, Jy, Kz) и (Iu, Jv, Kw) -- единичные векторы, направленные вдоль осей систем OXYZ и OUVW соответственно.

Некоторую точку P в пространстве можно охарактеризовать координатами относительно любой из указанных систем. Для простоты рассуждений предположим, что точка P фиксирована и неподвижна в системе отсчета OUVW. Тогда в системах координат OUVW и 0 точка P будет иметь соответственно координаты.

И

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

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

3. Матрицы сложных поворотов

Описание последовательности конечных поворотов относительно основных осей системы можно получить путем перемножения матриц элементарных поворотов. Поскольку операция перемножения матриц некоммутативна, здесь существенна последовательность выполнения поворотов. Например, матрица поворота, представляющего собой результат последовательного выполнения поворотов сначала на угол б вокруг оси ОХ, затем на угол и вокруг оси OZ, затем на угол ц вокруг оси OY, имеет вид

где Сц = cos ц; Sц =sin ц; Си = cos и , Sи = sin и; Sб =cos б, C б = sin б. Она отличается от матрицы, описывающей результат поворота сначала на угол ц вокруг оси ОY, затем на угол б вокруг оси OZ и, наконец, на угол б относительно оси ОX. Во втором случае результирующая матрица поворота имеет вид

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

1.Вначале обе системы координат совпадают, и, следовательно, матрица поворота представляет собой единичную матрицу размерностью 3X3.

2. Если подвижная система координат OUVW совершает поворот вокруг одной из основных осей системы OXYZ, матрицу предыдущего результирующего поворота, надо умножить слева на соответствующую матрицу элементарного поворота.

3. Если подвижная система координат OUVW совершает поворот вокруг одной из своих основных осей, матрицу предыдущего результирующего поворота надо умножить справа на соответствующую матрицу элементарного поворота.

4. Уравнения движения манипулятора

Запишем выражение для функции Лагранжа

Подставив это выражение в уравнение Лагранжа, получим выражение для обобщенной силы фі которую должен развить силовой привод i-го сочленения, чтобы реализовать заданное движение i-го звена манипулятора

Выражение можно представить в следующей более простой форме:

Или в матричном виде

где ф(t) -- вектор (размерностью я n*1) обобщенных сил, создаваемых силовыми приводами в сочленениях манипулятора:

5. Пример: двухзвенный манипулятор

Применение уравнений Лагранжа -- Эйлера в форме для описания динамики движения манипулятора проиллюстрируем в этом разделе на примере двухзвенного манипулятора с вращательными сочленениями (рис. 2).

Рис. 2

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

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

* присоединенными переменными являются углы ;

* первое и второе звенья имеют соответственно массы

* параметры звеньев имеют значения В соответствии с рис. 1 и полученными в предыдущих разделах соотношениями для матрицы ( i = 1, 2)

Формула для расчета матрицы псевдоинерции J

Производится расчет D11 по формуле. Используем формулы приведенные выше

матрица манипулятор лагранж

Уравнение описывающие динамику движения рассмотренного двухзвенного манипулятора

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

6. Программно-алгоритмический комплекс

Для расчета этих моментов был создан программно-алгоритмический комплекс

Рис. 3

m1, m2 - массы звеньев манипулятора

L1= L2 = L - длины звенев манипулятора

- углы поворота звеньев относительно начала координат

Tau1 Tau2 - моменты которые создаются каждым звеном манипулятора

Листинг программы

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Math.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

double t1;

double t2;

float m1;

float m2;

float l;

double C1;

double C2;

double C12;

float g = 9.8;

double S2;

float teta1;

float teta2;

double teta1_uskr = 0;

double teta2_uskr = 0;

float teta1_spd = 0;

float teta2_spd = 0;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

Memo2->Clear();

Memo1->Clear();

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

m1 = StrToFloat(Edit1->Text);

m2 = StrToFloat(Edit2->Text);

l = StrToFloat(Edit3->Text);

teta1 = StrToFloat(Edit4->Text);

teta2 = StrToFloat(Edit5->Text);

C1 = cos(teta1*3.1416/180);

C2 = cos(teta2*3.1416/180);

C12= cos(teta1 + teta2);

S2 = sin(teta2*3.1416/180);

}

void __fastcall TForm1::Button2Click(TObject *Sender)

{

double a_t1;

double d_t1;

double c_t1;

double a_t2;

double d_t2;

double c_t2;

a_t1 = ((1/3)*m1*l*l + (4/3)*m2*l*l + m2*C2*l*l)*teta1_uskr + ((1/3)*m2*l*l + (1/2)*m2*l*l*C2)*teta2_uskr;

d_t1 = (1/2)*m2*S2*l*l*teta2_spd*teta2_spd + m2*S2*l*l*teta1_spd*teta2_spd;

c_t1 = (1/2)*m1*g*l*C1 + (1/2)*m2*g*l*C12 + m2*g*l*C1;

t1 = a_t1 - d_t1 + c_t1;

a_t2 = ((1/3)*m2*l*l + (1/2)*m2*l*l*C2)*teta1_uskr + ((1/3)*m2*l*l)*teta2_uskr;

d_t2 = (1/2)*m2*S2*l*l*teta1_spd*teta1_spd;

c_t2 = (1/2)*m2*g*l*C12;

t2 = a_t2 + d_t2 + c_t2;

Memo2->Clear();

Memo1->Clear();

Memo1->Text=t1;

Memo2->Text=t2;

Вывод

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

Размещено на Allbest.ru

...

Подобные документы

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

    лабораторная работа [274,4 K], добавлен 01.12.2013

  • Решение дифференциальных уравнений с использованием классических алгоритмов численных методов Эйлера и Рунге-Кутта 4-го порядка. Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений. Результат работы программы.

    курсовая работа [226,6 K], добавлен 05.04.2013

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

    курсовая работа [137,9 K], добавлен 07.03.2013

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

    курсовая работа [117,3 K], добавлен 23.11.2010

  • Принцип и значение метода Эйлера для расчета дифференциальных уравнений. Анализ его геометрического смысла. Улучшение метода за счет аппроксимации производной. Разработка блок-схем и программы на языке Turbo Pascal для проверки методов интегрирования.

    курсовая работа [385,7 K], добавлен 15.06.2013

  • Разработка динамической модели мехатронного устройства. Классификация захватных устройств. Составление уравнений движения мехатронного устройства в виде уравнений Лагранжа второго рода. Конструктивные особенности схвата мехатронного устройства.

    дипломная работа [448,2 K], добавлен 27.06.2012

  • Программа вычисления интеграла методом прямоугольников. Решение задачи Коши для дифференциальных уравнений. Модифицированный метод Эйлера. Методы решения краевой задачи для обыкновенного дифференциального уравнения. Задачи линейного программирования.

    методичка [85,2 K], добавлен 18.12.2014

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

    курсовая работа [246,8 K], добавлен 17.06.2013

  • Нахождение собственных чисел и разработка фундаментальной системы решений. Построение фундаментальной матрицы методом Эйлера. Зависимость Жордановой формы матрицы А от ее собственных чисел. Решение задачи Коши. Построение фазового портрета в MATLAB.

    курсовая работа [1,4 M], добавлен 20.12.2013

  • Решение систем алгебраических линейных уравнений методом Гаусса. Вычисление обратной матрицы и определителя. Декомпозиция задачи. Схема взаимодействия интерфейсных форм. Описание процедур и функций. Тестирование разработанного программного продукта.

    курсовая работа [1,1 M], добавлен 05.06.2012

  • Итерационные методы решения нелинейных уравнений, системы линейных алгебраических уравнений (СЛАУ). Решение нелинейных уравнений методом интерполирования. Программная реализация итерационных методов решения СЛАУ. Практическое применение метода Эйлера.

    курсовая работа [1,6 M], добавлен 20.01.2010

  • Обзор методов решения в Excel. Рекурентные формулы метода Эйлера. Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка. Метод Эйлера с шагом h/2. Решение дифференциальных уравнений с помощью Mathcad. Модифицированный метод Эйлера.

    курсовая работа [580,1 K], добавлен 18.01.2011

  • Решение системы обыкновенных дифференциальных уравнений в программе Matlab. Применение метода Рунге–Кутты. Априорный выбор шага интегрирования. Построение трехмерного графика движения точки в декартовой системе координат и создание видеофайла формата AVI.

    контрольная работа [602,8 K], добавлен 04.05.2015

  • Решение дифференциального уравнения с помощью численных методов (Рунге-Кутта и Эйлера модифицированного). Особенности построения графиков в программе Microsoft Visual Basic 10 с использованием ответа задачи, который имеет незначительную погрешность.

    курсовая работа [1017,3 K], добавлен 27.05.2013

  • Выбор манипулятора-указателя, микропроцессора, интерфейса подключения к ПК. Обзор используемых команд. Проектирование функциональной и электрической принципиальной схемы контроллера трекбола. Разработка алгоритма и программы функционирования системы.

    курсовая работа [453,3 K], добавлен 22.10.2012

  • Ручной расчет поставленной задачи методов Эйлера и Эйлера-Коши. Алгоритмы решения обоих методов, их программная реализация, решение тестовых примеров на заданную задачу. Расчеты заданного интеграла на языке программирования Turbo Pascal, их результаты.

    курсовая работа [404,7 K], добавлен 15.06.2013

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

    курсовая работа [343,1 K], добавлен 19.12.2011

  • Составление процедуры для матрицы, разложения матрицы на множители, решения системы линейных уравнений, нахождения определителя матрицы и матрицы с транспонированием. Суть метода квадратного корня. Разложение матрицы на множители. Листинг программы.

    лабораторная работа [39,4 K], добавлен 18.09.2012

  • Решение задачи расчета структуры и объема товарооборота методом линейного программирования. Формулы ограничений, транспортная задача оптимизации доставки товаров. Решение задачи о назначениях на основе матрицы стоимостей в электронной таблице Excel.

    контрольная работа [1023,6 K], добавлен 27.05.2013

  • Численные решения задач методом Коши, Эйлера, Эйлера (модифицированный метод), Рунге Кутта. Алгоритм, форма подпрограммы и листинг программы. Решение задачи в MathCad. Подпрограмма общего решения, поиск максимальных значений. Геометрический смысл задачи.

    курсовая работа [691,4 K], добавлен 17.05.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.