以下の内容はhttps://masato-ka.hatenablog.com/entry/physical-ai-amd-hackathonより取得しました。


推論だけで終わらせない!フィジカルAIアプリ実装で挑んだAMD Open Robotics Hackathon参加録

1. はじめに-AMD Open Roboticsハッカソンで優勝

2025年12月、東京で開催されたAMD Open Robotics Hackathonで、秋葉原のロボティクスコミュニティから集結した4名のチーム「GreateAkihabara」が、36チーム・100人以上の参加者の中から優勝を勝ち取りました。

本記事では、AMD Open Robotics Hackathonの様子とともに、ドーナッツショップの自動化という実世界のタスクに挑戦した、我々チームGreateAkihabraの取り組みを紹介します。VLA(Vision Language Action)モデルの学習だけでなく、実際のアプリケーションとして実装するためのTipsについて、今回のハッカソンの経験をもとに紹介します。

また、国内のLeRobotコミュニティの成長、AMDのAI推論環境の実力など、ハッカソンを通じて見えたLeRobot周辺の動向についても紹介します。ロボティクスやAI、ハッカソンに興味のある方はもちろん、実装の詳細を知りたい方にも是非読んでいただきたいです。

AMD Open Robotics Hackathonとは?

AMDが主催となりHuggingFace, WowRobotそしてData Monstersが協賛して開催したLeRobotとAMDGPUそしてAI PCを使ったハッカソンです。東京、パリ、サンジョセの3都市でそれぞれ開催されました。

東京会場のハッカソンは12/5金曜日の19:00から開始され、12/7日曜日の20:00までぶっ続けで開催されました。

▼急遽開催決定した待望の国内イベント

イベント開催の告知は11月10日ごろだったようですが、このイベントに気づいたのは開催2週間前くらいでした。その後SNS上でも少しずつ話題となっていました。実際、イベントの最初で主催者側から1ヶ月前に開催を決定したという話を聞き、かなりの突貫でイベント開催が決定した様子が伺えます。

▼豪華すぎるイベント仕様

国内でも多くのハッカソンが開催されていますが、このハッカソンは豪華かつユーニークな構成であったと思います。優勝賞金は1万ドル、賞金総額は3万ドルという非常に豪華なプライズが用意されています。また、参加チームは期間中AMDの最新環境である、MI300X GPU(NVIDIAのH100相当)を学習用として2環境、そしてRyzen AI 9 HX 370搭載のノートパソコンが貸し出されます。SO-ARM 101も、WowRoboさんの完成品が1セットずつ貸与されました。そのため、手ぶらでもハッカソンに参加できるようになっています。

さらに会場は秋葉原のど真ん中ベルサール秋葉原を3日間貸切、そして開催期間中は3食+おやつが提供されています。過去私が参加したハッカソンの中でもずば抜けて豪華仕様のハッカソンでした。

しかし、何よりも主催者のハッカソンを本気でやるぞ!という熱意が伝わってくるイベントでした。

▼ 本気で「ハッカソン」をやるぞという主催者側の熱意

まず開始2日前に参加者へスケジュールが送付されました。これを見た時点で、このハッカソンの「本気」を感じました。同じように驚かれた参加者も多かったのではないでしょうか。まず記載されたスケジュールには金曜日の18時集合と書かれていました。3日のハッカソンで平日金曜日から始まることは事前に明言されていましたが、午前中から開始すると勝手に思っていたため、これは予想外でした。さらに『ミッドナイトスナック』や『寝袋の持参』といった文言が並んでおり、

「完成するまで絶対に家に返す気がないハッカソンだな」

と認識しました。会場は24時間出入り自由なので、もちろん途中で帰ることも可能です。

また集合直後の会場も少し異質な雰囲気がありました。会場のベルサール秋葉原に到着すると開始までの間、待機部屋に案内されます。少し薄暗い通常のカンファレンスホールの一部に机と椅子、そしてお水が用意された空間で参加者が机に座り待機しています。

週末の夕方に何もないホールに集められた状態がさながら「エスポーワール号」乗船前のような雰囲気を醸し出していました。

もちろんですが、イベント自体はとても健全な内容です。このイベントの準備に尽力したすべての方に感謝します。

  1. GreateAkihabaraチームの取り組み

ここからは我々、GreateAkihabaraチームの取り組みを紹介します。GreateAkihabaraチームは2025年6月に開催されたLeRobot World Wide Hackathonでの出場時のチーム名をそのまま利用しました。

チーム名は流用ですが、新たに組成した新規チームです。

▼秋葉の最強メンバー集結!チームGreateAkihabara

