RURI Format

The Robot URI (RURI) is an addressable identifier for locating and communicating with robots.

Format

rcan://<registry>/<manufacturer>/<model>/<device-id>[:<port>][/<capability>]

Components

Component Required Description Example
scheme Yes Always "rcan://" rcan://
registry Yes Registry domain continuon.cloud
manufacturer Yes Manufacturer namespace acme
model Yes Robot model bot-x1
device-id Yes Unique device ID (8 hex or UUID) 12345678
port No Network port (default: 8080) :9000
capability No Specific endpoint /arm

Examples

# Basic RURI
rcan://continuon.cloud/continuon/companion-v1/d3a4b5c6

# With full UUID
rcan://continuon.cloud/continuon/companion-v1/d3a4b5c6-7890-1234-5678-abcdef012345

# With capability endpoint
rcan://continuon.cloud/continuon/companion-v1/d3a4b5c6/arm

# Local network discovery
rcan://local.rcan/discovered/192.168.1.42:8080

# Custom port
rcan://my-server.lan/acme/bot-x1/a1b2c3d4:9000

Validation Regex

^rcan://([a-z0-9][a-z0-9.-]*[a-z0-9])/([a-z0-9][a-z0-9-]*[a-z0-9])/([a-z0-9][a-z0-9-]*[a-z0-9])/([0-9a-f]{8}(?:-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?)(?::(\d{1,5}))?(/[a-z][a-z0-9/-]*)?$

Device ID Formats

Short Form (8 hex characters)

d3a4b5c6

Typically derived from MAC address or assigned by manufacturer.

Full UUID

d3a4b5c6-7890-1234-5678-abcdef012345

Standard UUID format for guaranteed uniqueness.

Common Capabilities

Capability Description
/arm Robotic arm control
/vision Camera and vision system
/nav Navigation and localization
/teleop Teleoperation interface
/chat Voice/text interaction
/status Health and diagnostics

Parsing in Code

JavaScript/TypeScript

import { parseRURI } from '@/utils/ruri';

const result = parseRURI('rcan://continuon.cloud/acme/bot-x1/12345678');
if (result.valid) {
  console.log(result.parsed.registry);     // "continuon.cloud"
  console.log(result.parsed.manufacturer); // "acme"
  console.log(result.parsed.model);        // "bot-x1"
  console.log(result.parsed.deviceId);     // "12345678"
}