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"/>

 

posted @ 2022-01-21 09:57  StayAliveGirl  阅读(981)  评论(0编辑  收藏  举报