2014 dxdy logo

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

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




На страницу 1, 2, 3  След.
 
 Инверсная кинематика: вопрос по определению углов
Сообщение30.09.2014, 12:36 
Добрый день, форумчане!
Вот, задался вопросом нахождения углов отклонения при решении инверсной кинематике. Всё получается, да вот только в каком-то месте закралась ошибка и я её не могу обнаружить. Прошу помощи!

Задача. Дан трехзвенный механизм. Первое звено, длинной 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 
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
Тема перемещена в Карантин по следующим причинам:

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

и т.п.

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

 
 
 
 Posted automatically
Сообщение30.09.2014, 14:41 
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»

 
 
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение01.10.2014, 09:27 
Ну вот, как всегда ... ни ответа, ни привета ... может рубрикой ошибся?
А по делу, так:
Если мы смотрим на плоскость YZ, то из Yh нужно вычитать только длину первого звена, $L_1$, так как это звено в просматриваемой плоскости есть прямая и никаких дополнительных углов не образует.
Как-то так ...
Осталось только проверить.

 
 
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение01.10.2014, 10:43 
Проведём плоскость через ось $z$ и точку $H$. В этой плоскости вращаются звенья $L_2$ и $L_3$, следовательно и звено $L_1$, т.е. весь механизм. Тем самым мы перешли к решению на плоскости.

 
 
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение01.10.2014, 15:03 
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 
Проверил.
При таком расчете получается, что при вводе координат (80, 1, 50), звенья перемещаются в точку (0, 1). Зато значение по $Z$ отрабатывается нормально. Где-то потерял координату $X$, а вот где - не могу определить.
В добавок по осям ординат X и Y можно ввести значения только до 80, при этом отсчет ведется от точки $O_2$.

-- 01.10.2014, 17:28 --

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

 
 
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 08:50 
sezam, вы не с того начинаете. Определитесь с траекторией конца звена $L_1$. Задавайте точки на этой траектории и считайте углы. Угол наклона звена $L_1$ относительно любой оси будет зависеть от всех трёх координат.

 
 
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 09:26 
Skeptic
У меня звено $L_1$ вращается только в одной плоскости, а именно XY. Поэтому угол зависит только от двух координат. По оси Z звено не вращается.

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

 
 
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 13:15 
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 
sezam, мы по разному поняли условие задачи:
sezam в сообщении #913922 писал(а):
... Второе и третье звенья движутся в вертикальной плоскости координат Z. Определить углы звеньев относительно друг друга, при условии, что окончание третьего звена располагается в точке Н с координатами (60,80,30).
В какой плоскости движутся звенья $L_2$ и $L_3$?
Я считаю, в плоскости, перпендикулярной к плоскости $XY$, содержащей ось $Z$.
Почему вы рассматриваете плоскость $XY$ как плоскость движения механизма, если точка $H(60,80,30)$ не лежит в ней?

 
 
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 14:45 
Вы считаете правильно. Так и есть.
Плоскость $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 
sezam, когда мы выяснили в какой плоскости движется механизм, то можно перейти в двумерное пространство, и, как вы говорите: "При решении поставленной задачи использовать формулы тригонометрии и методы решения треугольников".

 
 
 
 Re: Инверсная кинематика: вопрос по определению углов
Сообщение02.10.2014, 19:47 
Вы не думайте, что я хочу получить быстрый ответ. Больше всего интересен сам процесс поиска решения.
Мне кажется, что разгадка ребуса уже почти рядом. Настолько, что её можно прочувствовать.
Но, может быть я немного тяну резину, но выхода в решении задачи пока не вижу.
И почему-то всё время зацикливаюсь на разделении координат и плоскостей, на 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