Mavros: Kein Mapping für Distanzsensor

Erstellt am 9. Aug. 2018  ·  4Kommentare  ·  Quelle: mavlink/mavros

Hi,

Ich versuche, auf Daten eines Entfernungssensors (Leddar One Range Finder) zuzugreifen, der mit MAVROS die Höhe misst. Ich kann die Daten mit QGroundControl anzeigen (da mein Flugcontroller PX4 ist).

Auf der Drohne (mit installiertem MAVROS) habe ich folgende Befehle ausprobiert:
$ roscore
$ rosrun mavros mavros_node _fcu_url:=tcp://127.0.0.1:5760 _system_id:=2

Danach bekomme ich den gleichen Fehler wiederholt:
DS: no mapping for sensor id: 0, type: 1, orientation: 25

Ich kann die ID, den Typ und die Ausrichtung in QGC überprüfen, wodurch ich sicher bin, dass es sich um den Leddar One-Sensor handelt.
Ich habe Distance_sensor und Rangefinder aus der Blacklist in px4_pluginlists.yaml entfernt.
Ich habe auch versucht, die Distance_sensor-Informationen in der Datei px4_config.yaml zu ändern, hatte aber kein Glück (verschiedene Ausrichtungen ausprobiert: PITCH_270, NONE und 25).

Ich habe festgestellt, dass der Fehler von Zeile 205 in diesem Code generiert wird: distance_sensor.cpp, aber ich kann nicht herausfinden, was ihn verursacht.

Ich bin erst neu bei ROS, daher wäre jede Hilfe sehr dankbar.

PX4 question

Hilfreichster Kommentar

Nur zur Verdeutlichung musste ich "- Distance_sensor" aus der "px4_pluginlists.yaml" kommentieren, damit die LIDAR-Daten veröffentlicht werden.

Alle 4 Kommentare

Haben Sie die Konfiguration dafür auf px4_config.yaml überprüft? Wenn Sie die entsprechenden Parameter für den Zugriff auf die Daten nicht konfigurieren, können Sie die Daten nicht richtig abrufen. Sie müssen also der yaml-Datei eine geeignete Karte dafür hinzufügen (Sie haben dort bereits Beispiele). Gibt es auch einen Grund, die sys_id auf 2 zu ändern? Sie müssen rangfinder aus der schwarzen Liste entfernen, da diese nur APM-kompatibel ist.

Vielen Dank für die schnelle Antwort und das Hinzufügen relevanter Labels!

Können Sie etwas genauer sein oder mich auf den Bereich von px4_config.yaml hinweisen, der geändert werden muss? Der einzige Teil, den ich geändert habe, ist unter Abstandssensor: (Zeile 133 im Quellcode )
leddar1_pub:
id: 0
frame_id: "leddar1_laser"
orientation: PITCH_270 # RPY:{0.0, 270.0, 0.0} - downward-facing
field_of_view: 0.0 # XXX TODO
send_tf: true
sensor_position: {x: 0.0, y: 0.0, z: -0.1}
Und die anderen Sensoren habe ich ab id: 1

Ich habe die Anweisungen auf dieser Seite befolgt, da wir eine Intel Aero RTF-Drohne verwenden, die das Ändern von sys_id auf 2 beinhaltete.
Kein Problem, ich werde rangefinder wieder auf die schwarze Liste setzen.

Ich verstehe, dass ich vielleicht zu viel verlange. Wenn Sie irgendwelche Ressourcen kennen, die mir helfen würden, px4_config.yaml zu korrigieren, anstatt es erklären zu müssen, kann dies ausreichen.
Vielen Dank

Ich habe mein Problem gelöst. Ich habe eine Startdatei erstellt, die speziell in "px4_config.yaml" als config_yaml-Argument übergeben wurde. Dieser hat den Distanzsensor korrekt initialisiert und die Daten wie gewünscht zu einem ROS-Thema veröffentlicht.

Dieser Thread kann geschlossen werden.

Nur zur Verdeutlichung musste ich "- Distance_sensor" aus der "px4_pluginlists.yaml" kommentieren, damit die LIDAR-Daten veröffentlicht werden.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

Tutorgaming picture Tutorgaming  ·  4Kommentare

Changliu52 picture Changliu52  ·  6Kommentare

trishantroy picture trishantroy  ·  10Kommentare

TeixeiraRafael picture TeixeiraRafael  ·  4Kommentare

MasterRos picture MasterRos  ·  12Kommentare