All surfaces at a glance
For long-lived integrations, use a service token scoped to the customer’s workspace, not a personal token. See API tokens.
Connecting to MQTT
These values come from the Python SDK (cyberwave/config.py, cyberwave/mqtt/__init__.py, cyberwave/mqtt_identity.py).
Cyberwave() with CYBERWAVE_API_KEY set.
PLC, MES and WMS
Status today: Cyberwave ships no built-in OPC UA, Modbus or VDA5050 driver. Some older pages list these protocols as supported. That means you can bridge them with a driver you write, not that a driver exists. The SDK has an AMR edge-node base class (cyberwave.edge.AMREdgeNode) with adapter hooks and VDA5050 configuration fields. No VDA5050 adapter ships with it.
These patterns are possible with the pieces that exist:
MES or WMS starts a robot task
MES or WMS starts a robot task
Build a workflow whose actuation nodes move the twin (
twin_control, send_joint_commands, send_controller_command). Start it from the business system through REST or the SDK:cw.workflows.trigger calls POST /api/v1/workflows/{uuid}/trigger, so any language can do the same over REST. A webhook trigger node is the alternative when the business system can only send an HTTP call. Its URL and authentication are not documented yet.Report results back to the business system
Report results back to the business system
End the workflow with an
http_request node that calls the MES or WMS API. Alternatively, have your integration service poll the run (run.wait() / GET /api/v1/workflows/executions/{execution_uuid}), or subscribe to the twin’s MQTT event topics.Robot on ROS 2
Robot on ROS 2
Use
BaseROS2Driver to forward ROS 2 topics into the twin with little code, and the send_ros2 workflow node to publish typed messages back. Start from the UR Sim tutorial.Next steps
Cyberwave for integrators
Architecture, data flows and deployment options.
Network and firewall
Hosts and ports for each surface.
Writing compatible drivers
Build a driver for a device Cyberwave doesn’t support yet.
Workflows
Triggers, actions, and where each node runs.