ROS学习之 roslaunch

wiki链接: http://wiki.ros.org/roslaunch


一.概览

    roslaunch程序包包含了可以读取roslaunch.launch/XML format的工具
    许多的ROS程序包下有launch文件,运行 roslaunch pkg_name *.launch
    这些launch文件通常启动该程序包下一系列完成共同功能的节点(功能聚集的节点)

    命令行方式使用roslaunch: http://wiki.ros.org/roslaunch/Commandline Tools
    roslaunch 使用XML文件来说明应该被启动的节点,应该被设置的参数,以及其它一些启动节点的属性.
    XML文件的具体格式: http://wiki.ros.org/roslaunch/XML
    roslaunch设计上适用于ROS的复杂架构,理解roslaunch的架构可以更好理解如何编写自己的*.launch文件和调式程序
    roslaunch Architecture: http://wiki.ros.org/roslaunch/Architecture

    一个简单的应用示例(python API版): http://wiki.ros.org/roslaunch/API%20Usage

二.roscore


    roscore是一个专门的roslaunch工具用来启动核心ROS系统.
    链接: http://wiki.ros.org/roscore
    roscore 是一系列节点和程序,用来启动ROS基本系统.必须启动一个roscore来提供节点之间的通信,它由roscore命令来启动.

    roscore将启动: 一个ROS主节点Master,一个ROS参数服务器,一个rosout记录节点

    roscore命令可以传递参数,来改变端口。
        $roscore -p 1234   #注意在多机环境中,要再用export ROS_MASTER_URI=http://sl-decktop:1234来声明一下端口

三、教程


    1.Roslaunch for large projects: http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20tips%20for%20larger%20projects

    2.How to Roslaunch Nodes in Valgrid or GDB: http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20Nodes%20in%20Valgrind%20or%20GDB

四、语法高亮


    主要是使用Emacs或vim来编辑*.launch文件,XML类型,YAML类型

五、Catkin编译


    roslaunch_add_file_check CMake宏被用来检查launch文件的错误,比如丢失参数、依赖项、包名、节点等
    这允许用户检查所有程序包launch目录下的*.launch文件

    用法如下,在CMakeLists.txt文件最后加上检查宏
        find_package(catkin REQUIRED COMPONENTS roslaunch)
        roslaunch_add_file_check(launch)
    这个检查宏接受单个目录或文件参数,基本上,它会在生成Makefile时加入额外对launch文件的检查

六、roslaunch命令行工具的使用


    链接:http://wiki.ros.org/roslaunch/Commandline%20Tools

    1.roslaunch
        roslaunch对于管理ros节点的启动和停止是一个重要工具。它以一个或多个*.launch文件作为参数
        launch语法:roslaunch pkg_name *.launch
        也可以直接切换目录到相应的包下:  roscd m_pkg
                        roslaunch *.launch

        也可以直接使用路径名: roslaunch file_path/*.launch
    -p port 如果以 roscore -p port 发布主节点,那么也应在launch时,告知这一port参数
    --wait  等待,直到监测到roscore发布
    --local 只会启动本地节点,远端节点不会被启动
    --screen 强制使所有节点的输出指向屏幕,对节点调试有用
    -v      使能冗余输出
    --dump-params 以YAML格式打印launch文件中的参数

    2.参数的传递
        如果launch文件需要具体的参数args传递
        重映射参数的语法:  roslaunch m_file.launch arg:=value

    3.非launch选项
        下面的这些选项提供了关于launch文件的信息,与实际的launch没有关系。
        使用这些参数,可以明确launch文件的路径,明确包名和launch文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值