1.ROS重映射的作用?
在不修改任何源代码的情况下,我们能够修改节点名
例如:我们希望两个不同的计算机同时运行一个talker程序,为了将它们区分开,一个叫talker1,一个叫talker2,有一个listener节点同时接收它们的消息,在不修改任何代码的情况下,我们只要启动talker程序两次
2.实现每个节点在单独的终端显示
使用 roslaunch 的一个缺点是所有的节点共享一个终端,而使用 rosrun 的时候,每个节点都有一个独立的终端。这对于不接收控制台输入,只生成日志消息的节点是可行的(通常也是有帮助的),但是对于依赖控制台输入的节点来说,例如 turtle_teleop_key,更倾向于为节点保留独立的终端。
幸运的是,roslaunch 提供了一个实现该目的的简洁方法—对节点元素使用启动前缀(launch-prefix)属性:Launch-prefix=“command-prefix”事实上,roslaunch 在启动节点时的内部工作原理是调用相应的命令行工具,即 rosrun。启动前缀的主要思想是在其命令行前面添加给出的命令行前缀。在我们的例子中,遥操作节点使用了这个功能:launch-prefix=”xetrm-e”