Почему колеса Mecanum сносит в автономном периоде FTC (и как это исправить без пассивных колес одометрии)

Дрейф колес Mecanum вызван неидеальной взаимной компенсацией векторов силы на мягком покрытии из вспененного материала (EVA). Большую часть ошибок в автономном периоде можно устранить без одометрических модулей — за счет удержания курса с помощью встроенного IMU в Control Hub и профилирования ускорения.
Шасси на колесах Mecanum сносит во время автономного периода FTC, поскольку их движение основано на точном математическом взаимном гашении диагональных векторов силы под углом 45 градусов. На мягком и неровном покрытии из плиток EVA неравномерная сила нормальной реакции опоры и проскальзывание роликов мешают идеальной балансировке этих векторов, создавая нежелательный вращательный момент рыскания (yaw), накапливающийся с расстоянием. Чтобы исправить это, не обязательно использовать дорогие пассивные модули одометрии (dead wheels): подавляющее большинство ошибок траектории в автономном режиме можно устранить, замкнув контур управления по курсу с помощью встроенного в REV Control Hub гироскопа/акселерометра (IMU) и ограничив ускорение в пределах силы трения покоя роликов.
Механика проскальзывания колес Mecanum
Стандартное тяговое колесо передает усилие параллельно плоскости своего вращения. Колесо Mecanum передает силу через пассивные ролики, расположенные под углом 45 градусов относительно диска колеса. Когда мотор вращает колесо Mecanum вперед, в пятне контакта возникает диагональный вектор силы: одна его составляющая толкает робота вперед, а равная ей поперечная составляющая — вбок.
Чтобы двигаться строго прямо, левые и правые колеса создают равные и противоположно направленные поперечные силы, которые взаимно гасятся, оставляя только продольную тягу вперед. Чтобы двигаться строго боком (стрейфить), противоположные диагональные пары колес вращаются навстречу друг другу, компенсируя движение вперед и суммируя поперечную тягу.
Такая взаимная компенсация векторов предполагает выполнение трех условий, которые на соревновательном поле никогда не соблюдаются идеально:
- Симметричная сила нормальной реакции: если центр масс робота смещен хотя бы незначительно в сторону аккумулятора или механизма подъема, на более нагруженные углы действует большая сила реакции опоры, обеспечивая лучшее сцепление. Менее нагруженные углы проскальзывают, из-за чего поперечные силы не компенсируются.
- Однородное сцепление с поверхностью: мягкие плитки покрытия из EVA деформируются под весом робота. Ролики погружаются в материал на разную глубину, ежесекундно меняя эффективный угол контакта и сопротивление качению.
- Идентичное кинетическое трение: пассивные пластиковые и резиновые ролики на серийных колесах Mecanum имеют небольшие производственные допуски, осевой люфт и различия во внутреннем трении.
Когда векторы силы не компенсируют друг друга идеально, сразу же возникает паразитный вращательный момент по курсу (рыскание). Стоит роботу повернуться всего на два-три градуса от целевого направления, как каждый последующий тик энкодеров моторов уводит его по повернутой траектории, лавинообразно увеличивая позиционную ошибку во времени.
Решение: активная коррекция курса по IMU
Хотя энкодеры моторов измеряют угол поворота валов колес, они не способны зафиксировать проскальзывание роликов по полу. Тем не менее для устранения основной доли неточностей в автономном периоде полное отслеживание декартовых координат (X, Y) не требуется. Если не позволять роботу отклоняться от заданного курса, ошибки энкодеров при поступательном движении остаются линейными и предсказуемыми, не превращаясь в катастрофические вращательные погрешности.
Каждый контроллер REV Control Hub оснащен встроенным инерциальным измерительным блоком (IMU), способным с высокой точностью и минимальным дрейфом определять абсолютную угловую ориентацию (рыскание/yaw) на протяжении 30-секундного автономного периода.
Реализация контура удержания курса
Вместо прямой подачи мощности поступательного движения на моторы шасси пропустите ошибку курса через пропорционально-дифференциальный (ПД / PD) контур управления, который в реальном времени вносит корректирующую мощность вращения в кинематические уравнения Mecanum.
Стандартные кинематические уравнения для расчета мощности моторов Mecanum выглядят так:
Front Left = Drive + Strafe + TurnFront Right = Drive - Strafe - TurnBack Left = Drive - Strafe + TurnBack Right = Drive + Strafe - Turn
В алгоритме без обратной связи (open-loop) значение Turn равно нулю при движении прямо или чистом стрейфе. В алгоритме с активным удержанием курса Turn динамически вычисляется на основе показаний рыскания с IMU на каждой итерации цикла:
- Read current heading: получите текущий угол рыскания с IMU.
- Calculate heading error: найдите кратчайшую угловую разницу между целевым и текущим курсом, обязательно нормализовав угол в диапазоне от -180 до +180 градусов (или от -π до +π радиан) во избежание скачков при переходе через нулевую отметку.
- Calculate correction: умножьте ошибку на настроенный пропорциональный коэффициент (
kP) и добавьте скорость изменения ошибки, умноженную на дифференциальный коэффициент (kD), для демпфирования колебаний. - Apply and normalize: подставьте полученное значение коррекции в переменную
Turn. Если расчетная мощность для какого-либо мотора превышает 1.0 (или -1.0), разделите мощности всех четырех моторов на максимальное абсолютное значение, чтобы сохранить правильное соотношение векторов без отсечения (clipping).
Нормализация мощности моторов имеет решающее значение. Если робот движется вперед на полной мощности, а регулятор требует коррекции поворота, простое отсечение значений без нормализации нивелирует корректирующую разницу скоростей, и робота продолжит сносить независимо от коэффициентов в коде.
Устранение динамического проскальзывания с помощью ограничения скорости нарастания (Slew Rate)
Активная коррекция курса справляется с вращательным дрейфом, однако резкое ускорение вызывает продольное и поперечное проскальзывание, при котором колеса вращаются быстрее, чем ускоряется само шасси. Когда ролики теряют сцепление покоя с покрытием, энкодеры моторов регистрируют пройденное расстояние, которого на самом деле не было.
Чтобы устранить кинематическое проскальзывание без одометрических колес:
- Limit Acceleration (Slew Rate): никогда не увеличивайте целевую мощность моторов с 0.0 до 1.0 за один цикл. Плавно наращивайте мощность с помощью простого ограничителя скорости нарастания сигнала (например, повышая мощность не более чем на 0.05 за каждый 20-миллисекундный цикл).
- Decelerate with a Profile: используйте трапецеидальный или S-образный профиль скорости для замедления робота до достижения целевого значения энкодера. Резкое торможение приводит к юзу по плиткам и промаху мимо целевой точки остановки.
- Mechanical Floor Contact: убедитесь, что шасси обладает небольшой торсионной податливостью или балансирной подвеской (rocker) на одной из осей. Если абсолютно жесткое четырехколесное шасси наезжает на неровный стык между плитками поля, одно колесо слегка приподнимается над полом, моментально теряя сцепление и вызывая проскальзывание.
Когда пассивные одометрические колеса действительно необходимы?
Команды часто спешат установить трехколесные подпружиненные одометрические модули, полагая, что на колесах Mecanum невозможно надежно выполнить 30-секундную автономную программу. На самом деле грамотно настроенного контура удержания курса в сочетании с профилированием скорости по энкодерам вполне достаточно, чтобы выполнять дорогие автономные задачи, надежно выравниваться о борта поля и стабильно парковаться.
Одометрия на пассивных колесах становится строго необходимой лишь тогда, когда автономная стратегия требует сложных высокоскоростных сплайновых траекторий со множеством путевых точек (таких как полноценные пути в библиотеках Road Runner или Pedro Pathing), где роботу необходимо точно знать свои декартовы координаты (X, Y) даже после столкновений с игровыми элементами или резких стрейфов через все поле.
Если вы проектируете и совершенствуете шасси для FTC или хотите вместе с командой освоить профилирование движения в автономном периоде, ознакомьтесь с нашими инженерными руководствами в разделе Sheen Robotics FTC Resources.



