Mavros: Verwenden von mavros zum Verbinden mit Pixracer über WLAN über udp

Erstellt am 11. Apr. 2018  ·  7Kommentare  ·  Quelle: mavlink/mavros

Problemdetails

Ich versuche, mit mavros eine Verbindung zu einer Pixracer-Einheit herzustellen. Zuvor habe ich einen Begleitcomputer verwendet, der über ein physisches serielles Kabel mit Pixhawk verbunden ist. Jetzt möchte ich eine WLAN-Verbindung verwenden, um über das ESP8266-Board direkt mit Pixracer zu kommunizieren. Ich habe das WLAN konfiguriert, das im Stationsmodus läuft und sich glücklich mit qGroundcontrol und meinem Router verbindet (also denke ich, dass der Pixracer / ESP8266 richtig funktioniert und eingerichtet ist), aber ich habe Schwierigkeiten, eine Verbindung über Mavros zur FCU herzustellen.

Die UDP-Adresse, die ich verwende, lautet: udp://:[email protected]:14540 - wobei 192.168.1.9 die IP-Adresse des Pixracers ist

Sieht dieses Format in Ordnung aus? Vielleicht muss ich auch noch einige Parameter einstellen? Ich habe SYS_COMPANION auf ESP8266 (921600 baud, 8N1) .

MAVROS-Version und -Plattform

Mavros: 0.22.0
ROS: Kinetisch
Ubuntu: 16.04

Autopilot-Typ und -Version

[ ] ArduPilot
[x] PX4

Version: 1.6.5

Knotenprotokolle

copy output of mavros_node. Usually console where you run roslaunch

Diagnose

header: 
  seq: 15
  stamp: 
    secs: 1523479866
    nsecs: 896584974
  frame_id: ''
status: 
  - 
    level: 1
    name: "UAV_1/mavros: FCU connection"
    message: "not connected"
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Received packets:"
        value: "0"
      - 
        key: "Dropped packets:"
        value: "0"
      - 
        key: "Buffer overruns:"
        value: "0"
      - 
        key: "Parse errors:"
        value: "0"
      - 
        key: "Rx sequence number:"
        value: "0"
      - 
        key: "Tx sequence number:"
        value: "141"
      - 
        key: "Rx total bytes:"
        value: "0"
      - 
        key: "Tx total bytes:"
        value: "36947"
      - 
        key: "Rx speed:"
        value: "0.000000"
      - 
        key: "Tx speed:"
        value: "9547.000000"
  - 
    level: 2
    name: "UAV_1/mavros: GPS"
    message: "No satellites"
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Satellites visible"
        value: "0"
      - 
        key: "Fix type"
        value: "0"
      - 
        key: "EPH (m)"
        value: "Unknown"
      - 
        key: "EPV (m)"
        value: "Unknown"
  - 
    level: 2
    name: "UAV_1/mavros: Heartbeat"
    message: "No events recorded."
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Heartbeats since startup"
        value: "0"
      - 
        key: "Frequency (Hz)"
        value: "0.000000"
      - 
        key: "Vehicle type"
        value: "Generic micro air vehicle"
      - 
        key: "Autopilot type"
        value: "Generic autopilot"
      - 
        key: "Mode"
        value: ''
      - 
        key: "System status"
        value: "Uninit"
  - 
    level: 0
    name: "UAV_1/mavros: System"
    message: "Normal"
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Sensor present"
        value: "0x00000000"
      - 
        key: "Sensor enabled"
        value: "0x00000000"
      - 
        key: "Sensor helth"
        value: "0x00000000"
      - 
        key: "CPU Load (%)"
        value: "0.0"
      - 
        key: "Drop rate (%)"
        value: "0.0"
      - 
        key: "Errors comm"
        value: "0"
      - 
        key: "Errors count #1"
        value: "0"
      - 
        key: "Errors count #2"
        value: "0"
      - 
        key: "Errors count #3"
        value: "0"
      - 
        key: "Errors count #4"
        value: "0"
  - 
    level: 2
    name: "UAV_1/mavros: Battery"
    message: "No data"
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Voltage"
        value: "-1.00"
      - 
        key: "Current"
        value: "0.0"
      - 
        key: "Remaining"
        value: "0.0"
  - 
    level: 2
    name: "UAV_1/mavros: Time Sync"
    message: "No events recorded."
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Timesyncs since startup"
        value: "0"
      - 
        key: "Frequency (Hz)"
        value: "0.000000"
      - 
        key: "Last dt (ms)"
        value: "0.000000"
      - 
        key: "Mean dt (ms)"
        value: "0.000000"
      - 
        key: "Last system time (s)"
        value: "0.000000000"
      - 
        key: "Time offset (s)"
        value: "0.000000000"
