Spécifications du Damiao AGV

Spécifications techniques complètes : système de pilotage, protocole UART/DBUS, mappage des canaux, indicateurs CLI de l'agent et détails d'intégration de la plateforme.

Spécifications de base

Paramètres du système d’entraînement, de communication et de contrôle

FournisseuseDamiao (Damiao)
Configuration du lecteur4 roues omnidirectionnelles (4WS4WD)
Type de roueRoues Mecanum ou omni
Axes de mouvementX (avant/arrière), Y (latéral), Z (lacet/rotation)
Interface de contrôleUART5 sur le contrôleur principal (broche PD2, RX)
Débit en bauds100000
Cadrage en série8 bits de données, parité paire, 2 bits d'arrêt (8E2)
ProtocoleTrame RC de style DBUS/SBUS, 18 octets par trame
Gamme de canauxch0–ch3 : 11 bits, valeurs 0–2047, centre 1024
Paramètre d'amplitude--amp par défaut 660, plage 250-900 (décalage par rapport au centre 1024)
Taux de contrôle30 Hz (configurable avec --control-hz)
Taux de télémétrie8 Hz (configurable avec --telemetry-hz)
Expiration du délai de commande300 ms (configurable avec --cmd-timeout-ms); Arrêts automatiques AGV
Sécurité d'arrêt3 trames DBUS en position centrale envoyées à la sortie de l'agent avant la fermeture série
Type de périphérique de plate-formemobile_base
Capacités de la plateforme["mobile_base", "agv", "telemetry"]
Agent de moduledami_agent.py
Principal de l'URL WebSocketws://localhost:8000 (défaut)
Modes de simulationOui (--mock); port série ignoré, pipeline WebSocket complet actif

Disposition du cadre DBUS

Structure de trame de 18 octets utilisée pour toutes les commandes de mouvement

Octets Contenu Remarques
0–5ch0, ch1, ch2, ch3 emballés (11 bits chacun)Emballage de bits Little-Endian ; 44 bits et 48 bits
5 (morceau élevé)s0 (bits [5:4]), s1 (bits [7:6])Changer d'état ; fixé à 1/1 (centre) pour AGV
6–15Champs de la souris et du clavierMis à zéro ; non analysé par le firmware AGV
16–17ch4 (11 bits)Fixé au centre (1024); non utilisé pour le mouvement AGV

Mappage canal-vitesse

Comment le micrologiciel AGV décode les canaux et comment l'agent code les commandes de vitesse

Canal Le micrologiciel décode comme L'agent encode à partir de Formule
ch0Lacet (rotation)vw (vitesse angulaire)ch0 = 1024 + (−vw) × amp
ch1InutiliséeFixé à 1024
ch2Latéral (Y)toich2 = 1024 + vy × amp
ch3En avant (X)vxch3 = 1024 + vx × amp
Le cadrage en série est essentiel. L'UART5 doit être configuré en 100 000 bauds, 8E2 (8 bits de données, parité paire, 2 bits d'arrêt). Une erreur courante consiste à ouvrir le port en tant que 8N1. Le micrologiciel AGV ignorera ou analysera mal les images au mauvais cadrage - utilisez pyserial.PARITY_EVEN et STOPBITS_TWO.

Référence CLI de l'agent

Tous les indicateurs pour dami_agent.py

Drapeau Défaut Description
--back-endws://localhost:8000URL de base de la plateforme WebSocket
--session(requis)ID de session Teleop (format : RC-XXXX-XXXX)
--identifiant-nœudnom d'hôteIdentifiant du nœud AGV dans la session
--port-série/dev/ttyUSB0Chemin du périphérique adaptateur USB vers TTL
--télémétrie-hz8.0Fréquence d'envoi de télémétrie à la plateforme
--contrôle-hz30.0Taux de sortie de trame DBUS (Hz)
--cmd-timeout-ms300Arrêt automatique si aucune commande n'est reçue dans cette fenêtre
--ampli660Amplitude du joystick ; Plage recommandée de 500 à 760
--inverser-xFAUXInverser la direction avant/arrière
--inverser-yFAUXInverser la direction gauche/droite
--inverser-zFAUXInverser le sens de rotation
--se moquerFAUXIgnorer le port série ; valider le pipeline de commandes uniquement

Intégration de la plateforme

Format d'enregistrement et de télémétrie WebSocket

Point de terminaison WebSocket/api/teleop/ws sur le backend de la plateforme Fearless
Rôle d'inscriptionrobot
Type d'appareilmobile_base
Capacités["mobile_base", "agv", "telemetry"]
Champs de télémétrievx_cmd, vy_cmd, vw_cmd (signe de vitesse actuelle) ; feedback objet avec état de connexion, amp, délai d'attente
Garder en viePing envoyé après 45 s de silence sur la plateforme ; AGV s'arrête automatiquement après l'expiration du délai cmd si la connexion est interrompue
Enregistrement de l'épisodeToutes les images de télémétrie archivées dans JSONL aux côtés du bras, de la caméra et des nœuds tactiles dans la même session

Composants du moteur Damiao

Actionneurs QDD utilisés dans la transmission AGV et les charges utiles du bras monté

Contexte : moteurs vs AGV. Damiao (达妙科技) fabrique à la fois la base mobile de l'AGV (cette page matérielle) et les composants du moteur QDD utilisés dans les bras de robot montés sur l'AGV. Les informations sur le moteur ci-dessous couvrent la série DM-J43xx-2EC utilisée dans les charges utiles OpenArm et DK1 intégrées à cet AGV. Référence moteur complète : Moteurs Wiki Damiao →
Modèle Couple maximal Vitesse à vide Rapport de démultiplication Joint typique
DM-J4310-2EC V1.1 ~10 Nm ~30 millions/min 10:1 Poignet et pince (J7, J8)
DM-J4340-2EC ~18 Nm ~15 millions/min 10:1 Coude et milieu du bras (J4, J5, J6)
DM-J4340p-2EC ~25 Nm ~12 millions/min 10:1 Base et épaule (J1, J2, J3)
Diamètre du stator43 mm (toutes les variantes)
Tension nominale24 VCC
CommunicationCAN 2.0 / CANFD
EncodeurDouble (côté moteur + côté sortie)
Modes de contrôleAVEC PVT, position, vitesse, couple
Baud nominal CAN1 Mbit/s
Bauds de données CAN FDJusqu'à 5 Mbit/s
Température de fonctionnement−20 °C à 80 °C
Les couples nominaux sont des valeurs maximales. Le couple continu représente généralement 40 à 60 % de la valeur nominale maximale. Sélection de la taille du moteur pour un service continu afin d'éviter un arrêt thermique pendant des opérations prolongées.
Guide de configuration → FAQ et communauté → Wiki du développeur →