未来を形作るテクノロジーの深掘り記事。

ロボットアームが工業用モーターの小型版になれない理由

モーターの物理特性はサイズによって大きく変わる。スケーリング則からロボットのアクチュエータが作りにくい理由と、ヒューマノイドの動きがぎこちない理由を解説する。

作業台の上にある巨大な工業用モーターと、過熱している小さなロボット関節

数か月に一度、新しいヒューマノイドロボットのデモが話題になります。Boston Dynamicsのアトラスがバク宙をする。TeslaのOptimusが物を仕分ける。Figureのロボットが棚に商品を積み上げる。どれも印象的ですが、よく見ると気づくことがあります。動きがゆっくりで、慎重で、丁寧なのです。重い荷物は意外なほど持ち上げられるのに、投げられたボールはキャッチできない。歩くことはできても走れない。物をつかむことはできても、指を素早く正確に動かす作業はできません。

原因はソフトウェアではなく物理学にあります。具体的には、電動モーターがサイズに応じてどうスケールするかという物理です。モーターの振る舞いを支配するスケーリング則は、サイズによって劇的に変わります。そしてその変化が、現在のロボット用アクチュエータの限界のほとんどを説明しています。ロボティクスに関わる人にとって、このスケーリング則の理解は欠かせません。人間のように動くロボットを作ることが、既存のロボットを単に大きくしたり小さくしたりするよりも根本的に難しい理由も、ここから見えてきます。

再び顔を出す二乗・三乗の法則

二乗・三乗の法則とは、物体を大きくすると体積は表面積よりも速く増えるという性質のことです。これは電動モーターに特定の形で影響します。モーターのトルクは体積に比例し(おおむね寸法の三乗)、モーターの放熱は表面積に比例します(寸法の二乗)。モーターを2倍の大きさにすると、トルクは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.

慣性という問題

もう一つの重大なスケーリングの問題が慣性です。回転速度の変化に対する抵抗のことですね。モーターのローターには質量があり、その質量が慣性を持ちます。ロボットの関節を素早く動かすには、モーターはローターを加速・減速させる必要があります。そのためには、ローターの慣性モーメントに比例したトルクが必要になります。

問題はここです。多くのロボット用アクチュエータでは、ローターの慣性が負荷の慣性を上回ってしまいます。モーターは動かすべき対象より、自分自身を動かすのにエネルギーを使っている状態です。10ポンドもある重いペンで字を書こうとするようなものです。ペン自体は動かせても、慣性と戦っている分だけ速く正確には書けません。

これはロボットアームにとくに厳しい問題です。肩のモーターは、ペイロードだけでなく、肘や手首のモーターも動かさなければなりません。関節が一つ増えるたびに、その上流のすべての関節が克服すべき慣性が積み上がります。この連鎖的な慣性のせいで、ロボットアームは長くなるほど遅く、精度も落ちていきます。クレーンのアームをどこまで長くできるかを制限しているのと、基本的に同じ制約です。

ギア比というトレードオフ

モーターのトルクが足りないときの定番の解決策はギアです。100:1のギア比は、トルクを100倍にする代わりに速度を100分の1にします。これにより、小型で高速なモーターでも、重い関節を動かすのに十分なトルクが得られます。

ただしそこにはバックドライバビリティ(出力側からモーターを押し返せる性質)とのトレードオフがあります。ギア比の高いモーターは、ギア列の摩擦のせいで出力側からはほぼロックされた状態になります。つまり、ロボットは自分に加えられた力を感知できません。人間が腕にぶつかっても、腕は譲らず、硬い障害物のままです。これは安全上の問題(ロボットが人を傷つけうる)であり、機能上の問題(コンセントにプラグを差し込むような力覚が必要な作業ができない)でもあります。

ギア比を低くするとバックドライバビリティは保たれ、モーターは外からの力を感じて応答できます。しかし低いギア比では、必要なトルクをすべてモーター自身が生み出さなければなりません。そうなると大型で重いモーターが必要になり、それが慣性を増やし、さらに大きなトルクが必要になる。堂々巡りの問題なのです。

最新のロボットはどう対処しているのか

