Strands Robots——実機なしでPhysical AIを試す
フィジカルAIを試したくても、最初からロボット実機、GPU、ROS 2環境をそろえるのは重い。`strands-labs/robots`は、`Robot()`の既定値をMuJoCoシミュレーションにし、自然言語から「知覚→判断→行動」のループを実機なしで確認できるOSSです。前日観測の110 Starsから本日157 Starsへ伸びた今、見るべきは人気ではなく、Physical AI開発を“シミュレーション先行”へ変える設計です。
今日の結論
- `Robot("so100")`は既定でMuJoCoを使い、GPUも実機も必須ではない
- SimulationとReal Robotを同じPolicy/Tool Surfaceで扱う設計が中核にある
- 70種類超のRobot Registryと、LeRobot・GR00T・MoveIt 2などのPolicy接続を持つ
- ただし`mode="real"`の明示だけを、本番の安全境界だと考えてはいけない
- Python 3.12の隔離環境で、まずシミュレーションだけを30〜60分試すのがよい
Strands Robotsは「ロボット版のAgent Tool Surface」
Strands Robotsは、Strands Agentからロボットを自然言語で操作するPythonライブラリです。最小例は驚くほど短い。
```python
from strands import Agent
from strands_robots import Robot
robot = Robot("so100")
Agent(tools=[robot])("pick up the red cube")
```
重要なのは、短さそのものではありません。`Robot("so100")`が既定ではMuJoCoシミュレーションを返し、実機へ切り替えるときだけ`mode="real"`を明示する点です。
データフローは、概ね次のように読めます。
Prompt → Agent → Robot Tool → Policy → Backend → Observation
PolicyにはLeRobotのACT/Pi0/SmolVLA/Diffusion、NVIDIA GR00T、cuRobo、MoveIt 2などを接続でき、BackendはMuJoCo、Newton、Isaac、Hardware Driverへ広がっています。READMEでは70種類超のロボットを8カテゴリで扱うと説明されています。
私が面白いと感じるのは、単なる「LLMでロボットを動かすデモ」ではなく、SimulationとHardwareの間でPolicy Interface、Mesh、Tool Surfaceをそろえようとしていることです。
なぜ今か——前日110から157 Starsへ
前日の保存記録では110 Stars、本日のGitHub再確認では157 Starsでした。約1日で+47、増加率は約42.7%です。1日単位の観測が1組だけなので加速度までは断定しませんが、Physical AI開発基盤への関心が急に集まったシグナルとしては無視できません。
Repositoryは本日も更新され、最新Releaseはv0.5.1です。README、Security Policy、Tests、CI、Contributing Guideが確認でき、Apache-2.0で公開されています。Starの伸びだけでなく、運用に必要な基礎部品がそろっている点を評価しました。
MHS、ROSClaw、Microsoft Toolchainとは役割が違う
昨日取り上げたMHSは、AI AgentがHardware Capabilityを発見・利用するための標準化レイヤーです。Strands Robotsは、その上または横で、AgentからSimulation/RobotへActionを流す開発ライブラリに近い。
一方、ROSClawはPermit、Resource Lease、Watchdog、E-Stop、Physical Observation、ExecutionReceiptをつなぎ、「要求した」と「実行できた」を分離するRuntimeを志向しています。Microsoft Physical AI Toolchainは、データ収集、学習、評価、Edge配備までのライフサイクルと企業運用を広く扱います。
私の整理では、3つの焦点はこうです。
- Strands Robots:多様なRobot/Policy/Simulatorを同じAgent Tool Surfaceで試す
- ROSClaw:物理Actionを認可し、停止し、証拠付きReceiptにする
- Microsoft Physical AI Toolchain:収集→学習→評価→配備を段階的に運用する
競合というより、Physical AI Developer Stackの別レイヤーです。Strands Robotsの強みは、最初の一歩が軽いこと。弱みは、その手軽さをProduction Safetyと取り違えやすいことです。
「mode=realを明示」は安全設計の入口にすぎない
READMEには、実機は`mode="real"`を明示しなければ動かないとあります。これは良い既定値です。ただし、工場や研究設備で必要な安全境界を、この1フラグだけが代替するわけではありません。
直近のPull Requestには、その理由がよく表れています。Booleanとして扱うべき設定に文字列`"false"`を渡すと真として解釈され、SO-101の一部Jointが約1 rad動いたという測定例が報告され、型検査を追加する修正が進んでいます。また、Camera Recorderの登録順序によって二重Recorderが走り得るRace Conditionも修正対象になっています。
これはOSSの欠点をあげつらう話ではありません。Physical AIでは、普通の設定ミスや並行処理バグが、ファイル破損ではなくMotor、Joint、Camera、周囲の人へ影響し得るということです。活発にテストと修正が進む点は強みですが、`main`の新機能をそのまま実機へ持ち込む理由にはなりません。
実機利用では少なくとも、速度・力・可動域の上限、独立したE-Stop、権限分離、Deadman、Simulationでの回帰、Action Log、Human Approvalを別レイヤーで設計すべきです。
私ならまずここを試す
対象は、Pythonを使えるRobotics/AI開発者です。実機を接続せず、Python 3.12の使い捨て環境でMuJoCo経路だけを確認します。
```bash
uv venv --python 3.12
source .venv/bin/activate
uv pip install "strands-robots[sim-mujoco]"
```
そのうえで、READMEの最小コードを実行し、次の4点だけを記録します。
1. Agentが選んだToolと引数
2. Policyが返したAction Chunk
3. Simulatorから戻るObservation
4. 異常入力時にActionが拒否されるか
最初の成功条件は「赤いCubeをつかめた」ではありません。なぜそのActionが選ばれ、どの制約で拒否され、何を証拠として残せるか説明できることです。
実機モードは試しません。Assetの自動取得、外部Model API、Mesh接続も最初は無効または最小にし、Dependencyと通信先を確認します。再現性を重視するなら、最新`main`ではなくRelease v0.5.1を固定し、必要な修正がReleaseへ入ったかを個別に照合します。
まとめ
Strands Robotsが示す変化は、Physical AIの入口を「実機を買う」から「SimulatorでAgentの行動ループを検証する」へ下げることです。前日からのStar増加は注目に値しますが、本質は70種類超のRobot、複数Policy、複数Simulatorを一つのTool Surfaceへ寄せる設計にあります。
同時に、SimulationとRealを同じInterfaceで扱える便利さは、境界を曖昧にもします。まずSimulationで失敗させる。次に認可・停止・証拠を足す。最後に限定した実機へ進む。この順序こそ、Physical AIをデモからEngineeringへ変える実践だと思います。
関連するROS 2 × AI Agentの記事はこちらです。
https://note.com/totorotom/n/n8020d7f81dfc
本記事は公開情報をもとにした個人的な技術調査・分析です。
参考リンク
- Strands Robots: https://github.com/strands-labs/robots
- Strands Robots v0.5.1: https://github.com/strands-labs/robots/releases/tag/v0.5.1
- Strands Robots Security Policy: https://github.com/strands-labs/robots/blob/main/SECURITY.md
- Boolean設定の安全性修正 PR #3517 : https://github.com/strands-labs/robots/pull/3517
- Camera RecorderのRace修正 PR #3518 : https://github.com/strands-labs/robots/pull/3518
- ROSClaw: https://github.com/ros-claw/rosclaw
- Microsoft Physical AI Toolchain: https://github.com/microsoft/physical-ai-toolchain
- Anthropic MHS Research Preview: https://www.anthropic.com/news/model-hardware-standard-research-preview
#フィジカルAI #ロボティクス #StrandsAgents #MuJoCo #OSS
