Найти в Дзене

Математика робота

Добрый день. Сегодня мы поговорим о математике, потому как это основа всего проекта. Без "царицы наук" невозможно ни 3D-моделирование, ни печать, ни механика, ни тем более управление. Надеюсь у вас уже есть основные понятия на уровне школьной алгебры и геометрии. Если же многое забылось - ведь когда не используешь что-то более 20 дней постоянно, оно забывается, то ничего страшного - всего помнить и знать просто невозможно. В процессе и я, и те кто меня читает подтянем свои навыки, знания и умения - именно для этого вы и читаете этот текст. Система координат Как мы правильно помним - наша жизнь полностью происходит в 3-х мерном мире. И для понимания местонахождения чего-либо, размеров, перемещений и вращений необходимо использовать именно три измерения - длину, ширину и высоту. Для описания всего и вся давно было придумано несколько систем координат, я опишу какие сам помню, может другие нам и не понадобятся в будущем: Разумеется, все придумано до нас известны формулы перехода из одной
Оглавление

Добрый день. Сегодня мы поговорим о математике, потому как это основа всего проекта. Без "царицы наук" невозможно ни 3D-моделирование, ни печать, ни механика, ни тем более управление. Надеюсь у вас уже есть основные понятия на уровне школьной алгебры и геометрии. Если же многое забылось - ведь когда не используешь что-то более 20 дней постоянно, оно забывается, то ничего страшного - всего помнить и знать просто невозможно. В процессе и я, и те кто меня читает подтянем свои навыки, знания и умения - именно для этого вы и читаете этот текст.

Найдено на просторах
Найдено на просторах

Система координат

Как мы правильно помним - наша жизнь полностью происходит в 3-х мерном мире. И для понимания местонахождения чего-либо, размеров, перемещений и вращений необходимо использовать именно три измерения - длину, ширину и высоту. Для описания всего и вся давно было придумано несколько систем координат, я опишу какие сам помню, может другие нам и не понадобятся в будущем:

  • Декартова (прямоугольная) система координат. Которая является одной из основных систем, по моему но это не точно. Имеет некую точку "O" - начало координат, и 3 оси - "OX" (ось абсцисс), "OY" (ось ординат) и "OZ" (ось аппликат). Обычно при наименовании осей часто опускают начало координат и мы получаем в этом случае просто X, Y, Z. Таким образом некая воображаемая или реальная точка "M" в этой системе координат будет иметь координаты M(x, y, z), где значения x, y, z - это длины отрезков от начала координат параллельных соответствующим осям .
  • Цилиндрическая система координат. Расширение двумерной полярной системы координат, где добавлено третье измерение - высота по оси "OZ" над плоскостью "XOY" (перпендикуляр к плоскости). В этом случае вышеозначенные точка "M" будет иметь следующие координаты (r, φ, z), где r - длина радиуса вектора проекции точки "М" на плоскость "XOY", φ - угол образованный радиус-вектором проекции точки "М" с осью "OX", z - аппликата точки "М".
  • Сферическая система координат. 3-х мерный аналог полярной системы, но в отличие от цилиндрической, последнее значение тоже заменено на угол. И в этой системе координат координаты точки M(r, φ, θ) - где r и φ аналогичны предыдущей система, а θ - угол отклонения радиуса-вектора "ОМ" от оси "OZ".

Разумеется, все придумано до нас известны формулы перехода из одной системы координат в другую. К счастью, все эти преобразования благодаря развитию компьютеров можно делать не на листе бумаги, но понимать что к чему нужно обязательно. Надеюсь я доходчиво пока разъясняю.

Позиция и ориентация

Только что мы затронули такую геометрическую фигуру как угол. Данная фигура достаточно проста - два луча выходящих из одной точки образуют угол, обычно его измеряют в градусах/ минутах/секундах или радианах и обозначаются обычно строчными греческими буквами (α, β, γ, θ, φ и др.). Теперь попробуем понять как нам описывать точки в пространстве, ведь именно из точек состоят все геометрические фигуры.

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

Правило левой руки слева, и правой справа
Правило левой руки слева, и правой справа

Берем нашу правую кисть - сжимаем в кулак. Большой палец оттопыриваем вверх, показывая "класс", одновременно указательный палец оттопыриваем от себя указывая вперед и средним пальцем указываем перпендикулярно указательному, т.е. влево. Так у нас получается что положительной направление оси "OZ" у нас показывает большой палец, положительное направление оси "OX" - указательный и средний палец указывает на ось "OY". Если нам необходимо представить вращение вокруг оси "OZ", то на это нам указывают наши остававшиеся два пальца - безымянный и мизинец, они закручены именно в том направлении в котором у нас угол положительный. Аналогично и для левой руки. В строительстве робота я использую программное обеспечение которое использует правило правой руки - Blender, Gazebo, Cura. Теперь вы можете представить положение чего-угодно в нашем пространстве относительно вашей руки, которая виртуально стала точкой отсчета в системе координат.

И сразу же встает вопрос, а что делать если я считаю расстояния, размеры и координаты своей рукой, но она ведь подвижна. Да и как можно пересчитать координаты и прочее для моей руки комнаты, ведь физически эти системы координат совместить не получиться. Тут хочу рассказать вам о двух точках зрения для 3-х измерений, как ни странно они называются активная и пассивная, в Blender, например, это называется global и local (глобальная и локальная, относится к позиции и ориентации).

На самом деле все просто: активная точка зрения или глобальная позиция и ориентация - это когда задаем какую-то статическую систему координат и все расчеты ведутся в ней. Например - вы стоите в комнате, угол этой комнаты является началом системы координат - выше перемещение в этой комнате меняет ваши координаты. И повороты и перемещения нужно рассчитывать от этой точки. Это активная точка зрения.

Пассивная точка или локальная позиция и ориентация - это когда расчеты ведутся от какой-то точки. Например вы опять же стоите в комнате, но точкой начала координат является ваша правая рука. В таком случае ваш поворот и перемещение вы считаете от этой точки. Разумеется зависимости всегда известны и в любой момент времени можно вычислить как локальную, так и глобальную позицию и ориентацию.

Движение и поворот

Надеюсь вам пока не сильно надоело, ну прошу потерпеть еще немного.

Движением называют изменение положения в пространстве относительно других точек и тел с течением времени. Вот оно четвертое измерение - время! Математически движение можно описать несколькими способами:

  • Векторный способ - описание изменения радиус-вектора материальной точки в пространстве с течением времени.
  • Координатный способ описания движения – описание изменения во времени координат точки в выбранной системе отсчета.
  • Естественный способ описания движения – описание движения вдоль траектории. Этим способом пользуются, когда траектория точки заранее известна.

Поворот (вращение) это движение плоскости, твердого тела или пространства, при котором по крайней мере одна точка остаётся неподвижной. Для описания поворота в 3-х мерном пространстве мне известны несколько математических аппаратов - угла Эйлера, углы Крылова, матрица поворота и кватернионы. Мне больше нравится использовать кватернионы - они лишены тех недостатков которые есть в углах, проще в использовании чем матрицы и их без особых проблем можно переводить как в матрицы так и в углы.

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