结论
- rosrun 后跟着两个参数一个是程序包名,另一个是可执行文件名!!!(千万注意第二个参数不是节点名,很多人将可执行文件名与节点名设置为一个,所以网上很多教程说第二个参数为节点名,但实际是错误的)
- 一个节点可以发布几个话题,一个节点也可以订阅几个话题。
验证
请看下图中1和2,我们分别将文件名设置为“subscriber”,将节点名设置为“s”。

而在CMakeLists.txt中,我们将subscriber.cpp的可执行文件名设置为“sub_scribe"。
编译功能包,并运行小海龟程序。
这时我们先尝试通过rosrun直接启动节点"s",结果见下图。提示没找到可执行文件。

此时我们通过rosrun启动可执行文件“sub_scribe",结果见下图。成功。

通过rqt_graph查看node及topic,可以发现s才是节点,是它通过ros::NodeHandle订阅了小海龟的pose。

本文详细解释了如何使用rosrun命令启动ROS节点,澄清了常见误区:第二个参数是可执行文件名而非节点名。并通过实例演示了正确启动节点的方法。
784

被折叠的 条评论
为什么被折叠?



