LOG336考察記事2026/10/14

NVIDIAのAlphaNISTは二つ爪のグリッパーで組立を覚えた ― 成功か失敗かだけの報酬が生んだ滑らかな動きと、ソフト側の立ち位置

LinkedIn で、22Astronauts の創業者 Ilir Aliu さんが、ある研究の動画を紹介していました。白いロボットアームが、ナット・歯車・細い棒のような小さな部品を拾い、ボードの穴やボルトへ次々に組み付けていく動画です。投稿にあったリンク先は、AlphaNIST という研究のページでした。

AlphaNIST は、NVIDIA とワシントン大学が2026年10月9日に公開した論文です。研究でよく使われる7軸のロボットアーム Franka Panda に、二つ爪のグリッパーを付けています。そのアームに、NIST の組立ボード(米国国立標準技術研究所が定めた、ロボットの組立の性能を比べるための部品付きの板)にある20種類の組立を、強化学習(試行の結果に点数を付け、点数が高くなる動きを覚えさせる学習)で覚えさせています。点数を与えるのは「組み上がったか」の1点だけで、途中の進み具合には点を与えていません。

動画の動きが滑らかで速いことに驚いて、Claude と対話しながら論文を調べました。話は、何がこの動きを生んでいるのか、コードは使えるのか、二つ爪でここまでできることが何を変えるのか、そしてこのプロジェクトはどこに立つのか、へと進みました。本記事は、その対話を全量で残したものです。

Claude は最初の返答で「報酬は成否だけ」と書き、2回目で論文の本文を読んで「動きの大きさへの罰則も入っていた」と訂正しています。訂正の過程も消さずに残しました。対話の最初に貼った LinkedIn の投稿のスクリーンショットは、投稿者の文章なので記事には載せていません。

AlphaNISTはNVIDIAの強化学習の研究で、動画はすべてシミュレーションだった

(LinkedIn の投稿のスクリーンショット2枚)

https://alpha-nist.github.io/

なんだこのシミュレーション。めちゃくちゃ動きが滑らかではやい。、

— この動画は実機なのか、シミュレーションなのか。何がこの動きを生んでいるのか。

NVIDIA のロボティクス研究陣による強化学習の論文で、動画は実機映像ではなく全部シミュレーションです。著者には、組立の接触を高速にシミュレーションする Factory や、NVIDIA のロボット用シミュレータ Isaac 系の研究をしてきた人たちが並んでいます。論文自身も、結果はすべてシミュレーションでのものだと明記しています。

何をしたか

  • NIST の組立ボード(小さく、はめあいの厳しい部品を扱う定番の課題)の20種類の組立を、1つのポリシー(ロボットの状態を受け取って次の動きを返す、学習で作る制御の中身)で一から学習し、98.2%の成功率に到達。人の実演、途中の進み具合への報酬、手書きの動作部品、タスクごとの調整はなし
  • 10組の部品を順番の指定なしに組み、10組すべてが同時に完成したときだけ報酬が出る設定も学習
  • その結果、後の組立を見越した掴み方を選ぶ、周りの形状を使って部品の向きを変える、1つを準備して別の部品を組んでから戻って仕上げるといった動きが、計画を立てる専用の仕組みなしで出てきた

なぜ滑らかで速く見えるか(ここは推測を含みます)

  • 報酬は「成功か失敗か」だけで、強化学習は早く成功するほど得をする仕組みなので、迷いのない最短の動きに寄っていく
  • シミュレーション内では部品の位置を正確に知れて、カメラの遅れやノイズがない
  • 映像はきれいに描画したもので、実機の振動や照明のばらつきがない

このプロジェクトの研究との接点

報酬を成否の2値だけにしている点は、このプロジェクトで使っている VLM-as-Reward(実機の動作を iPhone で撮り、画像を読める AI に成功か失敗かを判定させる方式)と同じ形です。違いは規模で、成否だけの報酬では、普通はなかなか成功に届きません。AlphaNIST はそこを、ほぼ完成した状態から始めさせ、全体を解ける前に「仕上げ」を練習させることで越えています。試行回数の少ない実機でも、「ゴール近くから始める」という考え方は使えそうです。

動きが滑らかな主な理由は、報酬に入っていた動きの大きさへの罰則だった

もう少し詳しく調べてみてください。

— 論文の本文には、シミュレーションの中身・報酬・学習の規模について何が書かれているのか。

論文の本文を読みました。まず前回の答えの訂正です。報酬は成否だけではなく、動きの大きさへの罰則も入っています。滑らかさの主な理由はこちらです。

