ROS学习(4)——launch文件的编写

对于一个复杂的系统,会有十几个、几十个甚至是上百个节点在运行,如果我们每次都是采取“打
开终端、运行 rosrun 指令”来启动应用程序,显得效率非常低。我们需要一个更方便的方式来启动系统。ROS 中提供了“使用 launch 文件 + roslaunch”命令来完成系统的启动。具体的实现方法如下:

一、添加launch文件

  • 选定功能包右击 ——> 添加 launch 文件夹
  • 选定 launch 文件夹右击 ——> 添加 launch 文件
  • 编写launch文件

二、编写launch文件

下面是一个launch文件示例:

<launch>
    <node pkg="hello" type="hello_vs" name="hello" output="screen" />
    <node pkg="turtlesim" type="turtlesim_node" name="t1"/>
    <node pkg="turtlesim" type="turtle_teleop_key" name="key1" />
</launch>
  • node ——包含的某个节点
  • pkg —— 节点所在的功能包的名字
  • type —— 节点的二进制可执行文件的名字
  • name —— 节点启动后,可有 ROS 识别出的节点名称。我们在编写节点时,通过 ros::init(argc, argv, “node_name”)已经指定了节点名,当节点启动后,这个启动文件(*.launch)会给我们一个重新命名节点的机会。
  • output—— 设置日志的输出目标。通过启动文件启动节点后,默认节点输出信息会输入到一个日志文件而不是屏幕上。想要在屏幕上打印信息,需要加“output="screen”

     所以上面的launch文件示例是实现了hello_vs.cpp文件里面的功能,还有同时启动乌龟节点的

     功 能。

三、运行launch文件

  • 在vscode界面ctrl+shift+B编译文件
  • 打开一个终端运行:
roscore
  • 重新打开一个终端输入命令
source ./devel/setup.bash
roslaunch package_name launch_file_name

运行界面如下

小技巧——ROS省略命令“source ./devel/setup.bash”

因为每次新开一个终端都要输入命令“source ./devel/setup.bash” ,很麻烦,我们可以通过

sudo gedit ~/.bashrc

打开.bashrc文件,然后在中写入命令

source /home/***/your_ws/devel/setup.bash 

其中***是你的计算机名。具体操作可以参考ROS省略命令“source ./devel/setup.bash“

猜你喜欢

转载自blog.csdn.net/bulletstart/article/details/130794565