ВВЕДЕНИЕ, Мобильные роботы и их применение, Колесные мобильные роботы классических схем

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

Для того чтобы математически описать движение мобильного робота нам потребуется определить системы координат. Я введу две системы координат —  мировую систему координат W (буду считать что он неподвижна в пространстве), и система координат робота R, которая перемещается в пространстве и остается неподвижной относительно самого робота.

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

Нам необходимо определить местоположение робота, то есть мы хотим знать, как преобразовывать координаты между W и R.

Степени свободы движения

Число степеней свободы определяет минимальное количество независимых переменных (обобщённых координат), необходимых для полного описания движения механической системы.

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

ВВЕДЕНИЕ, Мобильные роботы и их применение, Колесные мобильные роботы классических схем

Твердое тело, которое перемещается и вращается на плоскости имеет 3 степени свободы: 2 поступательных и 1 вращательную. Пример: наземный робот.

Твердое тело, которое перемещается и вращается в 3D-объеме имеет 6 степеней свободы: 3 поступательных и 3 вращательных. Пример: летающий робот.

Всенаправленное колесо

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

На видео показан пример четырехколесного робота со всенаправленными колесами.

Конфигурации колесных роботов

Существует множество различных конфигураций мобильных роботов.

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

Или марсоход Opportunity, который имеет колеса на штангах для преодоления больших препятсвий.

Но чаще применяются другие типы конфигураций.

RobotON. Четырехколесный робот

Это простые, надежные, прочные механизмы, пригодные для роботов, которые в основном передвигаются по плоскости.

Все эти роботы неголономны (используется два двигателя, но три степени свободы движения). Например, автомобилеподобный робот не может мгновенно двигаться в сторону.

Стандартный колесные конфигурации

Робот с дифференциальным приводом

Дифференциальный привод

Такая конфигурация используется в роботах-пылесосах.

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

  • Для прямолинейного движения колеса должны вращаться с одинаковыми скоростями.
  • Для того, чтобы робот развернулся на месте, необходимо установить скорости одинаковыми по модулю, но направленными противоположно.
  • Другие комбинации скоростей приводят к движению по дуге

Движение по дуге

Обозначим скорости колес (линейные скорости с которыми они «покрывают» поверхность)  и  – для левого и правого колес, соответственно, и расстояние между колесами.

  • Прямолинейное движение, если V_L = V_R
  • Разворот на месте, если V_L = - V_R
  • В более общем случае — движение по дуге

V_L

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

  • Левое колесо: пройденное расстояние = V_L Delta t; радиус дуги = R - frac{W}{2}; радиус дуги = R - frac{W}{2}
  • Правое колесо: пройденное расстояние = V_R Delta t; радиус дуги = R - frac{W}{2}; радиус дуги = R - frac{W}{2}
  • Обе колесные дуги имеют в основании один и тот же угол Delta theta

Такой тип роботов имеет два мотора — один для движения, другой для рулежки.

  • Не может нормально развернуться на месте.
  • При постоянной скорости и угле поворота движется по дуге окружности.
  • В четырехколесной схеме необходим задний дифференциал и переменная связь («Принцип Аккермана») на рулевые колеса.

Круговое движение трехколесного робота

Зубчатая передача

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

Зубчатые передачи

Если Передача 1 имеет крутящий момент , она оказывает тангенциальную силу

на Передачу 2. Крутящий момент Передачи 2 поэтому

Изменение угловой скорости между Передачей 1 и Передачей 2 вычислим, рассмотрев скорость в точке где они соприкасаются:

  • Когда маленькая шестерня приводит в движение большую, второе зубчатое колесо будет иметь более высокий крутящий момент и меньшую угловую скорость пропорционально соотношению зубьев.
  • Для достижения комбинированного воздействия шестерни можно объединять в цепочки.

Оценка движения c помощью датчиков

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

Пройденное расстояние пропорционально напряжению и времени. Здесь является расчетной константой (используя знания электричества и геометрии), но также может быть получена в результате калибровки.

  • Калибровка включает экспериментальное перемещение робота и сравнение фактического значения пройденного расстояния, со значением, полученным в результате теоретической оценки. Отношение фактического к теоретическому значениям и является коэффициентом калибровки.
  • Если при повторных испытаниях будет наблюдаться расхождения в полученных значениях, мы можем повысить точность путем изменения значения констант в наших выражений (таких как K), а затем повторить процесс.

V_R

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

Движение по окружности

Движение и состояние робота для плоскости

 и определяют местоположение предопределенной точки «центра робота» в мировой системе координат.

определяет угол поворота между системами координат (угол между осями и ).

Две системы координат совпадают в момент, когда центр робота находится в начале координат и .

Интегральное движение на плоскости

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

W

При движении на плоскости мы имеем три степени свободы для определения положения, представленные при .

Движение робота на плоскости

Планирование маршрута

Планирование маршрута, основываясь на положении

Если предположить, что роботу известно местоположение, и как оно относится к мировой системе координат, то планирование маршрута на основе его местоположения позволит ему двигаться по точному пути вдоль последовательности заранее определенных точек. Различные криволинейные траектории могут быть спланированы, с оптимизацией таких критериев, как время движения по маршруту или потребление энергии. Здесь я рассмотрю конкретный, достаточно простой случай, предполагая, что:

  • Движение робота состоит из прямолинейных отрезков отдельно от разворотов на месте.
  • Робот стремится свести к минимуму общее пройденное расстояние, так что он всегда сразу поворачивается лицом к следующей точке и едет прямо к ней.

На первом шаге планирования маршрута, предположим, что текущее положение робота и следующей точкой маршрута является .

  • Сначала робот должен повернуться к указанной точке. Вектор направления должен указывать на:

Необходимо убедиться, что находится в правильном квадранте, в промежутке .

  • Робот уже повернут на определенный угол, поэтому угол на который он должен повернуться beta = alpha - theta. Чтобы робот двигался наиболее эффективно, нужно сдвинуть угол, добавив или вычитая 2pi. Чтобы робот двигался наиболее эффективно, нужно сдвинуть угол, добавив или вычитая 2pi, чтобы -pi {amp}lt; beta le pi.
  • После этого, робот должен двигаться по прямой на расстояние d = sqrt{d_x^2 d_y^2}.
Смотрите про коптеры:  Робот SpinX будет чистить унитазы вместо людей
Оцените статью
Радиокоптер.ру
Добавить комментарий