Volver a Wiki

RoboticsCenter SDK <unk> Referencia de API de Python

Referencia completa de la API de Python para el SDK de RoboticsCenter: LinkerO6, L1Robot, SessionManager, clases de SensorFrame, comandos rc CLI, puntos finales REST. pip instalar roboticscenter.

Comenzando

  • [Visión general]
  • [Comando de CLI]
  • [Importación de paquetes]

clase LinkerO6

  • [conexión ] ] ] ] T71
  • [Reacción]
  • stop()
  • [Atributos] T74)

clase L1Robot

clase Frámara de sensores

  • [Atratos]

clase Administrador de sesiones

API de REST

  • [Sesiones de teleópicas]
  • [L1 tubería]

Referencia

  • [Variables del medio ambiente]
  • [Dispositivos compatibles]

Navegación por el wiki

  • [← Todos los artículos]
  • [SDK Quickstart]
  • [URL de la sesión y Teleop]
  • [Guía VLAI L1]
  • [Guía de O6 de LinkerBot]

También ver

  • [Robotics Academy →]T92)
  • Plataforma →
  • [Pregúntele una pregunta →]

Referencia completa para el paquete Python T0. Cubre todas las clases públicas, métodos, atributos, comandos CLI, puntos finales REST y variables del entorno.

Envasado: T1 Python: 3.9+ Instalación: T2

Python SDK LinkerO6 L1Robot SessionManager REST API

En general

En general

El SDK T3 es la interfaz principal para conectar dispositivos robóticos a la plataforma RoboticsCenter, transmitir datos de sensores, administrar sesiones de teleoperación y subir grabaciones de episodios. Se envía con un CLI (T4) para conexión rápida de dispositivos y una API Python para tuberías de recopilación de datos personalizadas.

Todas las clases de dispositivos heredan de T5 y exponen la misma interfaz T6 / T7, lo que facilita la escritura de scripts de recopilación hardware-agnóstico.

Interfaz de línea de comandos

Comando de CLI

El T8 CLI se instala automáticamente con el paquete. ejecuta T9 para una lista completa de opciones.

instalar el centro de robótica Rc -- ayuda

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.

Envasado

Importar paquetes

Todas las clases públicas son importables directamente desde el paquete de nivel superior:

de la robotica centro de importación LinkerO6, L1Robot, SessionManager

Los submodules individuales también son importables para uso avanzado:

de la robóticacenter.devices importar LinkerO6, L1Robot Importar de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la gestión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la importación de la sesión de la sesión de la sesión de la sesión de la administración de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la de roboticscenter.frames importar SensorFrame

Clasificación

LinkerO6

clase LinkerO6(Device base)

Conductor para el sistema de mano hábil LinkerBot O6. Maneja el marco de serie USB (protócol RCSV T14 a 921600 baud), validación de paquetes, creación de sesión y transmisión de cuadros en tiempo real para manos izquierda y derecha simultáneamente.

