2014 dxdy logo

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

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




На страницу 1, 2, 3, 4, 5 ... 7  След.
 
 Определние угла манипулятора
Сообщение05.07.2017, 13:33 
Здравствуйте,
необходимо определить два угла положения манипулятора, при известных расстояниях между датчиками. манипулятор подвижен в одной точке - шаровой опоре. Подробности на картинках.
Изображение
Изображение
Изображение
Изображение

угол по вертикали от 90 до 45 град и по горизонтали +-80град необходимо вычислять.

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

 
 
 
 Re: определние угла манипулятора
Сообщение05.07.2017, 18:21 
Если движение по окружности, то решается система двух уравнений относительно координат точки (на окружности) как расстояний от двух датчиков, и из двух решений выбирается точка, наверно, с большей ординатой.
Если точка принадлежит сфере (движение с двумя степенями свободы), то нужны три датчика. Расстояния от этой точки до трёх конкретных фиксированных точек известны. Итого: система трёх алгебраических уравнений с тремя неизвестными, у которой два решения. Выбирается, понятно, точка с положительным z.
Если известны координаты точки на сфере (или на окружности), то углы не могут быть проблемой.

 
 
 
 Re: определние угла манипулятора
Сообщение05.07.2017, 19:28 
Art_sh
Неясно, определяет ли положение излучателя искомые углы однозначно (если бы излучатель находился на оси манипулятора это бы так и было). В частности, может ли например манипулятор подняться вертикально и повернуться вокруг своей оси?
Излучатель движется по поверхности или в каком-то объеме?

 
 
 
 Re: определние угла манипулятора
Сообщение06.07.2017, 06:09 
Простите, но зачем три датчика? Ведь исключая выделенные случаи мы всегда имеем неправильный тетраэдр со всеми известными рёбрами (4 из них заданы конструктивно, два измеряются), осталось опустить высоту из вершины с излучателем на желаемую плоскость (не обязательно совпадающую с гранью тетраэдра) и посчитать два угла. Введя удобную систему координат (например с центром в шаровой опоре) я особых трудностей не вижу. Для определения координат излучателя решаем систему из трёх квадратных уравнений для расстояний от излучателя до вершин тетраэдра (одно фиксированно конструктивно, два измерены), получаем два решения, над и под плоскостью, второе отбрасываем как нефизичное, имея координаты опустить высоту и посчитать углы уже несложно, чистая школьная геометрия.

Разумеется поворот манипулятора вокруг продольной оси должен быть исключён. И его не определишь даже введенеием ещё датчиков, придётся вводить ещё один излучатель диаметрально симметричный и получать ориентацию диаметра манипулятора решением 6-ти уравнений для двух точек и 4-х измеренных расстояний. Именно диаметра если нужна однозначность поворота, с любой другой хордой решения будет два и их по одному измерению (4-х расстояний) не разделить - хотя можно разделить если вести непрерывное отслеживание перемещения манипулятора с достаточной скоростью и точностью чтобы не "проморгать" резкий поворот, тогда второе решение исключается из требования непрерывности траектории от известного начального положения.

 
 
 
 Re: определние угла манипулятора
Сообщение06.07.2017, 09:32 
Манипулятор не вращается вдоль своей оси. Его перемещение жестко зафиксировано углами, которые указаны. и которые необходимо вычислять в любой момент времени.
Излучатель жестко зафиксирован.
Стартовое положение манипулятора может быть каким угодно.

 
 
 
 Re: определние угла манипулятора
Сообщение06.07.2017, 10:30 
Art_sh в сообщении #1231810 писал(а):
Манипулятор не вращается вдоль своей оси. Его перемещение жестко зафиксировано углами, которые указаны. и которые необходимо вычислять в любой момент времени.

Он не может не вращаться (в некотором смысле), но ваши слова говорят о том, что вы сможете сами, если надо, вычислить нужные вам углы исходя из известного положения излучателя. Тогда двух датчиков хватит.

Если вы хотите чтобы кто-то написал конкретные формулы, то как мне кажется, вам надо составить и разместить тут чертеж с нанесенными обозначениями величин -- типа вот этот угол альфа, этот бета, вот это расстояние икс, это игрек и так далее.
Иначе вы будете получать только общее словесное описание (если конечно не найдется энтузиаст который сделает этот чертеж за вас).

 
 
 
 Re: определние угла манипулятора
Сообщение06.07.2017, 10:37 
wrest в сообщении #1231816 писал(а):
Art_sh в сообщении #1231810 писал(а):
Манипулятор не вращается вдоль своей оси. Его перемещение жестко зафиксировано углами, которые указаны. и которые необходимо вычислять в любой момент времени.

Он не может не вращаться (в некотором смысле), но ваши слова говорят о том, что вы сможете сами, если надо, вычислить нужные вам углы исходя из известного положения излучателя. Тогда двух датчиков хватит.

Если вы хотите чтобы кто-то написал конкретные формулы, то как мне кажется, вам надо составить и разместить тут чертеж с нанесенными обозначениями величин -- типа вот этот угол альфа, этот бета, вот это расстояние икс, это игрек и так далее.
Иначе вы будете получать только общее словесное описание (если конечно не найдется энтузиаст который сделает этот чертеж за вас).

Я в самом деле хотел бы, что бы написали конкретные формулы и готов за это заплатить. Вокруг своей оси манипулятор вращаться не может по причине того, что к нему прикреплены два актуатора, которые будут управлять им.
Чертеж сделаю сам))


