Base Móvel Omnidirecional
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
| Fornecedor | Damiao (达妙) |
| Configuração de Drive | 4 rodas omnidirecionais (4WS4WD) |
| Tipo de Roda | Rodas Mecanum ou omni |
| Eixos de Movimento | X (frente/trás), Y (lateral), Z (yaw/rotação) |
| Interface de Controle | UART5 no controlador principal (pino PD2, RX) |
| Carga de transmissão | 100000 |
| Estrutura Serial | 8 bits de dados, paridade par, 2 bits de parada (8E2) |
| Protocolo | Quadro RC estilo DBUS/SBUS, 18 bytes por quadro |
| Faixa de Canal | ch0–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 Controle | 30 Hz (configurável com --control-hz) |
| Taxa de Telemetria | 8 Hz (configurável com --telemetry-hz) |
| Tempo Limite de Comando | 300 ms (configurável com --cmd-timeout-ms); AGV para automaticamente |
| Segurança de Desligamento | 3 quadros DBUS de posição central enviados na saída do agente antes do fechamento serial |
| Tipo de Dispositivo da Plataforma | mobile_base |
| Capacidades da Plataforma | ["mobile_base", "agv", "telemetry"] |
| Módulo do Agente | dami_agent.py |
| URL WebSocket o back-end | ws://localhost:8000 (padrão) |
| Modo de Simulação | Sim (--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–5 | ch0, 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–15 | Campos de mouse e teclado | Zeros; não analisado pelo firmware do AGV |
| 16–17 | capí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 |
|---|---|---|---|
| ch0 | Yaw (rotação) | vw (velocidade angular) | ch0 = 1024 + (−vw) × amp |
| ch1 | Não utilizado | — | Fixo em 1024 |
| ch2 | Lateral (Y) | vy | ch2 = 1024 + vy × amp |
| ch3 | Para frente (X) | vx | ch3 = 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 |
|---|---|---|
| --backend | ws://localhost:8000 | URL base do WebSocket da plataforma |
| --session | (obrigatório) | ID da sessão de Teleop (formato: RC-XXXX-XXXX) |
| --node-id | nome do host | Identificador do nó AGV na sessão |
| --serial-port | /dev/ttyUSB0 | Caminho do dispositivo adaptador USB-para-TTL |
| --telemetry-hz | 8.0 | Frequência para enviar telemetria para a plataforma |
| --control-hz | 30.0 | Taxa de saída de quadro DBUS (Hz) |
| --cmd-timeout-ms | 300 | Parar automaticamente se nenhum comando for recebido dentro desta janela |
| --amp | 660 | Amplitude do joystick; faixa recomendada de 500–760 |
| --invert-x | falso | Inverter direção para frente/trás |
| --inversor-y | falso | Inverter direção esquerda/direita |
| --inversor-z | falso | Inverter direção de rotação |
| --simular | falso | Pular 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 Registro | robot |
| Tipo de dispositivo | mobile_base |
| Capacidades | ["mobile_base", "agv", "telemetry"] |
| Campos de Telemetria | vx_cmd, vy_cmd, vw_cmd (sinal de velocidade atual); feedback objeto com estado de conexão, amp, tempo limite |
| Manter ativo | Ping 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ódio | Todos 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 Estator | 43 mm (todas as variantes) |
| Tensão Nominal | 24 V DC |
| Comunicação | CAN 2.0 / CAN FD |
| Encoder | Duplo (lado do motor + lado de saída) |
| Modos de Controle | MIT PVT, posição, velocidade, torque |
| Taxa de transmissão nominal CAN | 1 Mbit/s |
| Transmissão de dados CAN FD | Até 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.