2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2, 3  След.
 
 Инверсная кинематика: вопрос по определению углов
Сообщение30.09.2014, 12:36 


30/09/14
22
Добрый день, форумчане!
Вот, задался вопросом нахождения углов отклонения при решении инверсной кинематике. Всё получается, да вот только в каком-то месте закралась ошибка и я её не могу обнаружить. Прошу помощи!

Задача. Дан трехзвенный механизм. Первое звено, длинной 27 мм, крепится к платформе в точке О с координатами (0,0) и располагается в плоскости координат XY. Назовем звено $L_1$. Второе звено, длиной 30 мм, крепиться к окончанию первого звена. Назовем звено $L_2$. Третье звено, длиной 50 мм, крепиться к окончанию второго звена. Назовем звено $L_3$. Второе и третье звенья движутся в вертикальной плоскости координат Z. Определить углы звеньев относительно друг друга, при условии, что окончание третьего звена располагается в точке Н с координатами (60,80,30).

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

$XY=\arctg(Xh/Yh)180/\pi=\arctg(60/80)180/\pi=53,13 $ градуса. (первый угол поворота звеньев вокруг точки крепления О)

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

Так как звенья $L_2$ и $L_3$ отступают от начала координат на длину звена $L_1$, то требуется перенести начало координат:

$Yh=Yh-L_1\sin(XY)=80-27\sin(53,13)=72,616$ мм

Затем определим угол между гипотенузой катетов звеньев $L_2$ и $L_3$ (он нам понадобится):

$ugZ=\arctg(Zh/Yh)180/\pi=\arctg(30/72,616)180/\pi=67,553$ градуса.

Далее вычислим угол отклонения второго звена от гипотенузы:

$\alpha=\arccos(a_1/Rh)180/\pi=14,046$ градусов

где

числитель:

$a_1=Yh^2+Zh^2+L_2^2-L_3^2=72,616^2+30^2+30^2-50^2=4573,226$

знаменатель:

$Rh=2L_2/\sqrt{Yh^2+Zh^2}=2(72,616^2 + 30^2)^{1/2}=4714,192$

Вроде бы с расчетами всё.

Теперь займемся проецированием:

Первый угол поворота всей системы в плоскости XY: XY=53,13 градуса
Второй угол поворота звена $L_2$ вокруг точки крепления к звену $L_1$:

$(180-(\alpha+ugZ))=180-(14,046+67,553)=98,399$ градусов

Третий угол поворота звена $L_3$ вокруг точки крепления к звену $L_2$:

$((((2\pi-\arccos(z)))180/\pi)-180)=157,579$ градусов

где z:
$z=(Zh^2+Yh^2-L_2^2-L_3^2)/(2L_2L_3)=0,9244$

=====
Вот вроде бы и всё решение, но почему-то все звенья цепи указывают не на саму точку в пространстве, а с небольшим смещением, в районе 5-10 мм.

Прошу помощи в решении данной задачи. Может где ошибка?

 Профиль  
                  
 
 Posted automatically
Сообщение30.09.2014, 14:20 


20/03/14
12041
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
Тема перемещена в Карантин по следующим причинам:

Оформите все формулы, пожалуйста.
sezam в сообщении #913922 писал(а):
L2 и L3

и т.п.

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

 Профиль  
                  
 
 Posted automatically
Сообщение30.09.2014, 14:41 


20/03/14
12041
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение01.10.2014, 09:27 


30/09/14
22
Ну вот, как всегда ... ни ответа, ни привета ... может рубрикой ошибся?
А по делу, так:
Если мы смотрим на плоскость YZ, то из Yh нужно вычитать только длину первого звена, $L_1$, так как это звено в просматриваемой плоскости есть прямая и никаких дополнительных углов не образует.
Как-то так ...
Осталось только проверить.

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение01.10.2014, 10:43 


01/12/11

1047
Проведём плоскость через ось $z$ и точку $H$. В этой плоскости вращаются звенья $L_2$ и $L_3$, следовательно и звено $L_1$, т.е. весь механизм. Тем самым мы перешли к решению на плоскости.

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение01.10.2014, 15:03 


30/09/14
22
Skeptic
Хорошо. Тогда первое уравнение нахождения первого угла остается в силе:
$XY=\arctg(Xh/Yh)180/\pi$

Затем, угол отклонения гипотенузы будет таким:
$ugZ=\arctg(Zh/(Yh-L_1))180/\pi$

А дальнейшая последовательность операций останется прежней?

-- 01.10.2014, 15:22 --

Привожу рисунок плоскости через ось $z$ и точку $H$:
Изображение

Некоторые корректировки:
$ugZ$ - угол между осью $Z$ и линией $O_2H$;
угол $\alpha$ так и остается;
$Z$ - угол вокруг вершины $O_3$;

Все решения проводятся для верхнего положения точки $O_3$!!!

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение01.10.2014, 16:42 


30/09/14
22
Проверил.
При таком расчете получается, что при вводе координат (80, 1, 50), звенья перемещаются в точку (0, 1). Зато значение по $Z$ отрабатывается нормально. Где-то потерял координату $X$, а вот где - не могу определить.
В добавок по осям ординат X и Y можно ввести значения только до 80, при этом отсчет ведется от точки $O_2$.