Вроде бы должно быть понятно, какие углы считать требуется.
Изображение
Изображение
Изображение

 
 
 
 Re: определние угла манипулятора
Сообщение06.07.2017, 12:44 
Art_sh в сообщении #1231819 писал(а):
Чертеж сделаю сам

Ваш чертеж плохой :)
Вы рисуете угол до какой-то квадратной поверхности, но не даете размера (сечения) манипулятора, а манипулятор толстый (излучатель отстоит от оси манипулятора на около 12% расстояния между приемниками).

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

В итоге получится, что надо определить точку пересечения трех сфер
1-я сфера с центром в левом датчике и радиусом с показаниями датчика.
2-я сфера с центром в правом датчике и радиусом с показаниями датчика
3-я сфера с центром в точке вокруг которой вращается манипулятор и радиусом от этой точки до излучателя.

Пересечением трех сфер если их центры не лежат на одной прямой, могут быть ноль одна или две точки. В вашем случае их будет две, вам будет нужно выбрать одну подходящую по смыслу. Нахождение этого пересечения называется "трилатерация" и описано например в Википедии здесь https://ru.wikipedia.org/wiki/%D0%A2%D1 ... 0%B8%D1%8F

Там же есть все формулы для нахождения координат точки пересечения (в вашем случае -- координат излучателя).

 
 
 
 Re: определние угла манипулятора
Сообщение06.07.2017, 14:24 
Есть такая задача: для автоматической работы манипулятора задают последовательность его положений в пространстве, по которым вычисляются углы, на которые двигатели поворачивают звенья. Каждое звено имеет две степени свободы. Иными словами, что-то типа синтеза механизма по заданной траектории.
Даже если происходит вращение звена, то есть, рассматриваем цилиндр, то координаты излучателя определяются однозначно в полупространстве, следовательно, и любая точка звена тоже, значит, и любые углы. Будет звено менять свою длину, то это дополнительная степень свободы, а именно четвёртая. Но это самый общий случай при фиксированной точке основания оси звена, и он однозначно решается. Теперь накладываем реальные ограничения и упрощаем, убирая степени свободы. Нет изменения длины – остаются вращение и движение точки по сфере, нет вращения – остаётся движение по сфере, нет сферы – остаётся одна степень свободы, это движение по окружности.
Поэтому манипулятор с любым числом звеньев является самым простым механизмом в плане вычисления положений его точек и в прямую сторону, и в обратную.

 
 
 
 Re: определние угла манипулятора
Сообщение07.07.2017, 05:07 
Art_sh
Может Вам проще будет использовать датчики вращения и инклинометры? Посмотрите.

 
 
 
 Re: определние угла манипулятора
Сообщение07.07.2017, 09:33 
Батороев в сообщении #1231970 писал(а):
Art_sh
Может Вам проще будет использовать датчики вращения и инклинометры? Посмотрите.

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

-- Пт июл 07, 2017 09:42:18 --

Изображение

Еще какие то данные требуются?

 
 
 
 Re: определние угла манипулятора
Сообщение07.07.2017, 10:06 
Art_sh в сообщении #1231983 писал(а):
Еще какие то данные требуются?

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

 
 
 
 Re: определние угла манипулятора
Сообщение07.07.2017, 10:39 
wrest в сообщении #1231990 писал(а):
Art_sh в сообщении #1231983 писал(а):
Еще какие то данные требуются?

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

Расстояния от датчиков до центра опор не точные и применять их нежелательно, потому и не указывал.

 
 
 
 Re: определние угла манипулятора
Сообщение07.07.2017, 10:42 
Art_sh
Если расстояния от центра шаровой опоры известны с большой погрешностью, то (относительная) погрешность определения углов будет уж точно не лучше. Стоит подумать об калибровке манипулятора, например в вертикальном положении измерить расстояния a и b, потом их же измерить при отклонении манипулятора градусов на 60 строго в известном направлении в обе стороны. По трём измерениям (даже с неизвестными углами но в известной плоскости) кажется можно по расстояниям a и b и c найти и три расстояния от шаровой опоры. Для уменьшения погрешности стоит цикл калибровки провести несколько раз, лучше даже со сменой плоскости перемещения манипулятора.

-- 07.07.2017, 10:43 --

Art_sh в сообщении #1231994 писал(а):
Расстояния от датчиков до центра опор не точные и применять их нежелательно, потому и не указывал.
А без них углы не вычислить. При известных расстояниях a, b, c треугольник abc может свободно вращаться вокруг оси c и значит точка излучения не фиксирована в пространстве и соответственно углы могут быть почти любыми.
Ставьте тогда третий приёмник с известными расстояниями до первых двух (и не на одной прямой с ними!) - он и будет вместо центра шаровой опоры и тогда положение излучателя снова будет фиксировано в трёхмерном пространстве и можно будет вычислить желаемые углы.

 
 
 
 Re: определние угла манипулятора
Сообщение07.07.2017, 10:49 
Art_sh в сообщении #1231994 писал(а):
Расстояния от датчиков до центра опор не точные и применять их нежелательно, потому и не указывал.

Тогда углы наклона не посчитаете. Пересечение сфер с радиусами $a$ и $b$ это окружность.

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

 
 
 [ Сообщений: 95 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group