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
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?
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.
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.