我一直遵循ROS官方文档中有关如何publish a point cloud的知识,并且能够成功运行代码。现在,我尝试使用ROS RVIZ可视化点云,但出现错误。
转换[sender = unknown_publisher] 对于框架[single_frame]:固定框架[map]不存在
如何克服此错误?它说框架不存在。 RVIZ中是否有解决方法或配置设置来绕过错误?或者如何更新我的c ++代码以更新框架对象?能否请您提供一些示例代码?
答案 0 :(得分:2)
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
,如下图所示。
答案 1 :(得分:0)
向知识库中添加更多内容。按照@ Tik0的说明执行static_transform_publisher之后,“转换”错误消失了。但是,在可视化工具中我仍然看不到点云。然后再进行几次试验后,我注意到默认情况下,点的大小已设置为0.01。因此,这些点太小而无法可视化。在rviz点云设置中增加了点大小后,我可以将其可视化。