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

ProveedorDamiao (达妙)
Configuración de conducción4 ruedas omnidireccionales (4WS4WD)
Tipo de ruedaRuedas Mecanum u omnidireccionales
Ejes de movimientoX (adelante/atrás), Y (lateral), Z (guiñada/rotación)
Interfaz de controlUART5 en el controlador principal (pin PD2, RX)
Tasa de baudios100000
Enmarcado en serie8 bits de datos, paridad par, 2 bits de parada (8E2)
ProtocoloMarco RC estilo DBUS/SBUS, 18 bytes por marco
Rango de canalch0–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 control30 Hz (configurable --control-hz)
Tasa de telemetría8 Hz (configurable --telemetry-hz)
Tiempo de espera de comando300 ms (configurable --cmd-timeout-ms); el AGV se detiene automáticamente
Seguridad de apagado3 marcos DBUS en posición central enviados al salir del agente antes del cierre en serie
Tipo de dispositivo de plataformamobile_base
Capacidades de la plataforma["mobile_base", "agv", "telemetry"]
Módulo de agentedami_agent.py
URL de WebSocket de backendws://localhost:8000 (predeterminado)
Modo de simulaciónSí (--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–5ch0, 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–15Campos de ratón y tecladoCero; no analizado por el firmware de AGV
16–17canal 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
ch0Yaw (rotación)vw (velocidad angular)ch0 = 1024 + (−vw) × amp
ch1No utilizadoFijo en 1024
ch2Lateral (Y)vych2 = 1024 + vy × amp
ch3Adelante (X)vxch3 = 1024 + vx × amp
El formato serial es crítico. El UART5 debe configurarse a 100000 baudios, 8E2 (8 bits de datos, paridad par, 2 bits de parada). Un error común es abrir el puerto como 8N1. El firmware del AGV ignorará o interpretará incorrectamente los tramas con el formato incorrecto — use pyserial.PARITY_EVEN y STOPBITS_TWO.

Referencia de CLI del Agente

Todas las banderas para dami_agent.py

Bandera Predeterminado Descripción
--backendws://localhost:8000URL base de WebSocket de plataforma
--session(requerido)ID de sesión de Teleop (formato: RC-XXXX-XXXX)
--node-idnombre de hostidentificador de nodo AGV en la sesión
--serial-port/dev/ttyUSB0ruta del dispositivo adaptador USB-a-TTL
--telemetry-hz8.0Frecuencia para enviar telemetría a la plataforma
--control-hz30.0tasa de salida de tramas DBUS (Hz)
--cmd-timeout-ms300Auto-detener si no se recibe ningún comando dentro de esta ventana
--amp660Amplitud del joystick; rango recomendado de 500 a 760
--invert-xFALSOVoltear dirección hacia adelante/atrás
--invertir-yFALSOVoltear dirección izquierda/derecha
--invertir-zFALSOVoltear dirección de rotación
--simularFALSOOmitir 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 Registrorobot
Tipo de Dispositivomobile_base
Capacidades["mobile_base", "agv", "telemetry"]
Campos de Telemetríavx_cmd, vy_cmd, vw_cmd (signo de velocidad actual); feedback objeto con estado de conexión, amp, tiempo de espera
Mantenimiento de conexiónPing 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 episodioTodos 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

Contexto: motores vs. el AGV. Damiao (达妙科技) fabrica tanto la base móvil AGV (esta página de hardware) como los componentes del motor QDD utilizados en brazos robóticos montados en el AGV. La información del motor a continuación cubre la serie DM-J43xx-2EC utilizada en cargas útiles OpenArm y DK1 integradas con este AGV. Referencia completa del motor: Wiki Motores Damiao →
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 estator43 mm (todas las variantes)
Voltaje nominal24 VCC
ComunicaciónCAN 2.0 / CAN FD
CodificadorDoble (lado del motor + lado de salida)
Modos de ControlMIT PVT, posición, velocidad, par
Baud nominal de CAN1 Mbit/s
Baud de datos de CAN FDHasta 5 Mbit/s
Temperatura de funcionamiento−20°C a 80°C
Las calificaciones de par son valores máximos. El par continuo es típicamente del 40–60% de la calificación máxima. Seleccione el tamaño del motor para servicio continuo para evitar el apagado térmico durante operaciones sostenidas.
Guía de configuración → Preguntas frecuentes y comunidad → Wiki del desarrollador →