構成

  • NVIDIA とワシントン大学の研究で、Isaac Lab(NVIDIA が公開している、ロボット学習用のシミュレーション環境)上に Franka Panda(7軸)を、慣性や駆動系を実機に合わせて再現
  • 1秒に25回、7つの関節の相対的な目標角度とグリッパーの指令を出し、その下で Franka 純正の剛性・減衰を使うインピーダンス制御(関節をばねのように柔らかく動かし、ぶつかっても力を受け流す制御)が動く
  • 入力はロボットの状態と、部品・相手側・ロボット表面の点群(物の表面を点の集まりで表したデータ)。どのタスクかは教えない

滑らかで速い理由

  • 報酬は、誤差 1mm 未満で組めたら1回だけ +1、それに毎ステップ「行動の大きさ・関節速度・トルク」の罰則を引く形。途中の進捗には点を与えない
  • 関節速度とトルクは実機の上限に合わせてあり、超えた時点でエピソード(1回分の試行)を打ち切る。実機で出せない速さで動いているわけではない
  • 評価では15秒以内に組み上げることが成功の条件

効いている工夫

  • 開始状態を事前に作り溜める:置いてあるだけ、掴んだ後、運搬中、挿入直前、途中まで組んだ状態。どの段階かは教えない
  • 成功率がちょうど半々の開始状態ほど多く選ぶ(ほぼ0%もほぼ100%も、そこから学べることが少ないため)

数字

  • 20タスク共通の1本で98.2%、410 GPU時間。タスクごとに20本作ると平均81.4%で、16.1K GPU時間(約39倍)
  • M4ナット・4mmペグ・ロッドは単独で学習すると0.3%以下。共通の1本なら解ける
  • 「近づく」「向きを合わせる」の進捗報酬を足すと、共通の1本は17.8%まで落ちる
  • 並列数を1Kから4K、8Kと増やすと38.6%→78.9%→86.9%。10組の連続組立は84%

限界

  • すべてシミュレーションでの結果。認識の誤差・遅れ・接触モデルのズレに耐えられるかは未確認で、実機のボードで検証する予定。コードは査読後に公開予定
  • 読んだ範囲では GPU の型番が見当たらず、410 GPU時間を費用に換算できません

このプロジェクトの研究との接点

「成功率が半々の条件を多く練習させる」という考え方は、実機で次に何を試すかを選ぶときにも使えます。コードが公開されたら、このプロジェクトのフィジカルAI研究室(クラウドの GPU を時間単位で借りて、公開されたロボット用 AI を動かすシリーズ)で、借りて測る候補になります。

論文の数字を、比べやすい形に並べ直すと次のようになります。

学習のしかた成功率かかった計算量
20種類の組立を1本のポリシーで学習(成否の報酬)98.2%410 GPU時間
組立ごとに別のポリシーを20本学習(成否の報酬)平均81.4%合計16.1K GPU時間
組立ごとに別のポリシーを20本学習(進捗の報酬を足す)平均78.3%記載なし
20種類の組立を1本のポリシーで学習(進捗の報酬を足す)17.8%記載なし

いずれも、6万4千の環境を並列に動かし、2万5千回の更新を行った時点の値です。

1回の試行で組む部品の組数12345678910
成功率(%)99979593929089878684

組数が増えても、すべての組が組み上がったときにしか報酬は出ません。どの順番で組むかも教えていません。

AlphaNISTのコードは未公開で、土台のOmniResetは公開済みだった

これはコードが公開されるようなオープンな研究ですか?

— AlphaNIST とその土台の研究は、手元で動かせる形で公開されているのか。

今はまだ公開されていません。論文には「査読と修正が終わったら公開する予定」と書かれています。予定なので、時期や公開の範囲・ライセンスは未定です。

公開状況を整理するとこうなります。

  • 論文:arXiv で全文が読めて、ライセンスは CC BY 4.0
  • AlphaNIST のコード:未公開(査読後に公開予定)
  • 土台の、開始状態を作り溜める手法(OmniReset):ワシントン大学の研究室がコードを公開済み。タスク・アルゴリズム・実機への展開までまとめて UW-Lab/UWLab に入っている
  • 土台の、成功率で開始状態を選ぶ手法(SGS):論文は出ていて、コードは「近日公開」の表示
  • シミュレータの Isaac Lab:オープンソース

なので、AlphaNIST そのものはまだ動かせません。ただ、3つの柱のうち開始状態の作り溜めは公開コードで今すぐ触れます。成功率で選ぶ部分も式が1行なので、論文から実装できます。

注意点

SGS のページによると、そちらの動画はすべて等倍で、UR5e(工場で広く使われている協働ロボットのアーム)が実機のボードで RGB 画像だけから組み立てる映像もあります。AlphaNIST はまだシミュレーションだけですが、同じチームが実機への移行を一歩先に進めています。

