ROSlaunch中的pkg type name的区别

#d roslaunch的功能
roslaunch可以一次启动多个node,大大提高了我们的执行效率。有了这个组件,我们不再需要通过rosrun启动一个个节点。

#e roslaunch的格式
要想使用roslaunch,就得编写对应的launch文件。
格式如下:

<launch>
<!--每一个launch文件必须以此开始和结束-->
<!--pkg和type等于rosrun的前两个参数 -->>
    <node pkg="rviz"  type="rviz"  name="rviz"  args="-d $(find lidar_localization)/rviz/test_frame.rviz"></node>
    <node pkg="lidar_localization"  type="test_frame_node"  name="test_frame_node"  output="screen"></node>
</launch>

(摘自任乾老师的博客)

可以看到,里面有pkg、type和name三个参数,而且都是名字。那么这三个分别指的是什么的名字?
#d roslaunch的原理
roslaunch的底层还是rosrun。roslaunch相当于代替你输入rosrun 以及一个个参数。

#rosrun的使用格式
rosrun	[功能包名称]	[节点名称]

#d pkg和type的意思
rosrun有两个必要参数,也就是功能包名和节点名。launch文件想要运行起来node文件,那也得拿到对应的两个参数,传给rosrun。pkg就是传给rosrun的[功能包名称] type就是[节点名称]
#d 节点名
节点名指的是,生成的可执行文件名字。在cmake里可以查到生成的对应文件。生成好的节点文件放在devel目录下。一个功能包下可以有多个节点文件。
#d name的意思
name是节点初始化的参数。
#e name的例子

 ros::init(argc, argv, "test_frame_node");

在launch文件中输入name参数,相当于替换掉这里的test_frame_node。
具体各节点的name名称可根据rqt_graph查看。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值