古月居ROS入门21讲-launch文件

el/2024/2/26 0:05:06

视频链接:bilibili 搜 古月居
源代码:关注古月居公众号,回复ROS入门21讲

文章目录

  • 1 launch文件语法
  • 2 launch 示例

launch文集:通过XML文件实现多个节点的配置和启动,可自动启动ROS Master(不需要再打开roscore)

1 launch文件语法

  1. < launch>
    launch文件中的根元素采用< launch >标签定义,以< launch>开始,< /launch>结束
  2. 节点< node>
    <node pkg="package-name" type="executable-name" name="node-name"/>
    启动节点
    pkg:节点所在功能包名称
    type:节点的可执行文件名称
    name:节点运行时的名称,可以取代程序中节点初始化时的名称
  3. 参数< param>/< rosparam>存在ROS参数服务器
    设置ROS系统运行中的参数,存储在参数服务器中
    param name="output_frame" value="odom"
    name:参数名
    value:参数值
    加载参数文件中多个参数
    <rosparam file="params.yaml" command="load" ns="params"/>
  4. 参数< arg>存在launch内部
    launch文件内部的局部变量,进行与launch文件使用
    <arg name="arg-name" default="arg-value"/>
    name:参数名
    value:参数值
    调用:
    <param name ="foo" value="$(arg arg-name)"/>
    <node name ="node" pkg="package" type="type" args="$(arg arg-name)"/>
  5. 重映射< remap>
    重新映射ROS计算图资源的命名,原来的名字则不存在了
    <remap from="/turtlebot/cmd_vel" to "/cmd_vel"/>
    from:原命名
    to:映射之后的命名
  6. 嵌套< include>
    包含其他launch文件,类似C 语言中的头文件包含
    <include file="$(dirname)/other.launch"/>
    file:其他launch文件路径

2 launch 示例

1 新建功能包

catkin_create_pkg learning_launch

2 功能包下新建launch文件夹,用于存放launch文件
3 新建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>

4 运行

catkin_make
roslaunch learning_launch simple.launch

http://www.ngui.cc/el/4893949.html

相关文章

VUE+ ELEMENT 选人的弹窗组件

** VUE ELEMENT 封装的一个选人的弹窗组件 ** 需求如下&#xff1a; 1.要有部门分类 2.能选人&#xff08;同时可以选择整个部门&#xff09; 3.保留原选中的人的不去除 4.能搜索&#xff0c;显示搜索结果的时候 不显示部门名称 5.点击部门展开收起&#xff0c;只有本部…

vue+ element 小白初次实践踩坑(一)-路由与location

vue+ element 小白初次实践踩坑(一)-路由与location 1.需求:列表页跳转到详情页,但是详情页根据不同的路径进入,状态不同 2.分析:首先列表页会根据id不同跳到详情页,这个时候一个详情页就可以了。然后根据id可以拿到不同的数据; 第二版需求升级,要求加审核页面,审…

vue+ element 小白初次实践踩坑(二)-数据刷新,页面没改变

vue+ element 小白初次实践踩坑(二)-数据刷新,页面没改变 在使用vue的时候一个页面会有多个组件构建,所以会发生数据刷新,但是页面上的变化不完全 1.第一种:一个页面可以跳转到另一个页面,但是两个页面是共用的,点击跳转之后,必须强刷浏览器,数据才会更新 解决: …

vue 小白初次实践踩坑(二)-路由与location

vue 小白初次实践踩坑(二)-路由与location 需求: 第一种:要求点击不同的导航跳转到另一个页面,在另一个页面上也有通用的导航,刚刚点击的那个导航应该处于选中状态(高亮) <template><div><ul class="header-menu" ref="MainHeader&qu…

vue + element 新手指引

直接上代码 template-(Guide.vue) <template><div><!-- 新手指引 --><div id"mask"></div><div id"searchTip"><div class"stepA"><el-button type"primary" size"small" c…

vue+element 表头说明文字

vueelement 表头说明文字 第一种直接hover 表头出现说明文字 html&#xff1a; <el-table-column prop"last_result" label"上次评估结果" width"120" :render-header"renderHeader"></el-table-column>js: methods: …

jquery封装选人插件(结合layer)

html <button class="layui-btn" id="transfer">添加</button><!-- 选人弹窗主体框架 satrt--> <div class="layer-transfer" id="layer-transfer" style="display:none"><div class="lay…

element表格点击一行给行添加border

由于element ui有一套自己的样式&#xff0c;在实际工作中&#xff0c;我们可能不会照搬&#xff0c;一般会根据需求和设计对element ui进行调整&#xff0c;但是有时候自己写的样式会被element ui影响&#xff0c;不能成功应用。 这次我的工作就是给element表格点击一行给行添…

layui 布局 高度不一致时导致的错乱问题解决

这个问题找了很久&#xff0c;因为需求是要类似于瀑布流那样的布局&#xff0c;但是因为用的是layui所以又不想弃用&#xff0c;单独写&#xff0c;所以有了以下解决方案&#xff1a; html&#xff1a; <div class"layui-row list-body"><div class"…

超简单的jquery 点击文本复制文本

有点仿蓝湖的点击代码就复制的功能&#xff0c;直接点击你想复制的文本&#xff0c;就可以复制成功了 html: <ul class"info-list"><li><div class"info"><em>1</em><span class"link-addr"title"12333…