まず今回優勝できたのは、何よりも素晴らしいチームメンバーの連携プレーがあったからこそです。秋葉原フィジカルAI界隈の原宿と言っても過言ではないロボスタディオンの村田店長、ロボスタディオンの常連であるよしかいさん、ロボティクス系の情報発信をされているYUJIさん、そして筆者の4名チームで参加しました。チーム集結当初は想定していませんでしたが、各人の得意領域のバランスが取れたチーム構成でした。例えば、アーキテクチャとVLAのファインチューニングは私が担当しました。村田店長は後述するベルシステムを作成してくれました。よしかいさんはモデルをアプリケーションに仕立てるアーキテクチャの実装を、YUJIさんはUIの実装を担当してくれました。それぞれが『これできない?』という相談に対して、爆速でアイデアから実装まで実現してくれる素晴らしいチームでした。

▼ドーナッツショップ自動化ロボット

GreateAkihabaraチームがハッカソンの中で取り組んだのは「注文に応じたドーナッツのパッキングの自動化」です。WEBオーダーのシステム経由で顧客からの注文を受け取った後、VLA(Vision Language Action)で制御される、バイマニュアル構成のSO-ARM 101が、注文されたドーナッツを箱に詰め、箱を閉じるという実世界のタスク自動化に挑戦しました。

実際に行ったデモ動画はこちらです。

ソースコードやデータセット、学習済みモデルのリポジトリはこちらです。

▼実装上の工夫

このような実世界のアプリケーションへVLAモデルを活用することはまだ一般的ではありません。ただの学習モデルの推論デモではなく、アプリケーションと成立するように以下の工夫を行っています。

1. ロングホライズンタスク(Long-Horizon Task)

VLAは数分など長期間のタスクを学習することはチャレンジングです。今回のタスクは1分以上かつ、2本のアームが連動する複雑なタスクです。そのため、そのままVLAへ学習させる自信はありませんでした。そこでサブタスクに分解して、サブタスク単位で学習させました。具体的にはドーナッツを箱に入れるタスク、さらに箱を閉じるタスクという2つのサブタスクから構成されています。

さらに、サブタスクを全て1データセットとしてまとめ1モデルに学習させると、箱を閉めるタスクの学習がうまく行きませんでした。そこで箱を閉めるタスクだけデータセットを分けて、2つのモデルとして学習させています。

1モデルで学習がうまくいかなかった原因についてはデータセット収集時の問題でした。後日データセットを確認したところ1データセットとしてまとめて記録したデータセットにおいて箱を閉めるタスクのデータが破損していることが原因でした。

このモデルの分割は提出締切4時間前に決定しました。分割によりモデルの学習がうまくいく自信はありましたが、アプリケーション側での2つのモデルを利用するという仕様変更には厳しさを感じていました。最終的に、よしかいさんの迅速な対応力により無事完成させることができました。素晴らしかったです。

2.Bimanual SO-ARM 101

ドーナッツを箱に入れる動作や箱を閉じる動作は6自由度(グリッパ込)のアーム1本では実現できません。そこで、SO-ARM 101アームを2本使ったBi-manual構成にしています。本番のデータ収集の前に2本のアームを使って各タスクを実行するための動作の検討とリハーサルをしています。またどうしても操作中に箱の位置が変わってしまうため固定用のストッパをアルミフレームで作り固定ます。(店長作)

3. タスク完了の認識

VLAで実行したタスクが完了したことをシステムが検知する方法も一つの課題でした。今回のデモを実現するためにはシステムがVLAへのインストラクションの変更またはモデルの切り替えをする必要があります。そのためには何らかの方法でサブタスクが完了したことを知る必要があります。しかし、VLAモデルはその仕組みとして、指定されたタスクが完了したことを知る術がありません。そこで、何らかの方法でVLAが所定のタスクを完了したことをシステムへ通知する必要があります。

今回は各タスクの最後に必ずベルをならす動作を学習させています。このベルはUSBキーボードとして推論PCに接続されており、ベルを叩くことでシステムにタスクの完了を通知することができます。つまりロボットは物理世界を通じて自らタスクの完了を通知し、タスク管理を行う仕組みを構築しています。

また、仮にロボットがタスクを失敗した場合など人間がベルを叩くことで強制的にロボットを次のタスクに進めることができるといった副次的な効能も考えられます。

別の方法として、VLMに判断させるアイディアもありましたが、プロンプトの工夫など課題がありそうなので今回は採用しませんでした。

このベルをどうやってPCに繋ぐか土曜日の朝時点で全くアイディアがありませんでしたが店長が即座に考え、秋葉でパーツを集めトータル2時間ほどで完成させてくれました。秋葉原周辺で何かすぐに作りたいと思ったらロボスタディオンに相談に行きましょう。

次にこれら、技術的な工夫点を実際に実装するためのデータの収集、モデルの学習、そしてアーキテクチャについて解説します。

▼学習データの収集