ロボット設計者は、モーターのスケーリングの限界を回避するためにいくつかの手法を使っています。

  • 準ダイレクトドライブ。 大口径で薄型のモーターを、低いギア比(5:1〜10:1)で使う方式です。大口径によって慣性を増やさずにトルクを確保でき(慣性モーメントは質量だけでなく質量の分布に依存します)、低いギア比によってバックドライバビリティを保てます。MITのCheetahロボットや、最近の多くのヒューマノイドがこの方式を採用しています。
  • 直列弾性アクチュエータ(SEA)。 モーターと関節の間にバネを入れる方式です。バネが衝撃力を吸収してモーターと周囲を守り、エネルギーを蓄えて歩行に役立て、さらにバネのたわみを測ることで力の計測もできます。脚式ロボットのほとんどがSEAを使っています。
  • 腱駆動システム。 モーターを胴体側に配置し、ケーブル(腱)で関節とつなぐ方式です。手足からモーターの質量を取り除けるため、慣性を大幅に減らせます。人間の手もこの仕組みで動いています。指を動かす筋肉は前腕にあり、腱でつながっているのです。器用さを求められるロボットハンドの多くも同じ原理を使っています。
  • 油圧アクチュエータ。 高出力が必要な用途では、電動モーターを使わない選択肢です。油圧シリンダーは出力密度(重量あたりの力)に優れ、自然にバックドライブできます。Boston Dynamicsの初代アトラスは油圧式でした。欠点は、油圧システムが汚れやすく、騒音が大きく、構造が複雑なことです。

ヒューマノイドがゆっくり動く理由

こうした制約を踏まえると、現在のヒューマノイドのゆっくりで慎重な動きには納得がいきます。速い動きには高い加速度が必要で、それにはローターの慣性を克服しなければならず、そのためには大きなトルクが必要になります。そして大きなトルクを得るには、大型モーター(慣性が増える)か高いギア比(バックドライバビリティを失う)かの二択になる。物理がその道を閉ざしているのです。

人間は別の方法でこの問題を解決しています。筋肉は根本的に異なるアクチュエータだからです。筋肉の慣性はほぼゼロ(柔らかいため)で、自然にコンプライアンスがあり(バネのように振る舞う)、機械的な歯車を使わずに力を生み出せます。人間の手は27個の骨を34本の筋肉で制御し、驚くほど正確で、速く、力加減にも敏感です。これを電動モーターとギアで再現することは原理的には可能ですが、生物が自然に解決しているスケーリングの問題を一つひとつ工学的に解決していく必要があります。

だからこそ、生卵を割らずに持つ、針に糸を通す、靴紐を結ぶといった器用な操作は、ロボティクスで今なお最難関の未解決問題の一つなのです。こうしたタスクを理解し計画するソフトウェアは、機械学習のおかげで急速に進歩しています。しかし人間の手の速さ、精度、力加減の感度に匹敵するアクチュエータというハードウェアの側は、まだ追いつこうとしている段階です。

ソフトウェア開発者への持ち帰り

モーション計画、制御システム、知覚などロボティクスのソフトウェアに携わっているなら、アクチュエータの物理を理解することでコードの書き方が変わります。モーターのトルクと慣性の比が許す以上の速さで関節を動かすようには指令できません。バックドライブ可能なアクチュエータに対して、無限の剛性を前提にすることもできません。モーターが小型なら、熱的な限界も無視できません。

優れたロボットのソフトウェアは、ハードウェアの限界を無視するのではなく、それに合わせて働きます。トルク制限を尊重する軌道計画器は、最適な軌道を生成したうえで制御器に頭打ちさせる方式よりも、滑らかで速い動きを生み出します。モーターのダイナミクスをモデル化した制御システムは、モーターを理想的なトルク源として扱うシステムよりも、優れた力制御ができます。

モーターのスケーリング則は、ハードウェアの制約がソフトウェアの可能性を形作るという事実を思い出させてくれます。次にヒューマノイドのデモを見て、なぜあれほど慎重に動くのかと思ったら、こう考えてみてください。ソフトウェアはもっと速い動きに対応できているかもしれないが、小型電動モーターの物理はそれを許さない、と。ロボットを人間のように動かすには、より良いAIだけでなく、根本的により良いアクチュエータが必要です。そしてそれは、ソフトウェアの問題ではなく物理の問題なのです。