Omnidirektionale mobile Basis
Damiao AGV-Spezifikationen
Vollständige technische Spezifikationen: Antriebssystem, UART/DBUS-Protokoll, Kanalzuordnung, Agent-CLI-Flags und Details zur Plattformintegration.
Kernspezifikationen
Antriebssystem, Kommunikation und Steuerungsparameter
| Verkäuferin | Damiao (Damiao) |
| Antriebskonfiguration | 4-Reihen-Omnidirektional (4WS4WD) |
| Radtyp | Mecanum- oder Omni-Räder |
| Bewegungsachsen | X (vorwärts/zurück), Y (seitlich), Z (Gieren/Rotation) |
| Steuerschnittstelle | UART5 am Hauptcontroller (Pin PD2, RX) |
| Baudrate | 100000 |
| Serielles Framing | 8 Datenbits, gerade Parität, 2 Stoppbits (8E2) |
| Protokoll | RC-Frame im DBUS/SBUS-Stil, 18 Byte pro Frame |
| Kanalbereich | ch0–ch3: 11 Bit, Werte 0–2047, Mitte 1024 |
| Amplitudenparameter | --amp Standard 660, Bereich 250–900 (Versatz von der Mitte 1024) |
| Kontrollrate | 30 Hz (konfigurierbar mit --control-hz) |
| Telemetrierate | 8 Hz (konfigurierbar mit --telemetry-hz) |
| Befehls-Timeout | 300 ms (konfigurierbar mit --cmd-timeout-ms); AGV stoppt automatisch |
| Abschaltsicherheit | 3 DBUS-Frames in der Mittelposition werden beim Beenden des Agenten vor dem seriellen Schließen gesendet |
| Plattformgerätetyp | mobile_base |
| Plattformfunktionen | ["mobile_base", "agv", "telemetry"] |
| Agentenmodul | dami_agent.py |
| Backend-WebSocket-URL | ws://localhost:8000 (Standard) |
| Mock-Modus | Und (--mock); Serieller Port übersprungen, vollständige WebSocket-Pipeline aktiv |
DBUS-Rahmenlayout
18-Byte-Rahmenstruktur, die für alle Bewegungsbefehle verwendet wird
| Bytes | Inhalt | Notizen |
|---|---|---|
| 0–5 | ch0, ch1, ch2, ch3 gepackt (jeweils 11 Bit) | Little-Endian-Bit-Packung; 44 Bit in 48 Bit |
| 5 (hohes Nibble) | s0 (Bits [5:4]), s1 (Bits [7:6]) | Zustände wechseln; für AGV auf 1/1 (Mitte) festgelegt |
| 6–15 | Maus- und Tastaturfelder | Auf Null gesetzt; Wird von der AGV-Firmware nicht analysiert |
| 16–17 | Kanal 4 (11 Bit) | In der Mitte fixiert (1024); Wird nicht für AGV-Bewegungen verwendet |
Kanal-zu-Geschwindigkeits-Mapping
Wie die AGV-Firmware Kanäle dekodiert und wie der Agent Geschwindigkeitsbefehle kodiert
| Kanal | Firmware dekodiert als | Agent kodiert von | Formel |
|---|---|---|---|
| ch0 | Gier (Rotation) | vw (Winkelgeschwindigkeit) | ch0 = 1024 + (−vw) × amp |
| ch1 | Unbenutzt | — | Festgelegt auf 1024 |
| ch2 | Seitlich (Y) | Von | ch2 = 1024 + vy × amp |
| ch3 | Vorwärts (X) | vx | ch3 = 1024 + vx × amp |
Serielles Framing ist entscheidend.
Der UART5 muss als 100.000 Baud, 8E2 (8 Datenbits, gerade Parität, 2 Stoppbits) konfiguriert sein. Ein häufiger Fehler besteht darin, den Port als 8N1 zu öffnen. Die AGV-Firmware ignoriert Frames bei falscher Frame-Verwendung stillschweigend oder weist sie falsch auf
pyserial.PARITY_EVEN Und STOPBITS_TWO.
Agent-CLI-Referenz
Alle Flags für dami_agent.py
| Flagge | Standard | Beschreibung |
|---|---|---|
| --backend | ws://localhost:8000 | Plattform-WebSocket-Basis-URL |
| --Sitzung | (erforderlich) | Teleop-Sitzungs-ID (Format: RC-XXXX-XXXX) |
| --node-id | Hostname | AGV-Knoten-ID in der Sitzung |
| --serial-port | /dev/ttyUSB0 | Gerätepfad des USB-zu-TTL-Adapters |
| --telemetry-hz | 8.0 | Häufigkeit, mit der Telemetriedaten an die Plattform gesendet werden |
| --control-hz | 30.0 | DBUS-Frame-Ausgaberate (Hz) |
| --cmd-timeout-ms | 300 | Automatischer Stopp, wenn innerhalb dieses Fensters kein Befehl empfangen wird |
| --Ampere | 660 | Joystick-Amplitude; 500–760 empfohlener Bereich |
| --invert-x | FALSCH | Vorwärts-/Rückwärtsrichtung umdrehen |
| --invert-y | FALSCH | Drehen Sie die Richtung nach links/rechts |
| --invert-z | FALSCH | Drehrichtung umkehren |
| --verspotten | FALSCH | Serielle Schnittstelle überspringen; Nur Befehlspipeline validieren |
Plattformintegration
WebSocket-Registrierungs- und Telemetrieformat
| WebSocket-Endpunkt | /api/teleop/ws auf dem Backend der Fearless-Plattform |
| Registrierungsrolle | robot |
| Gerätetyp | mobile_base |
| Fähigkeiten | ["mobile_base", "agv", "telemetry"] |
| Telemetriefelder | vx_cmd, vy_cmd, vw_cmd (aktuelles Geschwindigkeitszeichen); feedback Objekt mit Verbindungsstatus, Verstärker, Timeout |
| Keepalive | Ping wird nach 45 s Stille auf der Plattform gesendet; AGV stoppt automatisch nach dem CMD-Timeout, wenn die Verbindung unterbrochen wird |
| Episodenaufzeichnung | Alle in JSONL archivierten Telemetriebilder zusammen mit Arm-, Kamera- und Tastknoten in derselben Sitzung |
Damiao Motorkomponenten
QDD-Aktuatoren, die im AGV-Antriebsstrang und in montierten Armnutzlasten verwendet werden
Kontext: Motoren vs. AGV.
Damiao (达妙科技) stellt sowohl die mobile AGV-Basis (diese Hardware-Seite) als auch die QDD-Motorkomponenten her, die in auf dem AGV montierten Roboterarmen verwendet werden. Die folgenden Motorinformationen beziehen sich auf die DM-J43xx-2EC-Serie, die in OpenArm- und DK1-Nutzlasten verwendet wird, die in dieses AGV integriert sind. Vollständige Motorreferenz: Damiao Motors Wiki →
| Modell | Spitzendrehmoment | Leerlaufgeschwindigkeit | Übersetzungsverhältnis | Typisches Gelenk |
|---|---|---|---|---|
| DM-J4310-2EC V1.1 | ~10 Nm | ~30 U/min | 10:1 | Handgelenk & Greifer (J7, J8) |
| DM-J4340-2EC | ~18 Nm | ~15 U/min | 10:1 | Ellenbogen und Mittelarm (J4, J5, J6) |
| DM-J4340p-2EC | ~25 Nm | ~12 U/min | 10:1 | Basis und Schulter (J1, J2, J3) |
| Statordurchmesser | 43 mm (alle Varianten) |
| Nennspannung | 24 V DC |
| Kommunikation | CAN 2.0 / CAN FD |
| Encoder | Dual (motorseitig + ausgangsseitig) |
| Steuermodi | MIT PVT, Position, Geschwindigkeit, Drehmoment |
| CAN-Nominal-Baud | 1 Mbit/s |
| CAN-FD-Datenbaud | Bis zu 5 Mbit/s |
| Betriebstemperatur | −20 °C bis 80 °C |
Drehmomentangaben sind Spitzenwerte.
Das Dauerdrehmoment beträgt typischerweise 40–60 % der Spitzennennleistung. Auswahl der Motorgröße für Dauerbetrieb, um thermische Abschaltung bei Dauerbetrieb zu vermeiden.