← Все вопросы

Как робот определяет своё положение с помощью одометрии?

Задан 20 месяцев назад286 просмотров2 ответа
9

Робот ездит по комнате без GPS, но как-то понимает, где он находится и сколько проехал. Говорят, это одометрия по колёсам. Как она работает и почему накапливается ошибка?

2 ответа

12
✓ Принятый ответ — помог автору

Одометрия — это оценка положения робота по тому, насколько повернулись его колёса. На колёсах стоят энкодеры — датчики, считающие обороты (точнее, доли оборота).

Логика простая:

  1. Знаем диаметр колеса → за один оборот робот проезжает длину окружности π · D. Если D = 6 см, то один оборот = 3.14 · 6 ≈ 18.8 см.
  2. Энкодер сообщает, на сколько «тиков» повернулось каждое колесо → считаем пройденный путь каждого колеса.
  3. Если оба колеса прошли одинаково — едем прямо. Если правое прошло больше левого — повернули налево. По разнице путей колёс вычисляем поворот и новое положение (x, y, угол).

Почему копится ошибка (дрейф): одометрия только складывает перемещения, поэтому маленькие неточности накапливаются и не исправляются сами. Источники ошибок:

  • проскальзывание колёс (особенно при резком старте/повороте);
  • неточный диаметр колеса, неровный пол;
  • округление при счёте тиков.

Через несколько метров оценка «уплывает». Поэтому одометрию комбинируют с другими датчиками: гироскопом (точнее меряет поворот), лидаром или камерой — и фильтром (Калмана) сводят данные вместе. Одометрия отличная на коротких отрезках и как «черновая» оценка между обновлениями.

5

Аналогия: иди с закрытыми глазами и считай шаги — примерно поймёшь, где ты. Но если разок поскользнёшься или шаги будут неровными, к концу коридора ошибёшься на метр. Так и одометрия: она «считает шаги колёс». Поэтому её всегда подкрепляют гироскопом и внешними ориентирами, чтобы сбрасывать накопленную ошибку.

Ваш ответ

Войдите, чтобы ответить на вопрос.