Especificações do AGV Damiao

Especificações técnicas completas: sistema de acionamento, protocolo UART/DBUS, mapeamento de canais, flags CLI do agente e detalhes de integração da plataforma.

Especificações Principais

Parâmetros de sistema de acionamento, comunicação e controle

FornecedorDamiao (达妙)
Configuração de Drive4 rodas omnidirecionais (4WS4WD)
Tipo de RodaRodas Mecanum ou omni
Eixos de MovimentoX (frente/trás), Y (lateral), Z (yaw/rotação)
Interface de ControleUART5 no controlador principal (pino PD2, RX)
Carga de transmissão100000
Estrutura Serial8 bits de dados, paridade par, 2 bits de parada (8E2)
ProtocoloQuadro RC estilo DBUS/SBUS, 18 bytes por quadro
Faixa de Canalch0–ch3: 11 bits, valores de 0–2047, centro 1024
Parâmetro de Amplitude--amp padrão 660, faixa 250–900 (deslocamento do centro 1024)
Taxa de Controle30 Hz (configurável com --control-hz)
Taxa de Telemetria8 Hz (configurável com --telemetry-hz)
Tempo Limite de Comando300 ms (configurável com --cmd-timeout-ms); AGV para automaticamente
Segurança de Desligamento3 quadros DBUS de posição central enviados na saída do agente antes do fechamento serial
Tipo de Dispositivo da Plataformamobile_base
Capacidades da Plataforma["mobile_base", "agv", "telemetry"]
Módulo do Agentedami_agent.py
URL WebSocket o back-endws://localhost:8000 (padrão)
Modo de SimulaçãoSim (--mock); porta serial ignorada, pipeline WebSocket completo ativo

Layout do Quadro DBUS

Estrutura de quadro de 18 bytes usada para todos os comandos de movimento

Bytes Conteúdo Notas
0–5ch0, ch1, ch2, ch3 empacotados (11 bits cada)Empacotamento de bits em little-endian; 44 bits em 48 bits
5 (mordiscar alto)s0 (bits [5:4]), s1 (bits [7:6])Estados de interruptor; fixo em 1/1 (centro) para AGV
6–15Campos de mouse e tecladoZeros; não analisado pelo firmware do AGV
16–17capítulo 4 (11 bits)Fixo no centro (1024); não usado para movimento do AGV

Mapeamento de Canal para Velocidade

Como o firmware do AGV decodifica canais e como o agente codifica comandos de velocidade

Canal Decodificação de firmware Como Agente de codificação Fórmula
ch0Yaw (rotação)vw (velocidade angular)ch0 = 1024 + (−vw) × amp
ch1Não utilizadoFixo em 1024
ch2Lateral (Y)vych2 = 1024 + vy × amp
ch3Para frente (X)vxch3 = 1024 + vx × amp
A formatação serial é crítica. O UART5 deve ser configurado como 100000 baud, 8E2 (8 bits de dados, paridade par, 2 bits de parada). Um erro comum é abrir a porta como 8N1. O firmware do AGV irá ignorar silenciosamente ou interpretar incorretamente quadros com a formatação errada — use pyserial.PARITY_EVEN e STOPBITS_TWO.

Referência do CLI do Agente

Todas as flags para dami_agent.py

Flag Padrão Descrição
--backendws://localhost:8000URL base do WebSocket da plataforma
--session(obrigatório)ID da sessão de Teleop (formato: RC-XXXX-XXXX)
--node-idnome do hostIdentificador do nó AGV na sessão
--serial-port/dev/ttyUSB0Caminho do dispositivo adaptador USB-para-TTL
--telemetry-hz8.0Frequência para enviar telemetria para a plataforma
--control-hz30.0Taxa de saída de quadro DBUS (Hz)
--cmd-timeout-ms300Parar automaticamente se nenhum comando for recebido dentro desta janela
--amp660Amplitude do joystick; faixa recomendada de 500–760
--invert-xfalsoInverter direção para frente/trás
--inversor-yfalsoInverter direção esquerda/direita
--inversor-zfalsoInverter direção de rotação
--simularfalsoPular porta serial; validar apenas o pipeline de comando

Integração de Plataforma

Registro de WebSocket e formato de telemetria

Endpoint do WebSocket/api/teleop/ws no backend da Plataforma Fearless
Papel de Registrorobot
Tipo de dispositivomobile_base
Capacidades["mobile_base", "agv", "telemetry"]
Campos de Telemetriavx_cmd, vy_cmd, vw_cmd (sinal de velocidade atual); feedback objeto com estado de conexão, amp, tempo limite
Manter ativoPing enviado após 45 s de silêncio da plataforma; AGV para automaticamente após o tempo limite do cmd se a conexão cair
Gravação de EpisódioTodos os quadros de telemetria arquivados em JSONL junto com nós de braço, câmera e tátil na mesma sessão

Componentes do Motor Damiao

Atuadores QDD usados no trem de força do AGV e cargas úteis de braço montadas

Contexto: motores vs. o AGV. Damiao (达妙科技) fabrica tanto a base móvel AGV (esta página de hardware) quanto os componentes do motor QDD usados em braços robóticos montados no AGV. As informações do motor abaixo cobrem a série DM-J43xx-2EC usada em cargas úteis OpenArm e DK1 integradas a este AGV. Referência completa do motor: Wiki dos Motores Damiao →
Modelo Pico de Torque Velocidade sem Carga Relação de Transmissão Placa Típica
DM-J4310-2EC V1.1 ~10 Nm ~30 rpm 10:1 Pulso e garra (J7, J8)
DM-J4340-2EC ~18 Nm ~15 rpm 10:1 Cotovelo e meio do braço (J4, J5, J6)
DM-J4340p-2EC ~25 Nm ~12 rpm 10:1 Base e ombro (J1, J2, J3)
Diâmetro do Estator43 mm (todas as variantes)
Tensão Nominal24 V DC
ComunicaçãoCAN 2.0 / CAN FD
EncoderDuplo (lado do motor + lado de saída)
Modos de ControleMIT PVT, posição, velocidade, torque
Taxa de transmissão nominal CAN1 Mbit/s
Transmissão de dados CAN FDAté 5 Mbit/s
Temperatura de Operação−20°C a 80°C
As classificações de torque são valores de pico. O torque contínuo é tipicamente 40–60% da classificação de pico. Selecione o tamanho do motor para serviço contínuo para evitar desligamento térmico durante operações sustentadas.
Guia de Configuração → FAQ e Comunidade → Wiki do desenvolvedor →