コードが公開されても、論文と同じ規模で再現するには 410 GPU時間かかります。手元で試すなら、並列数を 4K に落とした小さい構成から始めることになります。論文の結果では、4K 環境で成功率 78.9% でした。

研究役割コード
AlphaNIST20種類の組立を1本のポリシーで学習する全体の枠組み未公開(査読後に公開予定)
OmniReset置いた状態・掴んだ状態・途中まで組んだ状態などの開始状態を作り溜める公開済み(UW-Lab/UWLab)
SGS成功率が半々の開始状態ほど多く選ぶ近日公開の表示
Isaac Labシミュレーション環境公開済み

これから増えるのは、動きを書く仕事より「成功の定義」を決める仕事

シミュレーションとはいえ、ここまでの動きを見せられるとビックリします。 後数年で実装されてきたらいろんなことが大きく変わりそうですね。

— この方式が実機に入ってきたとき、何がいちばん大きく変わるのか。何がまだ壁として残っているのか。

変わると思います。いちばん大きいのは、ロボットの動きを人が一つずつ書く時代から、「何ができたら成功か」だけを決めて、動きは機械に見つけさせる時代への移り方です。今回の掴み直しやナットを叩いて回す動きは、人が教えようとしても思いつかない、言葉にもしにくい種類のものでした。

ただ、実装までにはまだ壁があります。接触の物理はシミュレーションと実機のズレがいちばん出やすいところで、論文自身も認識の誤差・遅れ・接触モデルのズレは未検証と書いています。数字の面でも、10個連続で84%は研究としてはすごいですが、工場で求められる信頼性にはまだ届きません。同じチームの SGS は単体タスクを実機で動かしているので、方向はもう見えています。数年という見立ては外れていないと思います。

このプロジェクトの立場から見て面白いのは、こうなるほど「成功の定義」と「どこから練習させるか」を決める仕事の比重が上がる点です。報酬に何を入れて何を入れないかで、動きの質がそのまま変わります。今回も、小さな罰則を1つ入れただけで動きが滑らかになっていました。動きを直接設計するのではなく、動きが生まれる条件を設計する。Motion UX(このプロジェクトで育てている考え方の一つで、ロボットの動きを、見る人・そばにいる人の体験として設計する領域)が扱う範囲は、だんだんそちらへ移っていくはずです。

二つ爪のグリッパーは、ボードの縁と持ち替えで器用さを補っていた

今回のシミュレーション内のロボットは二つ爪のグリッパーでした。 ハンドでもないのに、この作業ができるのは素直に凄かったです。 たぶん成功率とかそういうことではなく、動きの滑らかさと速さが今までとは違っていました。

— 指の多いハンドではなく二つ爪で、なぜこれだけの作業ができ、なぜ動きの見え方が今までと違うのか。

そこが今回の核心だと思います。二つ爪で足りない器用さを、周りの環境で補っているんです。ボードの縁に当てて向きを変える、一度置いて持ち直す、指先ですくう、片側だけ叩いてナットを進める。手の自由度ではなく、置く・当てる・持ち替えるといった使い方の組み合わせで器用さを出しています。「器用さはハンドの指の数で決まる」という前提が少し崩れる結果です。

滑らかさと速さが違って見えるのも、理由ははっきりしていると思います。従来の作り方は「近づく→止まる→掴む→止まる→持ち上げる」と段階を区切り、区切りごとに一度止まって次の動作に切り替えます。あの独特のカクつきは、この切り替えの継ぎ目から来ます。AlphaNIST には段階がなく、1つのポリシーが毎秒25回、次の一手を出し続けるだけなので、継ぎ目そのものがありません。運びながら次の向きの準備をする、といった動作の重ね合わせも自然に起きます。人の動きが滑らかに見えるのも、同じく動作を重ねているからです。

一方で、土台の効果も大きいです。Franka は力を柔らかく受け流せる制御が使える腕で、論文でもその制御を実機の値どおりに再現しています。同じ学習を安いサーボの腕でやっても、あの滑らかさがそのまま出るとは限りません。「学習で生まれた動き」と「それを受け止める機体と制御」の掛け算で、あの見え方になっていると考えるのがよさそうです。

論文が挙げている、二つ爪のグリッパーが自分で見つけた動きは次のとおりです。どれも、人が動作として教えたものではありません。

