Base mobile omnidirectionnelle
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
| Fournisseuse | Damiao (Damiao) |
| Configuration du lecteur | 4 roues omnidirectionnelles (4WS4WD) |
| Type de roue | Roues Mecanum ou omni |
| Axes de mouvement | X (avant/arrière), Y (latéral), Z (lacet/rotation) |
| Interface de contrôle | UART5 sur le contrôleur principal (broche PD2, RX) |
| Débit en bauds | 100000 |
| Cadrage en série | 8 bits de données, parité paire, 2 bits d'arrêt (8E2) |
| Protocole | Trame RC de style DBUS/SBUS, 18 octets par trame |
| Gamme de canaux | ch0–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ôle | 30 Hz (configurable avec --control-hz) |
| Taux de télémétrie | 8 Hz (configurable avec --telemetry-hz) |
| Expiration du délai de commande | 300 ms (configurable avec --cmd-timeout-ms); Arrêts automatiques AGV |
| Sécurité d'arrêt | 3 trames DBUS en position centrale envoyées à la sortie de l'agent avant la fermeture série |
| Type de périphérique de plate-forme | mobile_base |
| Capacités de la plateforme | ["mobile_base", "agv", "telemetry"] |
| Agent de module | dami_agent.py |
| Principal de l'URL WebSocket | ws://localhost:8000 (défaut) |
| Modes de simulation | Oui (--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–5 | ch0, 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–15 | Champs de la souris et du clavier | Mis à zéro ; non analysé par le firmware AGV |
| 16–17 | ch4 (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 |
|---|---|---|---|
| ch0 | Lacet (rotation) | vw (vitesse angulaire) | ch0 = 1024 + (−vw) × amp |
| ch1 | Inutilisée | — | Fixé à 1024 |
| ch2 | Latéral (Y) | toi | ch2 = 1024 + vy × amp |
| ch3 | En avant (X) | vx | ch3 = 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-end | ws://localhost:8000 | URL de base de la plateforme WebSocket |
| --session | (requis) | ID de session Teleop (format : RC-XXXX-XXXX) |
| --identifiant-nœud | nom d'hôte | Identifiant du nœud AGV dans la session |
| --port-série | /dev/ttyUSB0 | Chemin du périphérique adaptateur USB vers TTL |
| --télémétrie-hz | 8.0 | Fréquence d'envoi de télémétrie à la plateforme |
| --contrôle-hz | 30.0 | Taux de sortie de trame DBUS (Hz) |
| --cmd-timeout-ms | 300 | Arrêt automatique si aucune commande n'est reçue dans cette fenêtre |
| --ampli | 660 | Amplitude du joystick ; Plage recommandée de 500 à 760 |
| --inverser-x | FAUX | Inverser la direction avant/arrière |
| --inverser-y | FAUX | Inverser la direction gauche/droite |
| --inverser-z | FAUX | Inverser le sens de rotation |
| --se moquer | FAUX | Ignorer 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'inscription | robot |
| Type d'appareil | mobile_base |
| Capacités | ["mobile_base", "agv", "telemetry"] |
| Champs de télémétrie | vx_cmd, vy_cmd, vw_cmd (signe de vitesse actuelle) ; feedback objet avec état de connexion, amp, délai d'attente |
| Garder en vie | Ping 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'épisode | Toutes 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 stator | 43 mm (toutes les variantes) |
| Tension nominale | 24 VCC |
| Communication | CAN 2.0 / CANFD |
| Encodeur | Double (côté moteur + côté sortie) |
| Modes de contrôle | AVEC PVT, position, vitesse, couple |
| Baud nominal CAN | 1 Mbit/s |
| Bauds de données CAN FD | Jusqu'à 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.