-- 01.10.2014, 17:28 --

В общем, требуется прочертить в пространстве прямую линию окончанием системы звеньев.

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 08:50 


01/12/11

1047
sezam, вы не с того начинаете. Определитесь с траекторией конца звена $L_1$. Задавайте точки на этой траектории и считайте углы. Угол наклона звена $L_1$ относительно любой оси будет зависеть от всех трёх координат.

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 09:26 


30/09/14
22
Skeptic
У меня звено $L_1$ вращается только в одной плоскости, а именно XY. Поэтому угол зависит только от двух координат. По оси Z звено не вращается.

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 11:57 


01/12/11

1047
sezam
Нужно определить углы между звеньями. Т.к. механизм движется в плоскости перпендикулярной плоскости XY, то эти углы зависят только от угла звена $L_1$ к оси $z$, и не зависят от углов к осям $x$ и $y$.
Нарисуйте на бумаге траекторию звена $L_1$. Попробуйте к фиксированному положению звена $L_1$ добавить остальные звенья. Здесь вас ожидает нечто интересное.

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 13:15 


30/09/14
22
Skeptic
То, что интересно, уже давно понял. Максимальное значение получим только тогда, когда:
$D=\sqrt{X^2+Y^2+Z^2}=L_1+L_2+L_3$
в том случае, когда высота $Z$ будет равна нулю.
Попробую объяснить.
$L_1+L_2+L_3=27+30+50=107$
$D=\sqrt{X^2+Y^2+Z^2}$, с учетом $Z=0$ и одинаковым расстоянием по двум осям, получим $X=Y=75,66$ мм.
Полученное значение - максимальные координаты по осям X и Y с центром в точке начала звена $L_1$ (получается часть сферы).

Далее, по оси Z, сфера сплющивается до радиуса $L_2+L_3$, т.е. до 80 мм с каждой стороны с центром в точке соединения звеньев $L_1$ и $L_2$.

Вы говорили, что "углы зависят только от угла звена $L_1$ к оси $z$, и не зависят от углов к осям $x$ и $y$".
Но ведь сам угол $L_1$ к оси $z$ равен 90 градусам и он постоянен. Как тогда быть?

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 13:59 


01/12/11

1047
sezam, мы по разному поняли условие задачи:
sezam в сообщении #913922 писал(а):
... Второе и третье звенья движутся в вертикальной плоскости координат Z. Определить углы звеньев относительно друг друга, при условии, что окончание третьего звена располагается в точке Н с координатами (60,80,30).
В какой плоскости движутся звенья $L_2$ и $L_3$?
Я считаю, в плоскости, перпендикулярной к плоскости $XY$, содержащей ось $Z$.
Почему вы рассматриваете плоскость $XY$ как плоскость движения механизма, если точка $H(60,80,30)$ не лежит в ней?

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 14:45 


30/09/14
22
Вы считаете правильно. Так и есть.
Плоскость $XY$ рассматривается как плоскость поворота механизма вокруг начала звена $L_1$. Представим обычный вектор в пространстве, направленный на некую точку $H(60,80,30)$. Вектор имеет два угла: горизонтальное и вертикальное отклонение. В плоскости $XY$ осуществляется горизонтальное отклонение, в плоскости Z - вертикальное.
Точка H располагается выше плоскости $XY$. Нам нужно только дотянуться механизмом до неё.

$D_1=\sqrt{60^2+80^2+30^2}=104,4 < (L_1+L_2+L_3)$ - точка достижима

А вот как проверить достижимость в вертикальной плоскости?
Делал так:

$D_2=\sqrt{(80-L_1)^2+30^2}=60,9 < (L_2+L_3)$ - не достижима (?), однако система уравнений отработала

подозреваю, что это не правильно...

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 16:34 


01/12/11

1047
sezam, когда мы выяснили в какой плоскости движется механизм, то можно перейти в двумерное пространство, и, как вы говорите: "При решении поставленной задачи использовать формулы тригонометрии и методы решения треугольников".

 Профиль  
                  
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 19:47 


30/09/14
22
Вы не думайте, что я хочу получить быстрый ответ. Больше всего интересен сам процесс поиска решения.
Мне кажется, что разгадка ребуса уже почти рядом. Настолько, что её можно прочувствовать.
Но, может быть я немного тяну резину, но выхода в решении задачи пока не вижу.
И почему-то всё время зацикливаюсь на разделении координат и плоскостей, на XY и ZH, хотя их в моем случае нужно решать сообща.
И вот сейчас, вроде бы выяснили в какой плоскости и каким образом движется механизм, не могу сообразить что дальше делать.

Для начала можно определить угол поворота вертикальной плоскости ZH относительно горизонтальной XY:

$\alpha=\arctg{Y/X}$

Теперь можно вычислить значения отображения вектора плоскости ZH на оси плоскости XY:

$Xh=k\cos(\alpha)$
$Yh=k\sin(\alpha)$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group