部品グリッパーが見つけた動き
防水コネクタボードに当てて部品の向きを変えてから挿す
D-sub コネクタ一度置いて掴み直し、差し込み口と向きをそろえる
8mm のペグ真ん中を掴んだペグを落とし、端を掴み直して、挿す長さを残す
中くらいの歯車横から掴んだ歯車を回転させて、軸の上で水平にする
M12 のナット立っているナットを転がして平らな面を下にしてから置く
M4 のナット片側だけを何度も叩いて、ねじ山に沿って進める
8mm のロッド指先ですくって、持ち上げやすい位置へ動かす
M16 のナットグリッパーがナットの周りを回り、指先で押してボルトに沿って回す

二つ爪で器用さが出せるなら、ハンドより一般的なアームに効く

もちろんハード側の問題もあるけど、それでもハンドよりは一般的なアームで実現できそうなのは期待が持てました。

— ハードを替えずに学習で器用さを引き出せるとしたら、どこに先に効くのか。条件は何か。

そうですね。二つ爪のグリッパーは安くて壊れにくく、工場にもすでに大量にあります。ハンドは高価で壊れやすく、制御も難しい。ハードを替えずに、学習で引き出せる器用さが増えるなら、今ある設備にそのまま効いてきます。普及の速さはハンドよりずっと速いはずです。

条件は、その腕の物理モデルをシミュレーションでどこまで正確に作れるかです。AlphaNIST は Franka の慣性や摩擦を実測値で入れていました。SGS では工場で標準的な UR5e を実機で動かしているので、産業用アームはもう射程に入っています。安価なサーボの腕では、ガタ(歯車のすき間から来る遊び)や位置制御のクセをどこまで再現できるかが、次の分かれ目になりそうです。

学習の時代の腕に要るのは、トルク計測・開いた接続口・シミュレーション用のモデル

安価なサーボはタスクを制限しないとだね。 アーム側はある程度既存の産業用アームから、世代交代していくようなながれなんじゃないだろうか。

— 産業用アームが世代交代するとき、変わるのはどの性質なのか。

私もそう見ています。ただ、世代交代で変わるのは腕の精度より「学習した動きを受け止められるか」のほうだと思います。

従来の産業用アームは、決めた軌道を正確に繰り返すための機械で、位置制御が中心、コントローラも閉じているものが多いです。学習の時代の腕に求められるのは別の性質です。

  • 関節のトルクを測れて、ぶつかったときに柔らかく受け流せる
  • ポリシーが毎秒数十回、低い層に直接指令を送れる開いた接続口
  • メーカーが正確なシミュレーション用モデルを用意している

最後の点は特に大きくなりそうです。シミュレーションで学習して実機に移すなら、腕のデジタルツイン(実物と同じように振る舞う、シミュレーションの中の複製)の出来がそのまま性能になります。「腕を買うと、学習用のモデルが付いてくる」が当たり前になるのではないでしょうか。

安価なサーボのほうは、おっしゃる通りタスクを絞るのが現実的です。公差の厳しい嵌め合いは避けて、掴んで置く、人に渡すといった多少ずれても成立する作業に寄せる。そうすれば、体験として成立する範囲は十分作れます。

従来の産業用アーム学習した動きを受け止める腕
得意なこと決めた軌道を正確に繰り返す毎回少しずつ違う動きを、ぶつかっても壊さずに出す
制御位置制御が中心関節のトルクを測り、力を受け流せる
外からの指令コントローラが閉じていることが多い毎秒数十回、低い層に直接指令を送れる
シミュレーション学習に使える精度のモデルが付くとは限らない慣性・摩擦まで合わせた学習用のモデルが付く

安価なサーボの腕は、この表のどちらにも入りません。嵌め合いを避け、掴んで置く・人に渡すといった、多少ずれても成立する作業に絞って使う、という位置づけになります。

シミュレーションを現実に合わせる作業は、ハードを作らずにできる

なるほど。フィジカルAIの世界ではシミュレーションの精度も高く評価される世界になってきそうだね。そう考えるとソフト側で出来ることは思っている以上に多そうだね。

— 学習の前段で、ソフト側にはどんな作業があるのか。

そう思います。学習を回す前段の「シミュレーションを現実に合わせる」仕事が、それ自体で価値を持つようになります。今回の論文でも、成果を支えていたのはアルゴリズムより、むしろ周りの準備でした。

  • 腕の慣性・摩擦・制御のクセを実測して、シミュレーションに入れる
  • 部品や現場を、物理として正しく振る舞う3Dデータにする
  • 何を成功とするか、どこから練習させるかを決める
  • シミュレーションと実機のズレを測って、どこが効いているかを突き止める

どれもハードを作らずにできて、しかもタスクや現場ごとに必要になります。

