我很遗憾,因为我很难让教程rviz插件显示在rviz中。我有visualization_tutorials的源代码。在那个git repo中,有rviz_plugin_tutorials。我可以在ROS工作区内成功构建它,输出显示在rviz_workspace / devel / lib中,如librviz_plugin_tutorials.so。
我已经读过rviz使用pluginlib来加载具有相应plugin_description.xml的插件并适当地使用PLUGINLIB_EXPORT_CLASS宏。
我不明白这种机制应该如何运作。构建插件后,您所拥有的只是库(.so文件)以及包和插件.xml文件。如何运行'rosrun rviz rviz'应该允许rviz找到这个新的库和插件描述文件?这是我的根本误解。我运行rviz并且运行rospack时没有看到教程插件没有显示教程插件:
honeywell@UGV-Laptop-1:~/rviz_workspace$ rospack plugins --attrib=plugin rviz
rviz /opt/ros/kinetic/share/rviz/plugin_description.xml
honeywell@UGV-Laptop-1:~/rviz_workspace$
感谢您的帮助
编辑:rviz从/ opt / ros / kinetic / bin / rviz运行。我应该将我的plugin_description.xml和librviz_plugin_tutorials.so复制到工作区所在的地方以外的其他地方吗?
答案 0 :(得分:2)
新人在这里犯错误。我做了两件事来解决我的问题,然后意识到只需要一个。
1)安装了rviz源并构建它。在这样做并表演了rosrun rviz rviz'问题仍然存在。没有新的插件。
2)已实现我没有为此工作空间提供devel / setup.bash。执行此操作然后运行rviz会产生预期的结果。
我回去并从src中删除了rviz并删除了devel文件夹,它仍然有效,所以似乎没有必要使用从源代码构建的rviz。