Especificaciones del AGV Damiao
Especificaciones técnicas completas: sistema de transmisión, protocolo UART/DBUS, mapeo de canales, banderas CLI de agente y detalles de integración de plataforma.
Especificaciones básicas
Sistema de conducción, comunicación y parámetros de control
| Proveedor | Damiao (达妙) |
| Configuración de conducción | 4 ruedas omnidireccionales (4WS4WD) |
| Tipo de rueda | Ruedas Mecanum u omnidireccionales |
| Ejes de movimiento | X (adelante/atrás), Y (lateral), Z (guiñada/rotación) |
| Interfaz de control | UART5 en el controlador principal (pin PD2, RX) |
| Tasa de baudios | 100000 |
| Enmarcado en serie | 8 bits de datos, paridad par, 2 bits de parada (8E2) |
| Protocolo | Marco RC estilo DBUS/SBUS, 18 bytes por marco |
| Rango de canal | ch0–ch3: 11 bits, valores 0–2047, centro 1024 |
| Parámetro de amplitud | --amp predeterminado 660, rango 250–900 (desplazamiento desde el centro 1024) |
| Tasa de control | 30 Hz (configurable --control-hz) |
| Tasa de telemetría | 8 Hz (configurable --telemetry-hz) |
| Tiempo de espera de comando | 300 ms (configurable --cmd-timeout-ms); el AGV se detiene automáticamente |
| Seguridad de apagado | 3 marcos DBUS en posición central enviados al salir del agente antes del cierre en serie |
| Tipo de dispositivo de plataforma | mobile_base |
| Capacidades de la plataforma | ["mobile_base", "agv", "telemetry"] |
| Módulo de agente | dami_agent.py |
| URL de WebSocket de backend | ws://localhost:8000 (predeterminado) |
| Modo de simulación | Sí (--mock); puerto serie omitido, canal WebSocket completo activo |
Diseño de marco DBUS
Estructura de marco de 18 bytes utilizada para todos los comandos de movimiento
| Bytes | Contenido | Notas |
|---|---|---|
| 0–5 | ch0, ch1, ch2, ch3 empaquetados (11 bits cada uno) | Empaquetado de bits en orden little-endian; 44 bits en 48 bits |
| 5 (mordisquear alto) | s0 (bits [5:4]), s1 (bits [7:6]) | Estados de interruptores; fijado en 1/1 (centro) para AGV |
| 6–15 | Campos de ratón y teclado | Cero; no analizado por el firmware de AGV |
| 16–17 | canal 4 (11 bits) | Fijado en el centro (1024); no utilizado para el movimiento de AGV |
Mapeo de canal a velocidad
Cómo el firmware de AGV decodifica canales y cómo el agente codifica comandos de velocidad
| Canal | El firmware se decodifica como | Agente codifica desde | Fórmula |
|---|---|---|---|
| ch0 | Yaw (rotación) | vw (velocidad angular) | ch0 = 1024 + (−vw) × amp |
| ch1 | No utilizado | — | Fijo en 1024 |
| ch2 | Lateral (Y) | vy | ch2 = 1024 + vy × amp |
| ch3 | Adelante (X) | vx | ch3 = 1024 + vx × amp |
pyserial.PARITY_EVEN y STOPBITS_TWO.
Referencia de CLI del Agente
Todas las banderas para dami_agent.py
| Bandera | Predeterminado | Descripción |
|---|---|---|
| --backend | ws://localhost:8000 | URL base de WebSocket de plataforma |
| --session | (requerido) | ID de sesión de Teleop (formato: RC-XXXX-XXXX) |
| --node-id | nombre de host | identificador de nodo AGV en la sesión |
| --serial-port | /dev/ttyUSB0 | ruta del dispositivo adaptador USB-a-TTL |
| --telemetry-hz | 8.0 | Frecuencia para enviar telemetría a la plataforma |
| --control-hz | 30.0 | tasa de salida de tramas DBUS (Hz) |
| --cmd-timeout-ms | 300 | Auto-detener si no se recibe ningún comando dentro de esta ventana |
| --amp | 660 | Amplitud del joystick; rango recomendado de 500 a 760 |
| --invert-x | FALSO | Voltear dirección hacia adelante/atrás |
| --invertir-y | FALSO | Voltear dirección izquierda/derecha |
| --invertir-z | FALSO | Voltear dirección de rotación |
| --simular | FALSO | Omitir puerto serie; validar solo la tubería de comandos |
Integración de Plataforma
Registro de WebSocket y formato de telemetría
| Punto final de WebSocket | /api/teleop/ws en el backend de la Plataforma Fearless |
| Rol de Registro | robot |
| Tipo de Dispositivo | mobile_base |
| Capacidades | ["mobile_base", "agv", "telemetry"] |
| Campos de Telemetría | vx_cmd, vy_cmd, vw_cmd (signo de velocidad actual); feedback objeto con estado de conexión, amp, tiempo de espera |
| Mantenimiento de conexión | Ping enviado después de 45 s de silencio de la plataforma; AGV se detiene automáticamente después del tiempo de espera de cmd si se pierde la conexión |
| Grabación de episodio | Todos los marcos de telemetría archivados en JSONL junto con nodos de brazo, cámara y táctiles en la misma sesión |
Componentes del motor Damiao
Actuadores QDD utilizados en el tren motriz del AGV y cargas útiles de brazo montadas
| Modelo | Par máximo | Velocidad sin carga | Relación de engranaje | Junta típica |
|---|---|---|---|---|
| DM-J4310-2EC V1.1 | ~10 Nm | ~30 rpm | 10:1 | Muñeca y pinza (J7, J8) |
| DM-J4340-2EC | ~18 Nm | ~15 rpm | 10:1 | Codo y medio brazo (J4, J5, J6) |
| DM-J4340p-2EC | ~25 Nm | ~12 rpm | 10:1 | Base y hombro (J1, J2, J3) |
| Diámetro del estator | 43 mm (todas las variantes) |
| Voltaje nominal | 24 VCC |
| Comunicación | CAN 2.0 / CAN FD |
| Codificador | Doble (lado del motor + lado de salida) |
| Modos de Control | MIT PVT, posición, velocidad, par |
| Baud nominal de CAN | 1 Mbit/s |
| Baud de datos de CAN FD | Hasta 5 Mbit/s |
| Temperatura de funcionamiento | −20°C a 80°C |







