ros 获取节点名称
写ros节点时,最忌讳写绝对路径或相对路径,有以下几种方式解决
1、调用系统路径
std::string home = getenv("HOME")
2、用ros自带
转载自创客智造:https://www.ncnynl.com/archives/201702/1300.html
1 ros::this_node::getName(),获取此节点的完全限定名称。 2 ros::this_node::getNamespace(),获取此节点的完全限定命名空间。
3、其他
3.1 代码里使用ros::package
ros::package::getPath() //需要添加依赖roslib
3.2 roslaunch里使用系统路径
1 方式一 <rosparam command="load" file="$(env HOME)/....yaml"/> 2 3 方式二 <rosparam file="$(env HOME)/.ame.yaml" command="load" /> 4 5 方式三 <include file="$(find ${package_name}})/launch/main.launch"/>