Почему моторы роботов нельзя просто уменьшить
Физика мотора сильно меняется с размером. Законы масштабирования объясняют, почему актуаторы роботов сложны и почему гуманоиды двигаются неуклюже.

Каждые несколько месяцев в сети разлетается очередное демо гуманоидного робота. Atlas от Boston Dynamics делает сальто назад. Optimus от Tesla сортирует предметы. Робот Figure раскладывает товар по полкам. Демо впечатляют, но если присмотреться, видно одну деталь: движения медленные, осторожные и выверенные. Такие роботы могут поднять довольно тяжелый груз, но не поймают брошенный мяч. Они умеют ходить, но не умеют бегать. Они способны держать предмет, но не могут делать быстрые и точные движения пальцами.
Причина не в софте, а в физике. Точнее, в том, как масштабируются электродвигатели. Законы масштабирования, которые определяют поведение моторов, сильно меняются с размером, и именно эти изменения объясняют большую часть ограничений современных актуаторов роботов. Понимание этих законов важно для всех, кто работает в робототехнике, и показывает, почему создать робота, который двигается как человек, принципиально сложнее, чем просто увеличить или уменьшить существующих роботов.
Закон квадрата и куба снова на сцене
Закон квадрата и куба гласит, что при увеличении объекта объем растет быстрее, чем площадь поверхности. На электродвигатели это влияет вполне конкретно. Крутящий момент мотора масштабируется с объемом (примерно как куб линейного размера). Теплоотвод мотора масштабируется с площадью поверхности (как квадрат линейного размера). Сделайте мотор вдвое больше, и он даст в 8 раз больший момент, но сможет отводить в 4 раза больше тепла.
Поэтому большие моторы относительно эффективны. У мотора промышленной роборуки достаточно площади поверхности по отношению к выделяемому теплу. Он может работать с высоким циклом нагрузки и не перегреваться. Но уменьшите такой мотор для робота-пальца, и тепловая проблема перевернется: мотор выдает мало момента, а площади для отвода тепла у него еще меньше. Маленькие моторы быстро перегреваются при постоянной нагрузке.
Motor scaling (approximate):
Motor diameter Torque (relative) Heat dissipation (relative)
100mm (arm) 1.0x 1.0x
50mm (wrist) 0.125x 0.25x
25mm (finger) 0.016x 0.063x
10mm (fingertip) 0.001x 0.01x
The ratio of torque to heat dissipation:
100mm: 1.0 (can run continuously)
50mm: 0.5 (needs duty cycling)
25mm: 0.25 (overheats quickly under load)
10mm: 0.1 (barely usable for sustained force)
Small motors are proportionally weaker AND hotter.
Проблема инерции
Другая важная проблема масштабирования связана с инерцией, то есть сопротивлением изменению скорости вращения. У ротора мотора есть масса, а у массы есть инерция. Чтобы быстро двигать сустав робота, мотор должен разгонять и тормозить ротор, а для этого нужен момент, пропорциональный моменту инерции ротора.
Вот в чем проблема: во многих актуаторах роботов инерция ротора доминирует над инерцией нагрузки. Мотор тратит больше энергии на движение самого себя, чем на движение того, что должен двигать. Это как писать ручкой, которая весит килограмм: ею можно водить, но быстро и точно не получится, потому что вы постоянно боретесь с инерцией ручки.
Особенно это плохо для роборук. Мотор в плече должен двигать не только полезную нагрузку, но и моторы в локте и запястье. Каждый сустав добавляет инерцию, которую должны преодолевать все вышестоящие суставы. Из-за этого каскадного эффекта роборуки становятся медленнее и менее точными по мере удлинения, и это то же фундаментальное ограничение, что не дает сделать стрелу крана бесконечно длинной.
Передаточные числа: компромисс
Редуктор — стандартное решение, когда моторного момента не хватает. Передаточное отношение 100:1 умножает момент мотора на 100 и во столько же раз уменьшает скорость. Так маленький быстрый мотор может создать достаточный момент для тяжелого сустава.
Цена вопроса — обратимость, то есть возможность сдвинуть выходной вал в обратную сторону. Мотор с большим передаточным отношением фактически заблокирован со стороны выхода из-за трения в редукторе. Значит, робот не чувствует приложенных к нему сил. Если человек заденет руку, она не поддастся, а станет жестким препятствием. Это одновременно проблема безопасности (робот может травмировать людей) и проблема функциональности (робот не справится с задачами, требующими чувствовать усилие, например вставить вилку в розетку).
Низкие передаточные числа сохраняют обратимость: мотор чувствует внешние силы и реагирует на них. Но при низком передаточном числе мотор должен сам создавать весь нужный момент, а значит, нужен крупнее и тяжелее мотор, который добавляет инерцию, а та требует еще большего момента. Получается замкнутый круг.
Как современные роботы с этим справляются
Конструкторы роботов используют несколько приемов, чтобы обходить ограничения масштабирования моторов.
- Квазипрямой привод. Используются широкие и тонкие моторы с низким передаточным числом (от 5:1 до 10:1). Большой диаметр дает момент без высокой инерции (момент инерции зависит от распределения массы, а не только от самой массы). Низкое передаточное число сохраняет обратимость. Робот Cheetah из MIT и многие новые гуманоиды используют именно этот подход.
- Последовательно-упругие актуаторы (SEA). Между мотором и суставом ставится пружина. Она гасит ударные нагрузки (защищая мотор и окружение), накапливает энергию (полезно для ходьбы) и позволяет измерять силу по деформации пружины. Большинство шагающих роботов используют SEA.
- Тросовые системы. Моторы переносятся в корпус и соединяются с суставами тросами (сухожилиями). Это убирает массу моторов из конечностей и заметно снижает инерцию. Так устроены и человеческие руки: мышцы, которые двигают пальцы, находятся в предплечье и соединены с ними сухожилиями. Несколько ловких роботизированных кистей используют тот же принцип.
- Гидравлические актуаторы. Обход электродвигателей для задач с большим усилием. Гидроцилиндры отличаются высокой удельной мощностью (силой на единицу веса) и естественно обратимы. Первая версия Atlas от Boston Dynamics была гидравлической. Минус в том, что гидравлика грязная, шумная и сложная.
Почему гуманоиды двигаются медленно
С учетом этих ограничений медленные и выверенные движения современных гуманоидов выглядят логично. Быстрые движения требуют больших ускорений, а для них нужно преодолеть инерцию ротора, что требует огромного момента, а тот требует либо больших моторов (больше инерции), либо высоких передаточных чисел (нет обратимости). Физика загоняет в ловушку.
Человек решает эту задачу иначе: наши мышцы — принципиально другие актуаторы. У мышц почти нулевая инерция (они мягкие), они естественно податливы (работают как пружины) и могут создавать усилие без механических редукторов. Человеческая кисть содержит 34 мышцы, которые управляют 27 костями с необычайной точностью, скоростью и чувствительностью к усилию. Повторить это с электромоторами и шестернями теоретически возможно, но для каждой проблемы масштабирования, которую биология решает изначально, понадобится отдельное инженерное решение.
Поэтому ловкие манипуляции, такие как взять сырое яйцо, не разбив его, вдеть нитку в иголку или завязать шнурки, остаются одной из самых сложных нерешенных задач робототехники. Софт для понимания и планирования таких задач быстро развивается благодаря машинному обучению. Но железо, то есть актуаторы, способные сравняться с человеческой рукой по скорости, точности и чувствительности к усилию, все еще догоняет.
Что из этого следует для разработчика ПО
Если вы работаете с программным обеспечением для робототехники, то есть с планированием движения, системами управления или восприятием, понимание физики актуаторов меняет то, как вы пишете код. Нельзя приказать суставу двигаться быстрее, чем позволяет соотношение момента и инерции мотора. Нельзя считать жесткость бесконечной, если актуатор обратимый. Нельзя игнорировать тепловые пределы, если мотор маленький.
Лучший софт для роботов работает с ограничениями железа, а не игнорирует их. Планировщики траекторий, которые учитывают пределы момента, дают более плавное и быстрое движение, чем те, что строят оптимальные траектории и полагаются на то, что контроллер все обрежет. Системы управления, которые моделируют динамику мотора, обеспечивают лучшее управление усилием, чем те, что считают мотор идеальным источником момента.
Законы масштабирования моторов напоминают: аппаратные ограничения определяют возможности софта. В следующий раз, когда увидите демо гуманоида и задумаетесь, почему он так осторожничает, вспомните: софт, возможно, уже готов к более быстрым движениям, но физика маленьких электродвигателей говорит иначе. Чтобы роботы двигались как люди, нужен не только более умный ИИ, но и принципиально лучшие актуаторы. А это уже задача физики, а не софта.


