Embodied AI Glossary中文

zerorpc

Advanced

A lightweight RPC library on top of ZeroMQ that lets you call methods of a remote Python object in a few lines.

zerorpc is an open-source RPC (remote procedure call) library that dotCloud, the PaaS company that later pivoted to Docker, started building for its internal services in 2010 and open-sourced in 2012. It carries messages over ZeroMQ and serializes arguments and return values with MessagePack; Python and Node.js versions exist and can call each other. Using it takes only a few lines: the server binds an ordinary Python object to a port, and any client that connects can call that object's methods directly. Heartbeats for detecting dropped connections and streamed responses come built in. In embodied AI, most people first meet it in the DROID codebase: the NUC that controls the Franka exposes a robot object wrapping Polymetis (Meta's open-source arm-control framework) through a zerorpc server, and the laptop calls it remotely to read state and send commands. Only types MessagePack understands can cross the wire, so NumPy arrays must be converted to lists first. The project sees little activity now: the newest PyPI release is still 0.6.3, from 2019.

ExampleDROID's run_server.py on the NUC wraps a FrankaRobot object in zerorpc.Server and binds it to port 4242; on the laptop, a zerorpc.Client connects to that address and calls get_robot_state() or update_command() as if the robot were a local object.

Also called
ZeroRPC
Related
Remote Procedure Call (RPC) · ZeroMQ · MessagePack (msgpack) · gRPC Remote Procedure Calls · DROID (Distributed Robot Interaction Dataset) · Intel NUC (Next Unit of Computing)
Sources
0rpc/zerorpc-python (GitHub)
zerorpc Protocol 文档(含项目历史) (Chinese)
DROID 代码:scripts/server/run_server.py(NUC 上的 zerorpc 服务端) (Chinese)
As of
2026-10

See it in the full glossary →