AI Agent grows hands and feet: Strands+LeRobot connects the robot, and Natural Language directly drives the real machine

What is the biggest problem of AI Agent in the past two years?
It’s not that it can’t chat or write code, it’s just that it’s stuck in the screen most of the time. If you let it plan, search, write scripts, and adjust APIs, it will be very powerful; but if you let it actually push a robotic arm, record a robot demonstration, run a round of simulation, and then deploy the strategy to physical hardware, it will immediately hit a pile of engineering glue.
Now the breakpoint is beginning to be filled.
The Strands Robots SDK in the AWS ecosystem is open source and encapsulates Hugging Face LeRobot, MuJoCo simulation, strategic reasoning, Zenoh multi-robot mesh and other capabilities into Strands AgentTools. The official sentence is very straightforward: strands-robots gives a Strands Agent hands.
Translated into human words: the AI Agent begins to grow arms and legs.
What exactly was released this time?
The project name is strands-robots, the code is in strands-labs/robots, and the PyPI package name is also strands-robots. Its core capability is to use a Robot() factory to turn simulated robots or real robots into tools that Strands Agent can call.
The minimal example is very representative:
from strands import Agent
from strands_robots import Robot
robot = Robot("so100")
agent = Agent(tools=[robot])
agent(“Pick up the red cube”)
By default, Robot("so100") launches a MuJoCo simulation, which does not require a GPU or real hardware. To switch to a real robot, you need to explicitly add mode="real":
robot = Robot(“so100″, mode=”real”, port=”/dev/ttyACM0″)
This default design is critical: simulate first, then use the real machine. The real servo will not be driven by mistake just because of a natural language command.
What is LeRobot: The Hugging Face Toolchain for the Robot World
To understand Strands Robots, you must first understand LeRobot.
LeRobot is a real-world robot learning library launched by Hugging Face. The goal is to unify models, data sets and tools in the field of robots into the PyTorch ecosystem and lower the threshold for robot learning.
The official positioning is very clear:
- Provides real-world robot models, data sets, and tools
- Let more people share robotics datasets and pre-trained models
- Covers imitation learning, reinforcement learning, and VLA models
- Support real hardware and simulation environment
One of the most important things in LeRobot is the LeRobotDataset format. It organizes robot vision video, status, and action data into a standard structure, usually MP4 or pictures plus Parquet. In this way, data can be uploaded to Hugging Face Hub and reused by training, evaluation, and deployment links.
In other words, LeRobot provides a “data and model base” for robot learning.
But the base does not equal the complete workflow. When it comes to implementation, you have to deal with simulation, hardware ports, cameras, calibration, strategic reasoning, multi-robot collaboration, and safety interruptions. Strands Robots fills in exactly this layer.
Strands Robots does not replace, but encapsulates

