web-dev-qa-db-fra.com

ROS RVIZ: comment visualiser un nuage de points qui n'a pas de transformation de trame fixe

Je suivais la documentation officielle de ROS sur la façon de publier un nuage de points et j'ai réussi à exécuter le code. Maintenant, j'essaie de visualiser le nuage de points à l'aide de ROS RVIZ, mais je reçois une erreur.

Transformer [sender = unknown_publisher] Pour le cadre [single_frame]: le cadre fixe [map] n'existe pas

enter image description here

Comment puis-je surmonter cette erreur? Il dit que le cadre n'existe pas. Existe-t-il une solution de contournement ou un paramètre de configuration dans RVIZ pour contourner l'erreur? Ou comment puis-je mettre à jour mon code c ++ pour mettre à jour l'objet cadre? Pouvez-vous me fournir un exemple de code?

4
Amal Gunatilake

rviz manque la transformation de son Fixed Frame donné (c'est-à-dire map) vers le cadre de vos données de nuage de points (c'est-à-dire base_link). Si vous travaillez avec ROS au moyen de données de mesure, de cinématique et de dynamique, je recommande fortement les tf-tutorials à ce sujet.

Cependant, il existe deux options pour résoudre votre problème:

1. Vous pouvez créer un éditeur qui indique à rviz comment transformer le cadre base_link En cadre map en tapant la commande suivante dans votre ligne de commande:

rosrun tf static_transform_publisher 0 0 0 0 0 0 map base_link 50

Cette commande, explication ici , publie les informations que les deux cadres coin, à 50 Hz.

2. Une autre option consiste à dire à rviz que son cadre fixe devrait être base_link. Il suffit donc de modifier map en base_link Comme proposé dans l'image ci-dessous.

enter image description here

7
Tik0

Pour ajouter plus à la base de connaissances. Après avoir exécuté static_transform_publisher comme expliqué par @ Tik0, l'erreur de transformation a disparu. Cependant, je ne pouvais toujours pas voir le nuage de points dans le visualiseur. Ensuite, après avoir fait quelques essais supplémentaires, j'ai remarqué que la taille des points a été fixée à 0,01 par défaut. Par conséquent, les points étaient trop petits pour être visualisés. Après avoir augmenté la taille des points dans les paramètres du nuage de points rviz, j'ai pu le visualiser.

1
Amal Gunatilake