Дифференциальное управление роботом

Материал из BrSTU Robotics Wiki
Перейти к: навигация, поиск

Дифференциальная схема управления мобильным роботом

Дифференциальная (или танковая) схема управления мобильным роботом представляет собой схему управления с двумя ведущими колесами, расположенными параллельно друг к другу, а так же другими колесами, которые могут крутиться во все направления (Сaster wheel, Cater ball).

Робот с дифференциальной схемой колес

Основные параметры такой схемы:

  • R - радиус колеса робота;
  • L - расстояние между левым и правым ведущими колесами;
  • $\upsilon_{l}$ и $\upsilon_{r}$ скорости левого и правого колес соответственно;
  • (x,y) - координаты положения робота в декартовой системе координат;
  • $\varphi$ - направление робота, измеряется в градусах и обычно отсчитывается от положительность оси абсцисс сетки координат.

Схема управления такой моделью: $$ \begin{align} \dot{x} & = \frac{R}{2} (\upsilon_{r} + \upsilon_{l}) \cos \varphi \\ \dot{y} & = \frac{R}{2} (\upsilon_{r} + \upsilon_{l}) \sin \varphi \\ \dot{\varphi} & = \frac{R}{L} (\upsilon_{r} - \upsilon_{l}) \end{align} $$

Управление скоростями каждого колеса по отдельности не удобно и трудно, поэтому вводят следующие управляющие сигналы:

  • $\upsilon$ - прямолинейная скорость, т.е. скорость, прикладываемая по направлению робота;
  • $\omega$ - скорость поворота робота.

Тогда наша схема управления преобретает следующий вид:

$

\begin{aligned} \dot{x} & = \upsilon \cos \varphi \\ \dot{y} & = \upsilon \sin \varphi \\ \dot{\varphi} & = \omega \end{aligned} $

Отсюда:

$

\begin{aligned} \upsilon & = \frac{R}{2} (\upsilon_{r} + \upsilon_{l}) \Rightarrow \frac{2\upsilon}{R} = \upsilon_{r} + \upsilon_{l} \\ \omega & = \frac{R}{L} (\upsilon_{r} - \upsilon_{l}) \Rightarrow \frac{\omega L}{R} = \upsilon_{r} + \upsilon_{l} \\ \end{aligned} $

Тогда управляющие сигналы скоростей колес легко получить из управляемых параметров:

$

\begin{aligned} \upsilon_{r} = \frac{2\upsilon + \omega L}{2R} \\ \upsilon_{l} = \frac{2\upsilon - \omega L}{2R} \end{aligned} $

Одометры

Траектории колес робота и его центра

Одометры (odemeters, encoders, энкодеры) позволяют оценить какое расстояние прошло каждое колесо ($D_{l}$ для левого и $D_{r} для правого$). Расстояние, пройденное центром робота можно вычислить по формуле:

$D_{c} = \frac{D_{l}+D_{r}}{2}$

Тогда схема управления приобретает вид:

$

\begin{aligned} \dot{x} & = x + D_{c} \cos(\varphi) \\ \dot{y} & = x + D_{c} \sin(\varphi) \\ \dot{\varphi} & = \varphi + \frac{D_{r} - D_{l}}{L} \end{aligned} $

Каждое такое колесо на один оборотов имеет определенное количество отсчетов - минимально возможное измерение. Обозначим его как N. Большинство энкодеров возвращают общее количество отсчетов со время начала работы.

$

\Delta tick = tick' - tick \\ D = 2 \pi R \frac{\Delta tick}{N} $