http://wiki.ros.org/Nodes
节点是有节点类型type的的,节点的类型type就是节点所在包package的资源的名字,包括包package文件的名字和包package内部可执行文件的名字。
ROS在package内部搜索特定名字的可执行程序,并以搜到的第一个为准,所以在一个package内部不要生成同名的不同功能的可执行文件。
当节点在命令行被启动时,节点node内的任何一个ROS名字都可以被重新映射。这一个牛逼的特性可以使你在命令行以不同的配置启动同一个节点。
你可以为私有节点的参数赋值。
映射的参数可以通过以下语法name:=new_name,被传递给任何一个节点,例如,将talker节点发布的话题chatter修改为/wg/chatter:
rosrun rospy_tutorials talker chatter:=/wg/chatter (这里的chatter是”话题的名字“,而不是指指”话题“,例如话题的名字为"hello" ,可以这么修改 hello:=/my/hello)
在匹配之前先解析参数,这样做的结果是你重映射了一个全名,然而在重映射之前,只适用于一个特定的字符串,例如,foo:=bar 之前只匹配字符串foo,当然也会匹配/<node_namespace>/foo ,解析之后,直接匹配字符串,所以你不能用它来重映射部分名字,即foo:=bar 会匹配foo或者/<node_namespace>/foo ,但是不会匹配 foo/bar 。唯一例外的情况是当使用searchParam时,会保留以前的行为,因为searchParam本身工作在未解析的名字上。
示例:
节点命名空间 |
重映射参数 |