ROS基础(十)——launch启动文件的使用方法

申明:ROS学习参考了古月居老师的Blibli视频,强烈推荐大家看视频学习,本博客仅记录自己的学习经历和心得,欢迎大家一起讨论!

1 launch文件介绍

Launch文件:通过XML文件实现多节点的配置和启动(可自启动ROS Master)
1

2 Launch文件语法

<launch>
		<node pkg = "turtlesim" name="sim1" type="turtlesim_node" />
		<node pkg = "turtlesim" name="sim2" type="turtlesim_node" />
</launch>

< launch > launch文件中的根元素采用< launch >标签定义
< node > 启动节点

<node pkg = "package-name" type = "executable-name" name= "node-name"/>
  • pkg : 节点所在的功能包名称
  • type:节点的可执行文件名称
  • name:节点运行时的名称
  • output:打印当前信息到终端上
  • respawn、required、ns、args(参数)

< param >/< rosparam > 设置ROS系统运行中的参数,存储在参数服务其中。

<param name = "output_frame" value="odem" />
  • name:参数名
  • value:参数值
    加载参数文件中的多个参数:
<rosparam file="params.yaml" command="load" ns="params" />

其中,ns是命名空间(name space)
< arg > launch文件内部的局部变量,仅限于launch文件使用

<arg name="arg-name" value="arg-value" />

参数调用:

<param name="foo" value="$(arg arg-name)" />
<node name="node" pkg="package" type="type" args="$(arg arg-name)" />

< remap > 重映射ROS计算图资源的命名

<remap from="/turtlebot/cmd_vel" to="/cmd_vel" />

from:原命名
to:映射之后的命名

< include >内嵌包含其他launch文件,类似C语言中的头文件包含。

<include file="$(dirname)/other.launch" />

-file: 其他launch文件的路径

3 launch示例

3.1 创建功能包

cd ~/catkin_ws/src
catkin_create_pkg learning_launch
mkdir launch

编译:

cd ~/catkin_ws
catkin_make
  • simple.launch
<launch>
	<node pkg="learning_topic" type="person_subscriber" name="talker" output="screen" />
	<node pkg="learning_topic" type="person_publisher" name="listener" output="screen" />
</launch>

2

  • turtlesim_parameter_config.launch
<launch>
	<param name="/turtle_number" value="2" />
	<node pkg="turtlesim" type="turtlesim_node" name="turtlesim_node" >
		<param name="turtle_name1" value="Tom" />
		<param name="turtle_name2" value="Jerry" />
		<rosparam file="$(find learning_launch)/config/param.yaml" command="load" />
	</node>
	<node pkg="turtlesim" type="turtle_teleop_key" name="turtle_teleop_key" output="screen" />
</launch>

3

此时ROS中的参数列表为:
6

  • start_tf_demo_c++.launch
<launch>
	<node pkg="turtlesim" type="turtlesim_node" name="sim" />
	<node pkg="turtlesim" type="turtlesim_teleop_key" name="teleop" output="screen" />

	<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle1" name="turtle1_tf_broadcaster" />
	<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle2" name="turtle2_tf_broadcaster" />
	<node pkg="learning_tf" type="turtle_tf_listener" name="listener" />
</launch>

4

  • turtlesim_remap.launch
<launch>
	<include file="$(find learning_launch)/launch/simple.launch" />

	<node pkg="turtlesim" type="turtlesim_node" name="turtlesim_node">
		<remap from="/turtle1/cmd_vel" to="/cmd_vel" />
	</node>
</launch>

5查看当前ROS中的话题,并使用重映射后的话题发布速度指令:
7本讲完,以后会持续更新!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值