【ROS】学习笔记八 ubuntu16.04下vs code学习ros下launch启动文件的使用方法

一、luanch文件的相关介绍

在以往的ros程序编写过程中,需要打开终端输入命令,显得麻烦,而launch文件将需要启动的节点写在一个launch文件中,通过在终端中运行launch文件,就可以同时启动多个节点,解决了以往需要打开多个终端不断输入指令的麻烦。
首先来介绍一下launch启动文件的编写规则

<launch>
   //pkg是所在功能包的名字,type是所在功能包下的可执行文件,name是所运行节点的名字,该名字会取代原来程序中的节点名字
   <node pkg="package_name" type="executable_name" name="node_name">
<launch>

这三个属性在node语句中是最重要的,当然,也可以增加一些可选属性,来满足不同的需求,不过这些需要自己在以后的学习过程中不断熟悉他们的用法

output(把日志信息打印到终端)
respawn(启动运行挂掉后是否要重启)
required(表示launch文件中的某个节点是不是一定要启动)
ns(命名空间)
args(给每个节点输入一些参数)

launch启动中用的比较多的标签有
(1)参数设置

<launch>
   //设置ROS系统运行中的参数,存储在参数服务器中
   <param name="output_frame" value="odom"/>
   <node pkg="package_name" type="executable_name" name="node_name">
   //加载参数文件中的多个参数
   <rosparam file="params.yaml" command="load" ns="params"/>
<launch>
<launch>
   //launch文件内部的局部变量,仅限于launch文件使用
   <arg name="arg-name",default="arg-value"/>
   //调用
   调用arg的值并赋值给foo
   <param name="foo" value="$(arg arg-name)"/>
   //讲arg的值作为节点的输入参数
   <node pkg="package_name" type="executable_name" name="node_name" args="$(arg arg-name)">

(2)重映射

<launch>
   //重映射ROS计算图资源的命名
   <remap from="/turtlebot/cmd_vel"to"/cmd_vel"/>

(3)嵌套

<launch>
   //包含其他launch文件,类似C语言中的头文件包含,可以包含另外的launch文件
  <include file="$(dirname)/other.launch"/>

二、luanch文件的使用方法

1、简单launch文件的编写和运行

在ubuntu16.04下打开vs code软件,打开在之前已经编写好的catkin_person文件,如果对catkin_person文件不太了解的话,可以去浏览我之前的博客,链接如下
链接: https://blog.csdn.net/weixin_45417246/article/details/115490635.
打开catkin_person文件后,界面如下
在这里插入图片描述
在/fjy/catkin_person/src路径下创建功能包my_launch,但是不需要添加依赖,因为launch文件是去运行其他功能包中的节点,自身并不涉及依赖

catkin_create_pkg my_launch

然后在my_launch文件夹下新建一个文件,取名为launch,一般都是取launch作为默认取名,当然,按自己喜好取其他的名也可以,然后在launch文件夹下新建simple.launch文件,要实现的目标是启动person_subscriber和person_publisher两个节点,并将输入信息打印到屏幕上

cd my_launch
mkdir launch
cd launch
touch simple.launch

在simple.launch中编写如下程序

<launch>
    <node pkg="learning_topic" type="person_subscriber" name="listener" output="screen" />
    <node pkg="learning_topic" type="person_publisher" name="talker" output="screen" />
</launch>

编写完程序后保存,并到/fjy/catkin_person路径下进行编译,并设置环境变量,然后输入以下指令运行simple.launch文件,运行结果如下,可以看到成功运行

roslaunch my_launch simple.launch

在这里插入图片描述

2、带参数launch文件的编写和运行

在ubuntu16.04下打开vs code软件,打开在之前已经编写好的catkin_parameter文件,如果对catkin_parameter文件不太了解的话,可以去浏览我之前的博客,链接如下
链接: https://blog.csdn.net/weixin_45417246/article/details/115490911.
打开catkin_parameter文件后,界面如下
在这里插入图片描述
在/fjy/catkin_parameter/src路径下创建功能包my_launch,但是不需要添加依赖,因为launch文件是去运行其他功能包中的节点,自身并不涉及依赖

