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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM