Mavros: Pas de cartographie pour le capteur de distance

Créé le 9 août 2018  ·  4Commentaires  ·  Source: mavlink/mavros

Salut,

J'essaie d'accéder aux données d'un capteur de distance (Leddar One Range Finder) mesurant la hauteur à l'aide de MAVROS. Je peux afficher les données à l'aide de QGroundControl (car mon contrôleur de vol est le PX4).

Sur le drone (avec MAVROS installé), j'ai essayé les commandes suivantes :
$ roscore
$ rosrun mavros mavros_node _fcu_url:=tcp://127.0.0.1:5760 _system_id:=2

Après cela, j'obtiens la même erreur répétée:
DS: no mapping for sensor id: 0, type: 1, orientation: 25

Je suis en mesure de vérifier l'ID, le type et l'orientation dans QGC, ce qui m'assure qu'il s'agit du capteur Leddar One.
J'ai supprimé distance_sensor et télémètre de la liste noire dans px4_pluginlists.yaml.
J'ai également essayé de changer les informations distance_sensor dans le fichier px4_config.yaml mais je n'ai pas eu de chance (j'ai essayé différentes orientations : PITCH_270, NONE et 25).

J'ai trouvé que l'erreur est générée à partir de la ligne 205 de ce code : distance_sensor.cpp mais je ne peux pas comprendre ce qui en est la cause.

Je ne suis que nouveau sur ROS, donc toute aide serait grandement appréciée.

PX4 question

Commentaire le plus utile

Juste pour clarifier, j'ai dû commenter "- distance_sensor" du "px4_pluginlists.yaml" pour que les données lidar soient publiées.

Tous les 4 commentaires

Avez-vous vérifié la configuration sur le px4_config.yaml ? Si vous ne configurez pas les paramètres respectifs pour accéder aux données, vous ne pourrez pas obtenir les données correctement. Vous devez donc ajouter une carte appropriée pour cela sur le fichier yaml (vous y avez déjà des exemples). De plus, une raison pour changer le sys_id en 2 ? Vous n'avez pas non plus besoin de supprimer rangfinder de la liste noire car c'est uniquement compatible APM.

Merci pour la réponse rapide et pour l'ajout d'étiquettes pertinentes !

Pouvez-vous être un peu plus précis ou m'indiquer la zone de px4_config.yaml qui doit être modifiée ? La seule partie que j'ai changé est sous le capteur de distance : (ligne 133 dans le code source )
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}
Et j'ai supprimé les autres capteurs à partir de id: 1

J'ai suivi les instructions de cette page car nous utilisons un drone Intel Aero RTF, qui comprenait le changement de sys_id en 2.
Pas de problème, je rajouterai rangefinder à la liste noire.

Je comprends que je demande peut-être trop. S'il existe des ressources que vous connaissez qui pourraient m'aider à corriger px4_config.yaml plutôt que de devoir l'expliquer, cela peut suffire.
Merci

J'ai résolu mon problème. J'ai créé un fichier de lancement qui a spécifiquement passé dans "px4_config.yaml" comme argument config_yaml. Ce capteur de distance initialisé correctement et a publié les données dans un sujet ROS comme vous le souhaitez.

Ce fil est peut-être fermé.

Juste pour clarifier, j'ai dû commenter "- distance_sensor" du "px4_pluginlists.yaml" pour que les données lidar soient publiées.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

SubMishMar picture SubMishMar  ·  5Commentaires

lucaspenna00 picture lucaspenna00  ·  7Commentaires

watakandai picture watakandai  ·  8Commentaires

zhahaoyu picture zhahaoyu  ·  12Commentaires

Phadadev picture Phadadev  ·  4Commentaires