Standard Bots RO1 Robotics API
raw JSON → 2.20260123.93 verified Sat May 09 auth: no python
Python client for interacting with Standard Bots RO1 robotic arms. Provides high-level controls for movement, gripper actions, and system management. Version 2.x uses a modern async API; breaking changes from 1.x include removal of synchronous methods and renamed endpoints.
pip install standardbots Common errors
error AttributeError: module 'standardbots' has no attribute 'StandardBot' ↓
cause Old import style from 1.x (e.g., 'import standardbots' then 'standardbots.StandardBot').
fix
Use direct import: from standardbots import StandardBot
error RuntimeError: Task <Task pending ...> attached to a different loop ↓
cause Creating StandardBot in sync code without asyncio.run, causing event loop conflicts.
fix
Always use async/await with asyncio.run() at top level.
error standardbots.exceptions.RobotConnectionError: Connection refused ↓
cause Robot not reachable; IP/port wrong, or robot not powered on and connected to network.
fix
Verify robot IP address and network connectivity. Check robot status via web interface.
Warnings
breaking Version 2.x has async API only; synchronous methods removed. All calls require await. ↓
fix Wrap code in async def and use await for all robot methods.
breaking Class renamed from StandardBots to StandardBot. Old import path fails. ↓
fix Use 'from standardbots import StandardBot' instead of 'import standardbots' and accessing class.
gotcha API key must be set via environment variable STANDARDBOT_API_KEY or passed as argument; constructor does not auto-read from .env. ↓
fix Set env var or pass api_key explicitly: StandardBot(api_key='...')
gotcha Coordinate values are in meters and radians; axis orientation may differ from other robot SDKs. ↓
fix Verify coordinate frame in official docs; test with small movements first.
Imports
- StandardBot wrong
import standardbots bot = standardbots.StandardBots()correctfrom standardbots import StandardBot - RobotConnectionError wrong
from standardbots import RobotConnectionErrorcorrectfrom standardbots.exceptions import RobotConnectionError
Quickstart
import asyncio
from standardbots import StandardBot
async def main():
api_key = os.environ.get('STANDARDBOT_API_KEY', '')
robot = StandardBot(api_key=api_key, robot_id='your-robot-id')
await robot.connect()
await robot.move_to(x=0.3, y=0.0, z=0.4)
await robot.gripper.open()
await robot.disconnect()
asyncio.run(main())