Цилиндрическая система координат в Манипуляционных ИРС

Share Button

Методист по олимпиадной робототехнике Университета Иннополис Алексей Овсянников рассказывает о математических основах, необходимых для эффективного решения задач олимпиады Innopolis Open in Robotics. 

Цилиндрическая система координат в Манипуляционных ИРС

На курсах повышения квалификации по Манипуляционным ИРС мы рассказывали о математических основах, необходимых для эффективного решения задач олимпиады Innopolis Open in Robotics. Если для младшей категории все достаточно очевидно, то в старшей у слушателей возникали вопросы. Решил суммировать этот материал и опубликовать его. Сегодня разговор пойдет о системах координат.

Научно-методический комитет направления «Манипуляционные ИРС» разрабатывал задания таким образом, чтобы стимулировать участников к изучению нового теоретического материала, выходящего за рамки обычной школьной программы. Например, в старшей категории игровые объекты расставлены таким образом, что их координаты удобнее было описывать в цилиндрической системе координат. Давайте рассмотрим ее подробнее.

В привычной нам Декартовой системе координат (ДСК) пространство описывается в виде прямоугольника понятиями «ширина», «глубина», «высота», а положение точки привычными координатами X, Y и Z.

Декартововая система координат

Точка М имеет три координаты, наглядно отображенные на рисунке как Mx, My и Mz.

В цилиндрической же системе координат (ЦСК) пространство описывается в виде цилиндра, а точка задается другими тремя координатами:

  • r — расстояние до точки (радиус);
  • φ — угол, направление на точку;

z — высота над основанием.

Посмотрим на полигон старшей категории «МанИРС», и определим ключевые точки и вектора (пока что без координаты Z, то есть только на плоскости поля):

  • Точка О — начало координат (в обеих системах), точка отсчета;
  • X и Y — оси координат ДКС, разумнее будет оси X ДСК и ЦСК совместить;
  • Точки A-E — склады строительных материалов;
  • Точки F-H — зоны постройки.

Полигон старшей категории МанИРС

Нулевое направление ЦСК (совпадает с направлением оси X) разумнее выбирать направленным в сторону зоны индикаторов, так как логичнее всего при старте робота сперва определять цвета индикаторов (порядок постройки). В общем случае нулевое направление можно выбрать любым, оно влияет только на дальнейшие расчеты.

Координаты складов строительных материалов (точки A-E) удобнее будет описывать в ЦСК, так как расстояние до них одинаковое, отличается лишь угол поворота. Координаты зон построек (точки F-H) заданы в декартовых координатах, их достаточно просто высчитать из размеров площадки:

Fx=Hx=200 мм,

Fy=Hy=100 мм.

Точка G интересна тем, что ее координаты можно описать в обеих системах:

ЦСК: Gr=200 мм, Gφ=0 градусов;

ДСК: Gx=200 мм, Gy=0 мм.

Эти координаты понятны «на глаз». Для перевода менее очевидных координат других точек из одной системы в другую используются специальные формулы. Так, чтобы получить координаты ЦСК — радиус, угол и высоту, — зная X, Y и Z используются такие формулы:

Для обратного перевода, если нам известны радиус, угол и высота, а хотим получить X, Y и Z, используем такие формулы:

Зная эти формулы, мы можем получить координаты всех точек в обеих системах координат:

Из таблицы видно, что точки A-E имеют «красивые» значения координат в ЦСК, точки F и H в ДСК, точка G в обеих. Обратите внимание, что положительное направление угла — против часовой стрелки. Так что координата этого угла у точки E меньше, чем у точки А.

Теперь рассмотрим чуть подробнее координату Z. В обеих системах она совпадает, показывая высоту точки над плоскостью-основанием. Перевод этой координаты не требуется. Но стоит заметить, что в рассматриваемой категории используются объекты двух размеров, устанавливаемых друг на друга. Поставив три маленьких кубика (по 32 мм) друг на друга высота верхней грани получается 96 мм. Поставив три больших кубика (по 48 мм) друг на друга высота верхней грани получается 144 мм. Разница между обоими случаями — 48 мм, как раз размер большого кубика. Так что в программе робота стоит запоминать тип (размер) всех объектов в башне (или при сортировке на складе) и вычислять эту координату для каждого конкретного случая.

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

Это надо иметь в виду при подготовке к соревнованиям и уметь быстро переводить координаты между различными системами. Идеально будет научить робота самого это делать, написав для него соответствующие функции. Например, в следующем демо-видео робот перемещается по точкам E и B, указанным в координатах ЦСК, а потом к точке F, указанной в ДСК:

В этой сцене симулятора (выложена на странице ресурсов олимпиады) робот построен на основе кинематической схемы SCARA. Поэтому для того, чтобы привести его в положение с заданным радиусом r, необходимо сгибать между собой второе и третье звенья, как сгибается локоть руки. Чем ближе рабочая точка манипулятора к центру, тем сильнее сгибается этот «локоть» (наглядно видно в самом конце видео, когда робот устанавливает схват над зоной схемы построек. Вычислить эти углы сгибания локтей можно по теореме косинусов, но ее применение я опишу в следующей статье. Если использовать выдвигающееся звено (телескопическое или подобное), то радиус r координат ЦСК будет проще устанавливать.

На сегодня буду заканчивать. Надеюсь, что участники олимпиады Innopolis Open in Robotics подробно изучат тему различных систем координат, напишут соответствующие функции для своих роботов и будут готовы к любым сюрпризным заданиям, связанным с новыми ключевыми точками на полигоне.

Share Button

Нет комментариев.

Оставить комментарий

© 2014-2024 Занимательная робототехника, Гагарина Д.А., Гагарин А.С., Гагарин А.А. All rights reserved / Все права защищены. Копирование и воспроизведение в любой форме запрещено. Политика конфиденциальности. Соглашение об обработке персональных данных.
Наверх