ROS 入门 (launch文件)

本章主要内容介绍在ROS中上述问题的解决策略(见本章目录),预期达成学习目标也与上述问题对应:

  • 掌握元功能包使用语法;

  • 掌握launch文件的使用语法;

  • 理解什么是ROS工作空间覆盖,以及存在什么安全隐患;

  • 掌握节点名称重名时的处理方式;

  • 掌握话题名称重名时的处理方式;

  • 掌握参数名称重名时的处理方式;

  • 能够实现ROS分布式通信。

---------------------------------------------------

1.  元功能包

我们可以认为它是一本书的目录索引,告诉我们这个包集合中有哪些子包,并且该去哪里下载。

方便用户的安装,我们只需要这一个包就可以把其他相关的软件包组织到一起安装了

接下来给出操作

1. 新建一个功能包

 因d为是元包,所以第二个啥都不用加,直接回车创立

2. 修改package 声明依赖关系

3.修改CMakelist

------------------------------------------------------------------------------ 

----------------------前置-----------------------

2. 管理launch文件

 (1)首先创建功能包

 再建文件夹

 再建文件

 内容如下:

<launch>
    <node pkg="turtlesim" type="turtlesim_node"     name="myTurtle" output="screen" />
    <node pkg="turtlesim" type="turtle_teleop_key"  name="myTurtleContro" output="screen" />
</launch>

完成后如下

 这样节点设置好了,我们运行就可以直接帮我们打开乌龟,不用一个一个ros打开

roslaunch 命令执行launch文件时,首先会判断是否启动了 roscore,如果启动了,则不再启动,否则,会自动调用 roscore

-------------------------

1. launch文件标签——launch

 deprecated = "弃用声明" ----使用会出现提示

2. node标签

需要注意的是: roslaunch 命令不能保证按照 node 的声明顺序来启动节点(节点的启动是多进程的)

  • pkg="包名"——节点所属的包

  • type="nodeType"——节点类型(与之相同名称的可执行文件)

  • name="nodeName"——节点名称(在 ROS 网络拓扑中节点的名称)

  • args="xxx xxx xxx" (可选)——将参数传递给节点

  • -----------------------------

  • machine="机器名"——在指定机器上启动节点

  • respawn="true | false" (可选)——如果节点退出,是否自动重启

  • respawn_delay=" N" (可选)——如果 respawn 为 true, 那么延迟 N 秒后启动节点

  • required="true | false" (可选)——该节点是否必须,如果为 true,那么如果该节点退出,将杀死整个 roslaunch

  • ns="xxx" (可选)——在指定命名空间 xxx 中启动节点

  • clear_params="true | false" (可选)——在启动前,删除节点的私有空间的所有参数

  • output="log | screen" (可选)——日志发送目标,可以设置为 log 日志文件,或 screen 屏幕,默认是 log

猜你喜欢

转载自blog.csdn.net/ArtoriaLili/article/details/125555365