Getting Started¶
Choose the path that matches where your robot environment runs.
Portal and managed simulation¶
The OLO Portal is the browser entry point for Platform features. Sign in at app.olo-robotics.com and select a Cloud Sim environment, if enabled for your account, or a registered Appliance. From the robot workspace you can open the SDK Playground and the available visualization tools.
The Playground starts code on the Appliance or managed simulation. Connection
details are injected into that execution environment, so SDK v2 examples use
Client() or connect() without a target.
Physical robot or local ROS 2 environment¶
Confirm that the robot drivers and required ROS 2 stacks are running.
Install or start the OLO Appliance in the same ROS 2 environment.
Register the Appliance in the Portal and configure its device API key.
SDK v2 is enabled on the Appliance by default; set
OLO_APL_SDK_V2=falseonly to fall back to SDK v1.Verify that the Appliance and robot use the intended ROS domain and that expected topics are visible.
Open the SDK Playground and run a read-only example, such as topic listing, before commanding motion.
SDK v2 connection check¶
from olo import Client
with Client() as client:
for topic in client.core.list_topics(timeout=2.0):
print(topic.name, topic.msg_type)
Outside the Playground, pass "host:port" to Client or set
OLO_SDK_GRPC_TARGET. The Python distribution is named olo-py and
requires Python 3.10 or newer.
import { connect } from "olo/node";
const client = connect();
for (const topic of await client.core.listTopics({ timeoutMs: 2000 })) {
console.log(topic.name, topic.msgType);
}
Use olo/node for a Node process. Browser applications use olo/web
and need a reachable gRPC-Web endpoint, for example
connect("http://appliance-host:50151"). The TypeScript package requires
Node 24.2 or newer.
Before motion¶
Robot commands affect real hardware. Check the active robot namespace, keep the manufacturer’s safety system and emergency stop available, start with read-only calls, and use conservative targets. A successful SDK connection does not prove that MoveIt, Nav2, controllers, localization, or every sensor is healthy.
Continue with Quickstart, then use the Examples and API Reference for the capability you need.