我一直在关注ROS官方文档中有关publish a point cloud的信息,并且能够成功运行该代码。现在,我尝试使用ROS RVIZ可视化点云,但出现错误。
我该如何克服这个错误?它说框架不存在。 RVIZ中是否有解决方法或配置设置来绕过该错误?或者如何更新我的c++代码以更新框架对象?能否请您提供一些示例代码?
最佳答案
rviz缺少从其给定的Fixed Frame
(即map
)到您的点云数据框架(即base_link
)的转换。
如果您通过测量数据,运动学和动力学来使用ROS,我强烈建议在其上使用tf-tutorials。
但是,有两种方法可以解决您的问题:
1.
您可以通过在命令行中键入以下命令来创建一个发布服务器,该发布服务器告诉rviz如何将base_link
框架转换为map
框架:
rosrun tf static_transform_publisher 0 0 0 0 0 0 map base_link 50
此命令explanation here会发布两个帧以50 Hz重叠的信息。
2. 另一个选择是告诉rviz,它的固定框架应该是
base_link
。因此,只需将map
更改为base_link
,如下图所示。关于c++ - ROS RVIZ : How to visualize a point cloud that doesn't have a fixed frame transform,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52420672/