---

ID prüfen

ERROR. I got 0 addresses, but not your target 1:1
PX4 question

Hilfreichster Kommentar

Ich konnte mit dieser fcu_url-Syntax eine Verbindung zu den Standard-UDP-Portwerten herstellen. Danke! Ich dachte, ich würde das weiterverfolgen, nur für den Fall, dass noch jemand das Problem hat, QGC in Verbindung mit mavros zum Laufen zu bringen.

Ich konnte QGC und mavros zum Laufen bringen, indem ich die cport- und hport-Werte wie hier gezeigt änderte (ich wähle 14556 bzw. 14551), was die fcu_url: udp://:14551:@<ip address of esp device>:14556 machen würde, während die gcs_url beibehalten würde: udp-b://127.0.0.1:14555@14550 .

Alle 7 Kommentare

Welche Adresse verwenden Sie für QGC?

Ich verwende udp://:[email protected]:14550 (wobei 192.168.1.5 die IP meiner Bodenkontrollstation ist - folgte der in https://dev.px4.io/en/simulation/ros_interface.html dokumentierten Konvention, obwohl dies bezieht sich auf sitl).

Es ist erwähnenswert, dass sich der Pixracer beim Start automatisch mit QGroundControl verbindet (außerhalb von mavros) - könnte hier ein Konflikt vorliegen?

Sehr wahrscheinlich. Ich bin mir nicht sicher, ob die ESP-Firmware dieser Spezifikation entspricht. Probieren Sie (ohne QGC) den Standardport aus, zB udp://@192.168.1.5 oder sogar einfach udp://@ .

Ich kann mich immer noch nicht mit diesen Adressen für die Bodenkontrollstation verbinden. Ich denke, dies erfordert möglicherweise einige Updates der ESP-Firmware, aber ich habe die Codebasis noch nicht herausgefunden. Ich werde hier aktualisieren, wenn es damit Erfolg hat.

@jannsta1 aktualisiert?

Ich habe dies gerade noch einmal versucht und es geschafft, eine Verbindung herzustellen, indem ich die UDP-Portwerte so eingestellt habe, dass sie den Standardwerten der Parameter WIFI_UDP_CPORT (14555) und WIFI_UDP_HPORT (14550) (für das ESP-Modul) entsprechen. So ist meine fcu_url; udp://:14550@<ip address of esp device>:14555 .

Ich habe noch keinen Flugtest gemacht und ein Nachteil ist, dass dies mit QGC nicht funktioniert, aber ich bin mehr als glücklich, das Problem zu schließen. Vielen Dank für die Ratschläge zu den UDP-Adressen, es war eine große Hilfe zu wissen, in welchem ​​​​Bereich man suchen sollte.

Ich konnte mit dieser fcu_url-Syntax eine Verbindung zu den Standard-UDP-Portwerten herstellen. Danke! Ich dachte, ich würde das weiterverfolgen, nur für den Fall, dass noch jemand das Problem hat, QGC in Verbindung mit mavros zum Laufen zu bringen.

Ich konnte QGC und mavros zum Laufen bringen, indem ich die cport- und hport-Werte wie hier gezeigt änderte (ich wähle 14556 bzw. 14551), was die fcu_url: udp://:14551:@<ip address of esp device>:14556 machen würde, während die gcs_url beibehalten würde: udp-b://127.0.0.1:14555@14550 .

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen