wiki链接: http://wiki.ros.org/roscpp/Overview/Names%20and%20Node%20Information
大部分常用的获取节点信息和操作命名的API如下.
ros::this_node::getName() 获取这个节点的名字
ros::this_node::getNamespace() 获取这个节点的名字空间
ros::NodeHandle::resolveName() 方法 API: http://docs.ros.org/api/roscpp/html/classros_1_1NodeHandle.html
std::string ros::NodeHandle::resolveName(const std::string& name, bool remap = true);
使用节点句柄的名字空间处理名字"blah" => "/node_handle_namespace/blah"
std::string ros::names::resolve(const std::string& name, bool remap = true);
使用节点的名字空间处理名字"blah" => "/node_namespace/blah"
std::string ros::names::append(const std::string& left, const std::string& right);
将右边的添加到左边
std::string ros::names::clean(const std::string& name);
去掉重复的/字符
bool ros::names::validate(const std::string& name, std::string& error);
检测一个名字,如果非法,则返回一个error字符串
大部分常用的获取节点信息和操作命名的API如下.
1.获取节点信息
相关链接: ros::this_Node名字空间 API: http://docs.ros.org/api/roscpp/html/namespaceros_1_1this__node.htmlros::this_node::getName() 获取这个节点的名字
ros::this_node::getNamespace() 获取这个节点的名字空间
2.操作名字
相关链接:ros::names 名字空间 API: http://docs.ros.org/api/roscpp/html/names_8h_source.htmlros::NodeHandle::resolveName() 方法 API: http://docs.ros.org/api/roscpp/html/classros_1_1NodeHandle.html
std::string ros::NodeHandle::resolveName(const std::string& name, bool remap = true);
使用节点句柄的名字空间处理名字"blah" => "/node_handle_namespace/blah"
std::string ros::names::resolve(const std::string& name, bool remap = true);
使用节点的名字空间处理名字"blah" => "/node_namespace/blah"
std::string ros::names::append(const std::string& left, const std::string& right);
将右边的添加到左边
std::string ros::names::clean(const std::string& name);
去掉重复的/字符
bool ros::names::validate(const std::string& name, std::string& error);
检测一个名字,如果非法,则返回一个error字符串