Zurück zu Wiki

RoboticsCenter SDK <unk> Python API Referenz

Vollständige Python-API-Verweis für das RoboticsCenter SDK: LinkerO6, L1Robot, SessionManager, SensorFrame-Klassen, rc CLI-Befehle, REST-Endpunkte.

Ich beginne

  • [Übersicht]
  • [CLI-Befehle]
  • [Verpackungsimport] T70)

Klasse LinkerO6

  • [Verbindung T71 ]
  • Stream()
    • Ich bin nicht ein Schwein.
  • [Attribute]

Klasse L1Robot

  • [Verbindung
  • Stream()
    • Ich habe es nicht getan.
  • [SensorFrame.data]

Klasse SensorFrame

  • [Attribute]

Klasse Sitzungsmanager

  • Ich habe die Möglichkeit, die Auswahl zu erleichtern.
  • schöpfen Sie_session()
  • Ich habe die Möglichkeit, Sie zu befriedigen.

REST API

  • [Teleop-Sitzungen]
  • [L1-Pipeline]

Referenz

  • [Umweltvariablen]
  • [Unterstützte Geräte]

Wiki-Navigation

  • [← Alle Artikel]
  • [SDK Quickstart]
  • [Sitzungs-URL und Teleop]
  • [VLAI L1 Guide]
  • [LinkerBot O6 Guide]

Siehe auch

  • [Robotikakademie →]
  • Plattform →
  • [Fragen Sie eine Frage →]

Vollständiger Bezug für das Python-Paket T0. Umfasst alle öffentlichen Klassen, Methoden, Attribute, CLI-Befehle, REST-Endpunkte und Umgebungsvariablen.

Verpackung: T1 Python: 3.9+ Installation: T2

Python SDK LinkerO6 L1Robot SessionManager REST API

Überblick

Überblick

Das T3 SDK ist die primäre Schnittstelle zur Verbindung von Robotergeräten zur RoboticsCenter-Plattform, zum Streaming von Sensordaten, zum Managen von Teleoperationssitzungen und zum Hochladen von Episodenaufnahmen. Es wird mit einem CLI (T4) für schnelle Geräteverbindung und einer Python-API für benutzerdefinierte Datenerhebung Pipelines geliefert.

Alle Geräteklassen erben von T5 und zeigen die gleiche T6 / T7-Schnittstelle auf, was es einfach macht, hardware-agnostische Sammel-Skripte zu schreiben.

Kommandozeilen-Schnittstelle

CLI-Befehle

Die T8 CLI wird automatisch mit dem Paket installiert.

Pip-Installation Roboticscenter Rc --Hilfe

Command Description
rc devices Scan all serial and network interfaces for connected hardware. Prints device type, port, firmware version, and status.
rc connect Auto-detect a supported device, create a platform session, start streaming, and open the browser panel.
rc connect --device Force a specific device type. Values: linker-o6, l1. Skips auto-detection.
rc connect --port Bind to a specific serial port instead of scanning. E.g. /dev/ttyUSB0 or COM3.
rc connect --mock Start a synthetic data session with no physical hardware required. All SDK features and the browser panel are fully functional.
rc connect --no-browser Suppress automatic browser launch. Session URL is printed to stdout.
rc session <SESSION_ID> Show session metadata: status, device type, creation time, episode count, deep link, and upload URL.

Package

Import von Paketen

Alle öffentlichen Klassen sind direkt aus dem Top-Level-Paket importierbar:

Importation von LinkerO6, L1Robot, SessionManager

Einzelne Untermodule sind auch für fortgeschrittene Verwendung importierbar:

von Roboticscenter.devices importieren LinkerO6, L1Robot von Roboticscenter.session Import SessionManager von roboticscenter.frames Import SensorFrame

Klasse

LinkerO6

Klasse LinkerO6(Basisgerät)

Fahrer für das dexter Handsystem LinkerBot O6. Handelt USB-Serie-Frameing (RCSV T14-Protokoll bei 921600 Baud), Paketvalidierung, Sitzungserschaffung und Echtzeit-Frame-Streaming für Linke und Rechte gleichzeitig.

@classmethod LinkerO6.connect(Port=Nimmer, falsch=Falsch) → LinkerO6

Verbinden Sie sich mit einem Handsystem von O6 und geben Sie eine instancierte Geräteseinheit zurück. Erstellt eine Plattformsitzung automatisch und startet den Sensorstreaming.

Parameter Type Description
port optional str None
mock optional bool When True, generates synthetic O6 sensor data. No physical device required. Default: False.

Rückkehrt T20 Instance des verbundenen Geräts. Erhebt T21, wenn kein O6-Gerät gefunden wird, und T22.

Importe von LinkerO6

Gerät = LinkerO6.connect() # oder mit expliziter Porte: Gerät = LinkerO6.connect ((port="/dev/ttyUSB0") # oder im Modus: Gerät = LinkerO6.connect(mock=True)

Gerät.Stream() → Iterator[SensorFrame]

Die Ertragssensor-Rahmen, wenn sie aus dem Gerät kommen. Blockiert, bis T23 genannt wird oder das Gerät trennt.

Parameter Type Description
No parameters.

Erträge T24 Ein Rahmen pro Sensorpaket. T25 Form: T26. Die Werte werden normalisiert von 0,0 (offen) bis 1,0 (vollständig geschlossen).

für die Rahmen in device.stream(): Links = Frame.data.get('links', {}) Recht = Frame.Data.get('Recht', {}) print(f"L-Index: {left.get('index', 0):.3f} R-Index: {right.get('index', 0):.3f}")

Gerät.stop() → Keine

Stoppt das Streaming und schließt die Serienverbindung. Sicher, mehrfach anzurufen. Spült automatisch alle Puffer-Frames ab und beendet die aktuelle Aufnahme-Episode, wenn einer aktiviert ist.

Attribute

Gerät.Sitzung_id str Keine Plattform-Sitzung ID beim Anschluss zeitlich zugewiesen. T27 wenn keine Sitzung erstellt wurde.

Gerät.Sitzung_url str Keine Vollbrowser-URL für das Live-Teleop-Panel. z.B. T28

device.port str Serienport-Pfad, auf dem das Gerät angeschlossen ist. z.B. T29. Im Mock-Modus: T30.

Gerät.Gerät_Typ str "Linker_o6"

Gerät.Gerät_Familie str "dexhand"

Klasse

L1Roboter

Klasse L1Robot(Basisgerät)

Fahrer für den VLAI L1 mobilen Manipulator. Kommunikation über ROS2 / CAN-FD. Streams Gelenkstaaten, Griffpositionen, Basisgeschwindigkeit, Aufzugshöhe, Batterieprozentsatz und Kameraverfügbarkeit.

@classmethod L1Robot.connect(Port=Nimmer, falsch=Falsch) → L1Robot

Verbinden Sie sich mit einem L1-Roboter und geben Sie eine vernetzte Gerätsinstanz zurück.

Parameter Type Description
port optional str None
mock optional bool Generate synthetic L1 state data. No ROS2 or physical robot required. Default: False.

Rückkehrt T33 Instance des vernetzten Geräts. Erhebt T34, wenn die ROS2-Schnittstelle nicht verfügbar ist und T35.

Roboter.stream() → Iterator[SensorFrame]

Die Sensor-Rahmen des L1-Robot enthalten den vollständigen Status der Roboter.

Erträge T36 Siehe Struktur T37 unten.

Roboter.stop() → Keine

Stoppen Sie das Streaming und schließen Sie die Verbindung ROS2 / CAN-FD.

SensorFrame.Datenstruktur für L1Robot

Das T38-Wörterbuch für einen L1Robot-Rahmen hat folgende Form:

Ich bin nicht hier . "Gelenke": { "links_arm": [j1, j2, j3, j4, j5, j6, j7], # Grad, 7-DOF "Rechtsarm": [j1, j2, j3, j4, j5, j6, j7], # Grad, 7-DOF "links_Gripper": 0,0, # 0,0 = vollständig geöffnet, 1,0 = vollständig geschlossen "Rechts-Greifer": 0,0, Ich bin nicht ein Mensch. "Basis": { "vx": 0,0, # Vorwärtsgeschwindigkeit, m/s "vy": 0,0 # Seitenschnelligkeit, m/s "wz": 0,0, # Gießrate, Rad/s Ich bin nicht ein Mensch. "Lift_height_mm": 1060, # Trostliftheight in Millimeter "Batterie_pct": 85,0, # Ladestatus, 0,0100,0 "Kameras": { "Buch": Stimmt, # Stimmt, wenn der Kamerastrom aktiv ist "links" ist falsch, "Rechtsarm": Falsch, Ich bin nicht ein Mensch. Ich bin nicht ein Schwein .

Klasse

Sensorrahmen

Klasse SensorFrame

Ein einzelnes Zeitstempellesen von einem Gerät. Ergeben durch T39. Alle Attribute sind nur zu lesen.

Attribute

frame.timestamp float Unix Epoche-Zeitmarke mit Mikrosekunden-Auflösung zum Zeitpunkt der Aufnahme des Frames auf dem Gerät.

Frame.device_id str Plattform-Gerät-Identifikator. für LinkerBot O6: T40.

frame.device_type str SDK-Gerät-Typ-String. Für LinkerBot O6: T41. Für VLAI L1: T42.

Das System ist ein System, das sich auf die Datenbasis von einem System auswirkt.

frame.raw-Bytes Original-Wire-Format-Paket-Bytes wie vom Gerät erhalten.

Klasse

SessionManager

Klasse Sitzungsmanager

Niedrigstufiger Client für die Plattform-Sitzung-API. Intern von Geräteklassen verwendet, aber auch für direkte Integration verfügbar (z.B. Sitzungen aus einem benutzerdefinierten Agent oder externen Orchestrierungssystem erstellt).

SessionManager.__init____(base_url=RC_PLATFORM_URL)

Instanzieren Sie den Sitzungsmanager. T43 ist standardmäßig zu T44, kann aber über die Umgebungsvariable T45 übertragen werden.

Parameter Type Description
base_url optional str Platform backend URL. Override for self-hosted deployments or staging environments.

mgr.create_session(device_type, device_id=None, hardware_serial=None) → dict

Erstellt eine neue Telebetriebssitzung auf der Plattform. Gibt alle Benutzerinformationen zurück, die benötigt werden, um zu starten Streaming und öffnen Sie das Browser-Panel.

Parameter Type Description
device_type str SDK device type. E.g. "linker_o6", "l1".
device_id optional str None
hardware_serial optional str None

Rückkehr T48 mit Schlüssel:

Key Type Description
session_id str Unique session identifier. E.g. "RC-XXXX-XXXX".
deep_link str Full browser URL for the teleop panel.
ws_url str WebSocket relay URL for frame streaming.
guest_token str Short-lived token for unauthenticated browser access to this session.
expires_at str ISO 8601 expiry timestamp for the session.
device_type str Echo of the requested device type.

von Roboticscenter.session Import SessionManager

mgr = SessionManager() "Linker\o6", Hardware_serial="LBO6-001") Print(Session["tiefe_link"]) Die Vergangenheit

mgr.get_session_info(session_id) → dict

Erhalten Sie aktuelle Metadaten für eine bestehende Sitzung.

Parameter Type Description
session_id str The session ID returned by create_session() or rc session.

Returns T52 Session Metadaten einschließlich Status, Episodezahl, Streaming-Zustand und tief link. Erhebt T53, wenn die Sitzung nicht existiert.

Direkt integriert

Plattform REST API

Die REST-Endpunkte unten sind die zugrunde liegende HTTP API, die vom SDK verwendet wird. Verwenden Sie sie für die direkte Integration, wenn der Python SDK nicht geeignet ist (z. B. nicht-Python-Agenten, eingebettete Systeme oder Server-Seiten-Orchesterung).

Alle Endpunkte sind relativ zu T54. Die Authentifizierung verwendet den T55 oder einen API-Schlüssel in der T56-Header.

Teleop-Sitzungen

  • POST /api/teleop/sessions/create-sdk Erstellen Sie eine neue SDK-Sitzung.
  • GET /api/teleop/sessions/{id}/sdk-info Erhalten Sie Sitzung Metadaten, Streaming-Status und WebSocket URL für eine bestehende Sitzung.

L1 Pipeline

  • POST /api/l1/sessions/{id}/pipeline/start Starten Sie eine Datenverarbeitung Pipeline für eine L1-Sitzung. Gibt eine T58 zurück.
  • GET /api/l1/sessions/{id}/pipeline/status Befragung des Verarbeitungspipeline-Status für eine Sitzung.
  • GET /api/l1/pipeline/{pipeline_id} Erhalten Sie die vollständigen Details für die Pipeline-Verführung durch Pipeline-ID, einschließlich des Status pro Stufe und der Ausgangsartefakte.
  • GET /api/l1/Tiers Liste der verfügbaren Konfigurationen der Verarbeitungsschichten (Standard/Hochverlässigkeit/Forschungsgrad).

Konfiguration

Umweltvariablen

Variable Default Description
RC_PLATFORM_URL https://platform.roboticscenter.ai Backend URL used by SessionManager and all CLI commands. Override for self-hosted or staging deployments.

Einstellung der Schale: T61 Oder in eine T62 Datei in der Projektwurzel die SDK verwendet T63 wenn installiert.

Hardware

Unterstützte Geräte

Device --device flag Protocol Status
LinkerBot O6 linker-o6 USB Serial — RCSV AA55 header, 921600 baud Production
VLAI L1 l1 ROS2 / CAN-FD Production

In jeder Version werden zusätzliche Geräte hinzugefügt. Überprüfen Sie T67 Ausgang für dynamisch entdeckte Hardware oder konsultieren Sie die [LinkerBot O6 Hardware-Leitfaden]T95) für Geräte-spezifische Einrichtungsanweisungen.

** Neues in der Robotik?** Dies ist eine technische API-Verweis für SDK-Integratoren. Wenn Sie die Grundlagen der Robotik lernen Arme, Teleop, Simulation, ROS 2 besuchen Sie zuerst die [RCSV Robotics Academy] T96. Für den 5-minütigen Installationsführer, siehe den [SDK Quickstart] T97).