Как рассчитать или обновить положение робота с дифференциальным приводом с помощью инкрементальных датчиков?
К каждому из двух колес дифференциала подключен один инкрементальный датчик. Оба датчика определяют расстояние соответственно. Δ r i g h t их колесо катилось в течение известного времени Δ t .
Во-первых, давайте предположим, что центр между двумя колесами отмечает положение робота. В этом случае можно рассчитать позицию как:
«Выводя» эти уравнения в предположении, что оба колеса катятся по прямой (что должно быть приблизительно правильно для небольших расстояний), я получаю:
Где - угол ориентации робота. Для изменения этого угла я нашел уравнение
Где - расстояние между обоими колесами.
«Вывод» первый дает:
?
Есть ли лучший способ сделать одновременное обновление позиции и ориентации? Может быть, использовать комплексные числа (такой же подход, как с кватернионами в 3D?) Или однородные координаты?
источник
источник