roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 19:36

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Инверсная кинематика - не получается переход от x,y к Q1, Q2
СообщениеДобавлено: 14 июл 2016, 00:28 
Не в сети

Зарегистрирован: 06 ноя 2015, 14:02
Сообщения: 6
Работаю с информацией по этой ссылке. http://robocraft.ru/blog/mechanics/756.html
Задача относительно упрощенная - нужно роборукой взять предмет с поверхности. Можно рассматривать как раз 2 соединения, то есть есть длины L1 и L2, и дано расстояние до точки, к которой роборука должна протянуться - r.

1. Итак, поехали, четко замерил параметры реальной роборуки: L1 = 9.5 см, L2 = 15.5 см. Оценил расстояние до точки - оно лежит в диапазоне от r = 15...25 см. Все чисто, нет?
Для примера берем r = 17 см.

2. Идем дальше.
Код:
B = r; % от точки, откуда начинается роборука, до точки, к которой она тянется
x = r; % y = 0


3. В мануале сказано, что Q1 = q1+q2 для моего случая, но можно вывести, что q1 = 0. Итого:
Код:
Q1 = acos( L1^2 - L2^2 + B^2 / (2*B*L1) );

И тут первый конфьюжн - Q1 - комплексное. С чего это ради? Однако видно, что выражение L1^2 - L2^2 + B^2 / (2*B*L1) = -149.1053 отрицательно. Но физически у меня именно те параметры L1, L2 и B = r, которые приведены выше. Значит, формула не совсем адекватна, или я что-то упустил?

4. В качестве бонуса, так как разобраться бы вообще с пунктом 3. Но ок.
Код:
Q2 = -(pi - acos( L1^2 + L2^2 - B^2 / (2*L1*L2) ));

Не заметно ошибки? А получается тоже комплексное число. Все вычисления делались на MATLAB и вы можете их легко повторить.
Значения получаются в радианах, не так ли?

Добавлено спустя 12 минут 4 секунды:
Простите, по-моему, разобрался, если кому интересно:

Код:
clc; clear all; close all;
L1 = 9.5 %cm
L2 = 15.5 %cm
r = 22 %cm
B = r;
x = r;

Q1 = acos( (L1^2 - L2^2 + B^2 )/ (2*B*L1) );
Q2 = -(pi - acos( (L1^2 + L2^2 - B^2) / (2*L1*L2) ));


Q1 = 180*(Q1)/pi;
Q2 = 90-180*(Q2)/pi;
%Q2 = 149, Q1 = 38;


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Инверсная кинематика - не получается переход от x,y к Q1
СообщениеДобавлено: 14 июл 2016, 00:50 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
комплексное число у тебя получается, потому что комплексная часть - это фаза, т.е. матлаб тебе ответ дает в виде угол +2nPi, где n - целое число
Тебя волнует же угол в диапазоне от -Pi до +Pi, поэтому просто бери реальную часть ответа и усе.

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа


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

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


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO