修改pkg名
有的时候最开始起了一个功能包package名,但后来要进行修改。修改package名,需要改两步然后重新catkin_make即可
操作如下:
再回到工作空间执行catkin_make即可
修改node名
修改node名有两种手段:1)从CMakeLists修改 2)进行重映射
1)去CMakeLists.txt中,下面几项前面重新设置node名,比如下面图中的talker和listener
参考:ROS修改pkg与node名字
2)重映射语法为:rosrun 包名 节点名 __name:=新名称
参考:ROS节点名称重名
ROS2入门教程——5. 理解节点(Node)
注意:虽然以上的方法都能够进行node重命名,但有一个问题是两种方法都要求必须能够找到executable的文件,简单的任务工程里面会在pkg/src下有源文件可以add,但是在复杂工程下就很难找到了。这时候可以使用第三种方法
3) 外层再加一个命名空间:在启动命令时在命令行最前面输入ROS_NAMESPACE=xxx
ps:xxx随便定
然后再次启动两个同名node,就会发现其中一个node的命名空间被更换了,问题解决!
我原来的node是/camera/realsense2_camera,加上命名空间car0后变成/car0/camera/realsense2_camera