When many people see Strands + LeRobot, their first reaction may be: Is there a new robot framework?
no.
It is more like encapsulating the robot link into a tool layer that the Agent can call. LeRobot is still responsible for a large part of robot data, strategies, and hardware interfaces; MuJoCo is still responsible for simulation; GR00T, ACT, Pi0, SmolVLA, Diffusion, etc. are still the source of strategies; Zenoh is responsible for peer-to-peer mesh.
The value of Strands Robots is to compress these originally scattered components into an Agent workflow:
- Record demonstration data
- Write to LeRobotDataset
- Upload or reuse Hugging Face Hub data
- Running simulations in MuJoCo
- Call local or remote policy
- Deploy to real robots
- Let multiple robots coordinate through mesh
- Broadcast E-STOP when necessary
In the past, these steps required writing a bunch of glue code. Now they can become AgentTools, scheduled by the same Strands Agent.
One-sentence link: natural language to mechanical action
The official link is very intuitive:
Natural Language Instructions → Strands Agent → Robot Tool → Policy Provider → Action Chunk → MuJoCo Simulation or Real Hardware → Observation Reflow
The key to this link is that the Agent does not directly control the motor, but generates action chunks through the policy provider, which are then handed over to simulation or hardware for execution.
Supported policy sources include:
- NVIDIA GR00T
- LeRobot ACT
- Pi0/Pi0.5
- SmolVLA
- Diffusion Policy
- classic motion planner
- MPC
- scripted controller
- mock policy
This means that Strands Robots is not betting on a single model, but rather putting different strategies behind the same abstract interface. You can use mock policy to verify the process today, switch to the local LeRobot model tomorrow, and connect to the GR00T inference service the day after tomorrow.
50+ robots in 8 categories
Strands Robots officially lists 50+ robots, covering 8 categories:
- Robotic arms: SO100, SO101, Koch, OMX, Panda, UR5e, xArm7, etc.
- Humanoid robots: Unitree G1, Unitree H1, Reachy2, Talos, Cassie, etc.
- Mobile robots: Spot, Unitree Go2, Stretch, LeKiwi, EarthRover, etc.
- Dexterous hands: Shadow Hand, Allegro Hand, Leap Hand, Robotiq 2F85, etc.
- Dual arm system: ALOHA, bi_openarm, Trossen WXAI
- Aircraft: Crazyflie, Skydio X2
- Expression/Interactive Robot: Reachy Mini
- Mobile operating robot: Google Robot
Some of these robots can drive real hardware through LeRobot, such as SO100, SO101, Koch, OMX, HopeJR, ALOHA, bi_openarm, Reachy2, Unitree G1, LeKiwi, EarthRover.
What's more, all robots can be simulated. For developers, this means that they can use low-cost simulation to run through the process before deciding whether to buy hardware.
Mesh multi-robot coordination + emergency stop
Multi-robots and safety control are unavoidable issues when connecting Agent to the physical world.
Strands Robots comes with built-in Zenoh mesh networking. Each robot automatically becomes a peer and can use tell() to interact with another robot, use broadcast() to broadcast instructions, and use E-STOP to stop an emergency.
Mesh can be bridged to AWS IoT Core, and can also use the device-connect plug-in to create more advanced device-aware networks.
The security design is also clear:
- Default simulation, mode switching must explicitly declare mode="real"
- The three tool actions of status, execution and stop are separated
- E-STOP is independent of normal control flow
- There is a human review and approval interruption before the actual action.
In industrial scenarios, these are not optional configurations. Any less than one may cause an accident.
Terminology clarification: who did it
This integration solution is open sourced by AWS (Apache 2.0) and published on the hugggingface.co blog. Strands itself is the AWS open source Agent SDK (Apache 2.0), supports Python and TypeScript, and has a complete Agent framework. LeRobot is a project of Hugging Face. The intersection of the two is strands-robots.
How to get started
If you just want to experience simulation, it is recommended to start with MuJoCo extra:
uv pip install “strands-robots[sim-mujoco]”
If you want to connect real hardware and local LeRobot strategy:
uv pip install “strands-robots[sim-mujoco,lerobot]”
If you want to install it all:
uv pip install “strands-robots[all]”
The basic installation is very light and only includes numpy, opencv-headless, Pillow, etc. Different capabilities are installed separately via extras: sim-mujoco for simulation, lerobot for real hardware and local policies, groot-service for NVIDIA GR00T inference, mesh for Zenoh multi-robot networks, and mesh-iot for AWS IoT Core fleet scenarios.
This splitting method is more pragmatic and will not fill up all dependencies at once.
Don’t misunderstand: this is not “one-click embodied intelligence”
A bucket of cold water is needed here.
Strands Robots is cool, but it’s not about turning an AI into a robotics expert with one click.
Real hardware still has to face:
- Port identification
- Steering gear communication
- Camera configuration
- Robotic arm calibration
- Data schema alignment
- checkpoint availability
- GPU/Docker/Inference Service
- The sim2real gap between simulation and reality
- Multi-robot safety boundary
For example, GR00T local inference may require NVIDIA GPU, Docker, checkpoint and correct data configuration. Real SO-101 also doesn’t automatically capture red squares as soon as you write mode=”real”. You still need cameras, calibration, policies and security environments.
The real value: writing less glue code
The most noteworthy thing this time is not the sudden surge in model capabilities, but the opening of engineering links.
The most painful part of robot development is often not the algorithm papers, but that the various systems do not speak to each other:
- A set of data set formats
- A set of simulation scripts
- A set of real hardware controls
- A set of strategic reasoning
- A set of multi-robot communication
- Safety stop is another set
Strands Robots converge them into AgentTools.
This is practical for both research teams and entrepreneurial teams. You can first run the SO100 simulation on your local laptop without buying hardware, using a GPU, or applying for Hub permissions. After the process is confirmed, you can then gradually introduce real SO101, GR00T, Hugging Face checkpoint, and multi-robot mesh.
Budgets and risks can be released in stages, instead of allocating hardware, data, training, and deployment on the first day.
Why this matters to Agent
In the past, Agent's tools were mostly digital world tools: files, browsers, databases, APIs, terminals, and code interpreters.
Strands Robots pushes the boundaries of tools into the physical world: robots, cameras, servos, simulation environments, action strategies, and multi-machine communication.
This means that the scope of the Agent's capabilities begins to expand from "information processing" to "physical execution."
Of course, the physical execution must be more careful. There is no undo button in the real world. If the robot arm hits the table, breaks objects, or hits people, it cannot be solved by running the script again. Therefore, default simulation, explicit real machine, E-STOP, and approval interruption, these safety designs are signals of project maturity.
Relationship with ROS

Some people may ask: Is this going to replace ROS?
In the short term, no. ROS is the old foundation of robotic system engineering, with a very deep ecology of nodes, topics, services, launches, and drivers. Strands Robots is more like an Agent orchestration layer, which is oriented to "let large models organize robot tasks through tool interfaces."
The more likely pattern in the future is that the underlying hardware and complex robot systems still have ROS/manufacturer SDK/controller, and the Agent layer uses tools like Strands Robots to connect mission planning, strategy invocation, data recording, simulation verification, and multi-machine coordination.
In other words, it is not grabbing the chassis, but grabbing the entrance to the upper-level workflow.
Summary
The real significance of Strands + LeRobot opening up the robot link this time is not to make the robot arm smart immediately in one sentence, but that the AI Agent begins to have a set of standard tool interfaces to the physical world.
LeRobot provides data, models and hardware interfaces for robot learning; MuJoCo provides safety simulation; GR00T, ACT, Pi0, SmolVLA, Diffusion, etc. provide strategies; Zenoh mesh provides multi-robot communication; Strands Robots encapsulates these into AgentTools.
This is its value: not a one-click revolution, but less writing a lot of glue code.
AI agents used to have brains and mouths, but now they have arms and legs.
But it requires brakes, guardrails, approvals, simulations and a lot of engineering details before it can actually get into the real world.
This is the most real step for embodied intelligence to move from PPT to experimental bench.