今回のモデルを学習させるためのデータセットの収集はデータ取得に失敗したエピソードも含めて200エピソード以上を取得しています。練習を含めるとさらに多くの回数を試行しました。 実際に学習に寄与したのは120エピソードです。

内訳はチョコレートドーナッツの箱詰めが30エピソード、同じくストロベリードーナッツが30エピソード、箱を閉める動作が30エピソードです。ロボットアームの動作は複雑ですが、オブジェクトの位置がほぼ固定であるため、難易度は比較的低めです。経験上、今回のタスクあれば各タスク30エピソードが最初にテストするべき目安になります。

ドーナッツピックアップの学習データ例

指定されたドーナッツに近いアームでドーナッツを掴み上げ、もう片方のアームにドーナッツを受け渡します。箱のふたをアームで広げ、ドーナッツを入れます。ドーナッツを入れるときは一度ドーナッツを押し込む動作を差し込みます。最後にベルを鳴らして完了です。

箱を閉める動作の学習データ例

箱のふたを左右のアームで押し込みます。左側の蓋を左アームで摘んで箱のふたを抑え込みます。さらに右側のアームでロックを掛けます。反対側のロックも同じ手順で閉じます。最後にベルを鳴らして完了です。

▼モデルの選定と学習

学習モデルの選定

モデルの選定と学習について説明します。モデルの選択肢は限られています。今回はタスクインストラクションが必要なため、VLAモデルが必須となります。また、推論環境はRyzen AI 9 HX 370のノートパソコンを使用するため、大きなモデルは選択できません。そこで今回はSmolVLAを利用することにしました。今回貸与されたASUSのS14は32GBのメモリを搭載しており、そのメモリをユニファイドメモリ(GPUから直接アクセスできる)として利用できます。そのため、Pi 0.5も動作させることができます。しかし学習データ例で紹介したような細かいタスク実行のためには推論速度を可能な限り確保する必要があります。そのためSmolVLAが適切な選択だと判断しました。

学習の実行

学習は4万ステップを目安にLoss値が0.010以下を目指して学習させています。学習環境であるAMDGPU MI300Xではバッチサイズ32で約100分程度の学習時間になります。

学習時のLossのグラフを掲載します。灰色のグラフはドーナッツのピッキングです。緑色が箱を閉じる動作を表しています。ドーナッツのピッキングは80K stepsまで学習させていますが、40K stepsで十分に動作します。

▼推論時の工夫

推論ではLeRobot 0.4.2から実装されたReal-Time Action Chunkingを利用しました。Real-Time Action ChunkingはPhysical IntelligenceのPi0.5から採用されたVLAの推論方法です。アクションチャンクと呼ばれる、ロボットのアクション系列の推論と実行を非同期で行うことでロボッt動作の滑らかさと、環境変化に対するVLAの応答性を向上させる手法です。SO-ARM 101はハードウェア的にガタがある動作が目立つため、通常の推論との差は限定的ですが、少しでも動作を滑らかにしてタスク成功率を向上させることを期待して採用しました。

LeRobotのReal-Time Action Chunkingではデフォルトでは制御周期が10 FPSになっているので、30 FPSを指定して動かしています。またパラメーターとしてexecution_horizon=12, max_guidance_weight=10.0を指定しました。

▼システムアーキテクチャ

全体的なシステム構成です。Web注文システムと連動し、3つのタスクを切り替えてタスクを実行する工夫を入れています。このシステムでは注文システムとロボット制御システムの2つのシステムから構成されています。両者はREST APIで連携します。

システム構成:

  1. Order System:顧客がドーナッツを注文するWebインタフェースです。アーキテクチャ図上はチャットボット風に記載されていますが、実際にはWebシステムとして実装しました。ユーザーに対して、注文受け付けと準備完了の2つの状態を通知します。State ControllerからSSEイベントを待ちユーザへの通知を実行します。
  2. Physical SystemREST APIを通じてOrderSystemから受け取った注文に基づいてドーナッツの梱包を実行します。以下の3つのコンポーネントから構成されています。
  3. State Controller:ロボットのタスク実行と状態を管理します。REST-APIで受け取った注文とベルから通知されるタスク完了に基づいてロボットのタスク実行状態を管理し、適切なインストラクションと実行モデルの切り替えをVLA/ILに指示します。またタスクの実行状態をOrder SystemへSSEイベントとして通知します。
  4. VLA/IL:学習済みモデルとReal-Time Action Chunkingの実行プログラムで構成。テキスト指示と環境状態に基づいてロボットを制御します。
  5. Bell:State Controllerに接続され、ロボットが鳴らすことでタスク完了をシステムに通知します。今回の実装としては簡易なUSBキーボードとして実装され、押すことで”R”を標準入力として受け取ります。

3. 今回のハッカソンを通して