@classmethod LinkerO6.connect ((port=Ningún, falso=falso) → LinkerO6

Conecta a un sistema manual O6 y devuelve una instancia de dispositivo conectado. Crea una sesión de plataforma automáticamente y comienza la transmisión de sensores.

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

Retorna T20 Instancia de dispositivo conectado. Aumenta T21 si no se encuentra dispositivo O6 y T22.

de la robotica centro de importación LinkerO6

dispositivo = LinkerO6.connect() # o con puerto explícito: dispositivo = LinkerO6.connect(puerto="/dev/ttyUSB0") # o en modo simulado: dispositivo = LinkerO6.connect(mock=True)

dispositivo.flujo() → Iterador[Frame Sensor]

Los sensores de rendimiento toman imágenes a medida que llegan desde el dispositivo. Bloquean hasta que se llame T23 o el dispositivo se desconecta.

Parameter Type Description
No parameters.

** Resultados** T24 Un marco por paquete de sensores. T25 forma: T26. Los valores se normalizan de 0.0 (abierto) a 1.0 (totalmente cerrado).

para el marco en el dispositivo.flujo(): izquierda = marco.datas.get('izquierda', {}) derecho = marco.datas.gate('derecho', {}) print(f"Index L: {left.get('index', 0):.3f} Indice R: {right.get('index', 0):.3f}")

dispositivo.stop() → Ninguno

Deja de transmitir y cierra la conexión en serie. Seguro para llamar varias veces. Arroja automáticamente cualquier marco amortiguado y finaliza el episodio de grabación actual si uno está activo.

Atributos

dispositivo.sesión_id str Ninguna identificación de sesión de plataforma asignada en el momento de conexión. T27 si no se creó sesión.

dispositivo.sesión_url str Ninguna URL del navegador completa para el panel de teleop en vivo. por ejemplo T28.

dispositivo.puerto str Ruta de puerto de serie en la que se conecta el dispositivo. Por ejemplo T29. En modo simulado: T30.

dispositivo.dispositivo_tipo str "linker_o6"

dispositivo.dispositivo_familia str "dexhand"

Clasificación

L1Robot

Clase L1Robot(Dispositivo base)

Conductor para el manipulador móvil VLAI L1. Comunica a través de ROS2 / CAN-FD. Flujos estados de articulación, posiciones de agarre, velocidad de base, altura del ascensor, porcentaje de batería y disponibilidad de cámara.

@classmethod L1Robot.connect ((puerto=Ninguno, falso=falso) → L1Robot

Conectar a un robot L1 y devolver una instancia de dispositivo conectado. En modo hardware, requiere que un entorno ROS2 y la interfaz L1 CAN-FD estén activos.

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

Retorna T33 Instancia de dispositivo conectado. Aumenta T34 si la interfaz ROS2 no está disponible y T35.

robot.stream() → Iterador[Frame de sensor]

Cada fotograma contiene la imagen completa del estado del robot.

Los rendimientos T36 Véase la estructura T37 a continuación.

robot.stop() → Ninguno

Deja de transmitir y cierra la conexión ROS2 / CAN-FD. Finaliza cualquier episodio de grabación activa.

SensorFrame.data estructura para L1Robot

El diccionario T38 para un marco L1Robot tiene la siguiente forma:

¿ Qué ? "articulaciones": { "brazo izquierdo": [j1, j2, j3, j4, j5, j6, j7], # grados, 7-DOF "brazo derecho": [j1, j2, j3, j4, j5, j6, j7], # grados, 7-DOF "izquierda_agarrador": 0,0, # 0,0 = completamente abierto, 1,0 = completamente cerrado "derecha_agarrador": 0,0, ¿Qué es eso? "base": { "vx": 0,0, # velocidad hacia adelante, m/s "vy": 0,0, # velocidad lateral, m/s "wz": 0,0, # velocidad de jaqueo, rad/s ¿Qué es eso? "elevación_alturas_mm": 1060, altura del torso en milímetros "batería_pct": 85.0, estado de carga, 0.0100.0 "Cámaras": "pés": Es cierto, es cierto si la cámara está activa "muñeca izquierda": Falso, "muñeca derecha": Falso, ¿Qué es eso? ¿ Qué ?

Clasificación

Frame de sensores

clase Frámara de sensores

Una sola lectura de tiempo marcada desde un dispositivo. Rendido por T39. Todos los atributos son sólo para lectura.

Atributos

marco.estampilla de tiempo float Unix epoch timestamp con resolución de microsecondas en el momento en que el marco fue capturado en el dispositivo.

marco.dispositivo_id str Identificador de dispositivo de plataforma. para LinkerBot O6: T40.

frame.device_type str SDK dispositivo tipo de cadena. para LinkerBot O6: T41. para VLAI L1: T42.

marco.datas dictan la carga útil del sensor estructurado. El esquema varía según el tipo de dispositivo ver la documentación por clase arriba.

frame.raw bytes bytes original de paquete de formato de cable como recibido del dispositivo. Archivado en forma literal en grabaciones de episodios.

Clasificación

Administrador de sesiones

clase Administrador de sesiones

Cliente de bajo nivel para la API de sesión de plataforma. Se utiliza internamente por clases de dispositivos, pero también está disponible para la integración directa (por ejemplo, crear sesiones desde un agente personalizado o un sistema de orquestación externo).

SessionManager.__init___(base_url=RC_PLATFORM_URL)

Instanciar el administrador de sesión. T43 por defecto a T44 pero se puede anotar a través de la variable de entorno T45.

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

mgr.create_session(dispositivo_tipo, dispositivo_id=Ninguno, hardware_serial=Ninguno) → dict

Crear una nueva sesión de teleoperación en la plataforma. devuelve todas las credenciales necesarias para comenzar a transmitir y abrir el panel del navegador.

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

Retorna T48 con llaves:

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.

Importar de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la gestión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la importación de la sesión de la sesión de la sesión de la sesión de la administración de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la sesión de la

mgr = Administrador de sesiones() sesión = mgr.create_session("linker_o6", hardware_serial="LBO6-001") imprimido(sesión["profunda_enlace"]) ¿Qué es esto?

mgr.get_session_info(sesión_id) → dict

Recupera los metadatos actuales para una sesión existente.

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

Retorna T52 Metadatos de sesión incluyendo el estado, el conteo de episodios, el estado de transmisión y el enlace profundo.

Integración directa

API de REST de la plataforma

Los puntos finales REST a continuación son la API HTTP subyacente utilizada por el SDK. Utilizalas para la integración directa cuando el SDK Python no es apropiado (por ejemplo, agentes no Python, sistemas integrados o orquestación en el lado del servidor).

Todos los puntos finales son relativos a T54. La autenticación utiliza la clave T55 o una API en el encabezado T56.

Sesiones de teleop

  • POST /api/teleop/sessions/create-sdk Crea una nueva sesión de SDK.
  • Obtenga metadatos de sesión, estado de transmisión y URL de WebSocket para una sesión existente.

L1 oleoducto

  • POST /api/l1/sessions/{id}/pipeline/start Iniciar una pipeline de procesamiento de datos para una sesión L1. Retorna un T58.
  • GET /api/l1/sessions/{id}/pipeline/status Revisa el estado de la tubería de procesamiento para una sesión.
  • GET /api/l1/pipeline/{pipeline_id} Obtenga detalles completos de la operación de la tubería por ID de tubería, incluido el estado por etapa y los artefactos de salida.
  • GET /api/l1/tiers Lista de configuraciones disponibles de niveles de procesamiento (estándar / de alta fidelidad / grado de investigación).

Configuración

Variables del medio ambiente

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.

Posición en el caparazón: T61 O colocar en un archivo T62 en la raíz del proyecto el SDK utiliza T63 si está instalado.

Hardware

Dispositivos con soporte

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

Se añaden dispositivos adicionales en cada versión. Compruebe la salida T67 para el hardware descubierto dinámicamente, o consulte la guía de hardware [LinkerBot O6] T95) para obtener instrucciones de configuración específicas del dispositivo.

** Nuevo en robótica?** Esta es una referencia técnica de API para integradores de SDK. Si estás aprendiendo los fundamentos de la robótica brazos, teleop, simulación, ROS 2 visita primero la [RCSV Robotics Academy]T96. Para la guía de instalación de 5 minutos, vea la [SDK Quickstart]T97).