catkin_create_pkg my_launch

然后在my_launch文件夹下新建一个文件,取名为launch,,然后在launch文件夹下新建turtlesim_parameter_config.launch文件

cd my_launch
mkdir launch
cd launch
touch turtlesim_parameter_config.launch

然后在my_launch文件夹下创建config文件夹,在config文件夹中创建param.yaml文件

cd my_launch
mkdir config
cd config
touch param.yaml

在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 my_launch)/config/param.yaml" command="load"/>
    </node>
    //启动键盘控制节点
    <node pkg="turtlesim" type="turtle_teleop_key" name="turtle_teleop" output="screen" />
</launch>

在param.yaml中编写如下程序

A: 123
B: "hello"

group:
  C: 456
  D: "world"

编写完程序后保存,并到/fjy/catkin_parameter路径下进行编译,并设置环境变量,然后输入以下指令运行turtlesim_parameter_config.launch文件,运行结果如下

roslaunch my_launch turtlesim_parameter_config.launch

在这里插入图片描述

3、tf坐标系下海龟跟随的launch文件的编写和运行

在ubuntu16.04下打开vs code软件,打开在之前已经编写好的catkin_tf文件,如果对catkin_tf文件不太了解的话,可以去浏览我之前的博客,链接如下
链接: https://blog.csdn.net/weixin_45417246/article/details/115495257.
打开catkin_tf文件后,界面如下
在这里插入图片描述
在/fjy/catkin_tf/src路径下创建功能包my_launch,但是不需要添加依赖,因为launch文件是去运行其他功能包中的节点,自身并不涉及依赖

catkin_create_pkg my_launch

然后在my_launch文件夹下新建一个文件,取名为launch,然后在launch文件夹下新建start_tf.launch
文件

cd my_launch
mkdir launch
cd launch
touch start_tf.launch

在simple.launch中编写如下程序

<launch>
    <node name="sim" pkg="turtlesim" type="turtlesim_node"/>
    <node name="teleop" pkg="turtlesim" type="turtle_teleop_key" output="screen"/>
    <node pkg="learning_tf" type="turtle_tf_broadcaster" name="turtle1_tf_broadcaster" args="turtle1"/>
    <node pkg="learning_tf" type="turtle_tf_broadcaster" name="turtle2_tf_broadcaster" args="turtle2"/>
    <node pkg="learning_tf" type="turtle_tf_listener" name="listener"/>
</launch>              

编写完程序后保存,并到/fjy/catkin_tf路径下进行编译,并设置环境变量,然后输入以下指令运行start_tf.launch文件,运行结果如下,可以看到成功运行

roslaunch my_launch start_tf.launch

在这里插入图片描述

4、重映射的launch文件的编写和运行

打开catkin_person文件后,界面如下
在这里插入图片描述
在/my_launch/launch路径下,新建turtlesim_remap.launch文件

cd launch
touch turtlesim_remap.launch

在turtlesim_remap.launch中编写如下程序

<launch>
    //include包含其他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>

编写完程序后保存,并到/fjy/catkin_person路径下进行编译,并设置环境变量,然后输入以下指令运行turtlesim_remap.launch文件,运行结果如下,可以看到成功运行,我们可以看到原来的的/turtle1/cmd_vel变成了/cmd_vel

roslaunch my_launch turtlesim_remap.launch