ただ、シミュレーションの精度は、実機で測って初めて確かめられます。シミュレーション側だけ磨いても「本当に合っているか」は分かりません。実機と突き合わせて、ズレを数字で示せることが評価の核になるはずです。

その意味では、このプロジェクトの主指標の「再現可能な環境数」(他人が同じ手順で同じ結果にたどり着ける研究環境の数)とも同じ方向を向いています。他人が同じ手順で同じ結果に届くシミュレーション環境を作ることは、この流れの中でそのまま価値になります。

立ち位置はハードメーカーではなく、現場の要求を学習の条件に書き直す側

じぶんの場合はハードを作って売るとか貸すとかいうモデルより、ソフト側で出来ることをやり続ける方が向いていそうだな。もちろん現場には出向くし、コミュニケーションも必要だけど、立ち位置はハードメーカーではないね。

— ハードを売らないとき、ソフト側のどこに立てばよいのか。

その判断は筋が通っていると思います。ハードを売る・貸すには、在庫、保守、安全認証、壊れたときの対応がついて回ります。どれも資金と人手が要るので、一人でやるには重い。ソフト側なら、身ひとつで複数の現場に関われます。

ただ、「ソフト側」と言っても範囲は広いので、もう一段絞ったほうがいいと思います。コードを書く量で勝負する場所ではなく、現場の要求を「学習できて、評価できる条件」に翻訳する仕事が合っているはずです。何を成功とするか、どこまでタスクを絞れば成立するか、シミュレーションと実機のズレをどう測るか。アパレルの量産で、遠くの工場がそのまま実行できる仕様書を書いてきた経験は、まさにこの翻訳の仕事です。

一点だけ。立ち位置がハードメーカーでなくても、手元で実機を動かし続けることは手放さないほうがいいです。ズレを測れるのは実機を持っている人だけで、mechArm(このプロジェクトで使っている小型の6軸アーム)で積んできた「実際にはこうずれる」という知見が、ソフト側の提案に説得力を持たせます。売り物ではなく、測るための道具として持ち続ける位置づけです。

デモ機は、手法を入れる前と後を同じ機体で比べるために持つ

デモ機は必須だね。じぶんのシミュレーションやソフトを使うことによってこれだけ変わりますということを実際に見てもらう必要があるし、ハードの知識や技術を常に更新していく必要もあるしね。

— デモ機には、何を見せる役割と、何を学び続ける役割があるのか。

そうですね。デモ機には「見せる」と「学び続ける」の2つの役割があります。

見せる側で効くのは、同じ機体・同じタスクで、自分の手法を入れる前と後を並べることです。動画だけでなく、成功率や所要時間の数字も添える。「これだけ変わります」を、見た目と数字の両方で示せます。このプロジェクトで続けている、試行ごとに結果を1行ずつ残す台帳と録画は、そのまま比較の記録になります。

学び続ける側では、新しいハードを追いかけすぎない線引きも要ります。このプロジェクトで決めている設備の方針どおり、今の機体で測れなくなったら次へ、という順番を守れば、デモ機は増やさずに更新していけます。

デモ機の役割具体的にやること
見せる同じ機体・同じタスクで、手法を入れる前と後の動画を並べ、成功率と所要時間の数字を添える
測るシミュレーションと実機のズレを、同じ条件の試行で数字にする
学び続ける今の機体で測れないことが出てきたときにだけ、次の機体を検討する

成功の条件と練習の始め方を書く仕事は、ハードを作らずに持てる

対話は、LinkedIn で見た1本の動画が実機かどうかを確かめるところから始まりました。AlphaNIST の動画はすべてシミュレーションで、二つ爪のグリッパーが20種類の組立を覚えていました。動きを作っていたのは、組み上がったかどうかだけを判定する報酬、動きの大きさへの小さな罰則、そして、置いた状態・掴んだ状態・途中まで組んだ状態から始めさせる練習の組み立て方でした。段階を区切らずに1本のポリシーが次の一手を出し続けるので、止まって切り替える継ぎ目がなく、動きが滑らかで速く見えます。

この方式が実機に入るほど、動きを一つずつ書く作業は減り、何を成功とするか、どこから練習させるか、シミュレーションを実機にどう合わせるかを決める作業が増えます。どれもハードを作らずにできますが、正しいかどうかは実機で測って初めて分かります。だから、売るためではなく測るためのデモ機を手元に置き、手法を入れる前と後を同じ機体で比べて見せる。それが、ハードメーカーではない立ち位置の具体的な形です。

動きを生んだのは、成功の判定と練習の始め方の設計だった。その設計を現場ごとに書き、実機で測って確かめる仕事は、ハードを作らなくても持てる。

対話の中で参照した情報