今回のハッカソンを通じて気付いた点について紹介します。この気づきを得られただけでも今回のハッカソンに参加して良かったと感じています。

▼国内のLeRobotユーザーの増加

今回のハッカソンに参加していた大半の方がLeRobotでの模倣学習経験者であったように思います。6月のハッカソンでは初めてLeRobotとSO-ARM 101での模倣学習にチャレンジする方が多かった印象でした。それと比較して、今回は参加者の大半は模倣学習をすぐに使いこなし、LeKiwiやXLeRobotの持ち込みもあり、経験者が多かった印象です。この半年でLeRobotのユーザー数が増加していると感じました。言い換えれば、模倣学習やVLAを用いたPick and Placeは、もはや「できて当たり前」になってきたと感じます。ハッカソンの中でもピックアンドプレース以上に思考を凝らした取り組みが多かったです。ますます今後の動向が楽しみになりました。

今後はLeRobotを「使う」以上の状態にまでコミュニティが進んでいくことが重要だと思います。

▼WowRoboさんのSO-ARM 101

今回WowRoboさん製のSO-ARM 101を初めて利用しました。実は、このハッカソンに先駆けて試供品を1台提供いただいています。これまで使っていた他社製のSO-ARM101と何ら変わりなく利用できています。別途3Dモデルについては調整が入っており1%程度大きく疲れている気がしますが問題なく利用できます。

組み立て済み品は購入後すぐに使用できるため、とにかく早く模倣学習を試したい方にはおすすめです。組み立ての労力をかけるのであれば十分に買いだと思います。組み立て完成済み品がカメラやACアダプタ、クランプもついて$299はお買い得だと思います。

SO-ARM101 DIY Kit & Assembled Version

AMDのコンピューティング環境の成熟

今回のハッカソンAMDの環境を使った感想は、「Physical AI用途で十分に実用的だ」というのが率直な感想です。ゲーミング環境においてはAMD GPUは人気のあるプラットフォームです。しかし、AI推論や学習用途では、まだ採用が進んでいないという印象を持っていました。実際に使ってみるとLeRobotの環境構築も問題なく行え、普段利用している環境と比較しても全く違いなく利用できました。さらに、MI300Xは十分な学習速度を実現できます。RunPodなどでは他社同等品よりも割安に利用できます。また、推論に使用したASUS S14に搭載されているRyzen AI 9 HX 370(CPU+iGPU)はいわゆるAI PC用モデルかつモバイル用途ですが、SmolVLAの推論は問題なく実行できます。我々は利用しませんでしたが、Pi 0.5を使用したチームもあったようです。AMDプラットフォームはLeRobot使用時の選択肢として十分であり、筆者が普段使用しているM2 MacBook Airと比較しても性能面で優位性が期待できます。(世代が違うのでそうなのですが)。

▼英語スキルの重要性

主催者の公用語は英語なので、基本的には英語前提で進行が進められます。また参加チームの中には多国籍のチームもあり、そういったチームとの交流も当然ながら英語です。この分野の取り組みは英語でのコミュニケーションが重要だなと改めて思いました。そして日本のチームもほとんどのチームが英語でのプレゼンテーションをしていて素直にすごいなと思いまいた。

なお、デモプレゼンの動画を見直した際、文法以前に単語選びの課題があったため、基礎から学び直す必要があると感じています。

▼フィジカルAIは己のフィジカルが最も大事

前述したように今回の学習では200エピソード以上のデータを収集しています。つまりリーダーアームを使い、細かい作業を200回以上実施したと言うことです。60回を超えたあたりから肩こりと肩甲骨周辺の痛みが生じる物理的な不具合が発生したため、緊急パッチを適用することになりました。

模倣学習でデータを集める方は常日頃からご自身のフィジカルを鍛えておくことをお勧めします。また、ハッカソンなどで短期間に大量のデータを集める必要がある場合は、オペレーターを複数名体制にすること、および緊急パッチの事前準備をお勧めします。

4. おわりに

今回は優秀なチームメンバーと創意工夫で優勝を勝ち取ることができました。またAMDのコンピューティング環境についても現状を把握できる大変良い機会となりました。ハッカソン中は他の参加者との交流もあり、国内のLeRobotのユーザー拡大とコミュニティ形成に強く影響したイベントだったと思います。

ぜひまたどこかのハッカソンやイベントで参加者の皆さんとお会いできる日を楽しみにしています。

5. 宣伝

フィジカルAIの同人誌を出しました!電子版は絶賛配布中です。物理本は秋葉原のロボスタディオンさんで取り扱いしています。今回のデータ取得やモデル学習ではこの本に記載した内容を踏まえながら実施しています。是非ご興味あれば手に取っていただければと思います。

techbookfest.org




以上の内容はhttps://masato-ka.hatenablog.com/entry/physical-ai-amd-hackathonより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14