在这里插入图片描述
这样,我们就完成了vs code下关于launch文件的使用方法了

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Ubuntu 16.04 ROS 安装教程: 1. 首先,打开终端,更新软件包列表: sudo apt-get update 2. 安装 ROS Kinetic: sudo apt-get install ros-kinetic-desktop-full 3. 初始化 ROS: sudo rosdep init rosdep update 4. 设置环境变量: echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc 5. 安装 ROS 工具: sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential 6. 创建工作空间: mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make 7. 设置环境变量: echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc 8. 安装 ROS 包: cd ~/catkin_ws/src git clone https://github.com/ros/ros_tutorials.git cd ~/catkin_ws/ catkin_make 9. 测试安装: roslaunch roscpp_tutorials talker_listener.launch 以上就是 Ubuntu 16.04 ROS 安装教程的全部内容。 ### 回答2: Ubuntu16.04是一款非常流行的开源操作系统,它可以让用户轻松进行各种开发任务。其中ROS是一款非常强大的机器人操作系统,它可以帮助用户在实现机器人的开发、控制、监管等各个方面。在这里,我们将为大家介绍Ubuntu16.04上ROS的安装教程。 一、前期准备 在开始配置ROS系统之前,我们需要先做好一些准备工作。首先确保你的Ubuntu已经更新到最新版,这可以通过以下命令来完成。 sudo apt-get update sudo apt-get upgrade 然后我们需要安装ROS的软件源。 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 接着,我们需要下载ROS的秘钥。 sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116 最后,更新你的软件清单。 sudo apt-get update 二、安装ROS 在上面的准备工作完成之后,我们可以开始安装ROS了。如果你想要安装完整版的ROS系统,那么可以通过以下命令来完成安装。 sudo apt-get install ros-kinetic-desktop-full 在安装过程中,你需要输入一些配置信息,例如ROS的版本号和安装目录等。在完成安装之后,我们需要初始化ROS系统。 sudo rosdep init rosdep update echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc 三、创建工作空间 接下来,我们需要创建一个ROS的工作空间。这个工作空间是用来存储ROS的程序和代码的。 首先,创建一个工作空间的目录。 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src 然后,初始化ROS工作空间。 catkin_init_workspace cd ~/catkin_ws/ catkin_make 在以上的命令执行完毕之后,你就已经成功地创建了ROS的工作空间。 四、添加依赖项 在开始编写ROS程序之前,我们需要添加一些依赖项来辅助我们进行程序的编写工作。以下是添加依赖项的命令。 sudo apt-get install ros-kinetic-ros-tutorials sudo apt-get install ros-kinetic-geometry-msgs sudo apt-get install ros-kinetic-rosbag sudo apt-get install ros-kinetic-tf 五、测试ROS系统 在完成以上的步骤之后,我们来测试一下ROS系统。使用以下命令启动ROS系统。 roscore 接着,打开新的终端,并输入以下命令启动ROS回声程序。 rosrun roscpp_tutorials talker 在新的终端中再次输入以下命令启动ROS回声程序。 rosrun roscpp_tutorials listener 最后,运行一下以下命令,确认ROS回声程序是否正确运行。 rostopic echo /chatter 在你输入以上命令之后,可以看到ROS回声程序的输出信息。 通过以上步骤,我们已经成功地在Ubuntu16.04上安装了ROS系统,并进行了基本的测试工作。同时,你还可以通过ROS来进行更加全面和强大的机器人开发工作。 ### 回答3: Ubuntu操作系统是开源免费的操作系统,其中ROS是开源机器人操作系统,可以用于控制、仿真和编程机器人。下面将介绍如何在Ubuntu16.04上安装ROS。 1. 更新Ubuntu:首先需要更新Ubuntu操作系统,运行以下命令: sudo apt-get update sudo apt-get upgrade 2. 添加ROS软件源:运行以下命令添加ROS源 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 3. 安装ROS:安装ROS时,可以选择ROS版本(Kinetic / Melodic / Noetic等),其中Kinetic较为稳定,我们选择Kinetic进行安装,运行以下命令: sudo apt-get update sudo apt-get install ros-kinetic-desktop-full 4. 初始化ROS:安装完成后,需要先初始化ROS环境变量,运行以下命令: echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc 5. 安装ROS工具包:根据需求安装相关的ROS工具包,例如rosdep和rosinstall等。 sudo apt-get install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential 6. 初始化rosdep:运行以下命令初始化rosdep。 sudo rosdep init rosdep update 7. 测试ROS:安装完毕后,可以运行以下命令来测试ROS是否正常运行: roscore 以上为在Ubuntu16.04上安装ROS的通用步骤,但在安装ROS的过程中可能会出现各种各样的问题,可以通过ROS社区和其他相关的技术支持网站了解相关的解决方法

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值