ros中launch文件的使用

  • Post author:
  • Post category:其他

1.launch 文件使用方式

roslaunch package_name file.launch

2.launch文件格式以及读取方式

     launch文件格式XML格式。

    roslaunch 读取launch文件的时候,顺序的读取。include标签被,最先处理,其它的标签全都按顺序读取,所以对于同一个参数,如果有重复定义,最后的参数生效。

3.标记值的参数设置

     标记值可以使用变量参数。roslaunch会优先解析,并写入到launch启动程序

    可用的标签有

     $(env ENVIRONMENT_VARIABLE)  由当前环境变量来代替参数值,如果没有设置当前变量,则会失败

     $(optenv ENVIRONMENT_VARIABLE) $(optenv ENVIRONMENT_VARIABLE default_value)   参数值为设置的环境变量,如果  default_value设置了就使用default_value为参数值

   如:<param name=”foo” value=”$(optenv NUM_CPUS 1)” />

           <param name=”foo” value=”$(optenv CONFIG_PATH /home/marvin/ros_workspace)” />

            <param name=”foo” value=”$(optenv VARIABLE ros rocks)” />

      $(find pkg)  使用指定package的相对路径来做参数值

      $(anon name) 用来生成一个基于name的匿名的id。但是基于同一个name创建使用多次会报错,比如

          <node name=”$(anon foo)” pkg=”rospy_tutorials” type=”talker.py” />

           <node name=”$(anon foo)” pkg=”rospy_tutorials” type=”talker.py” />

      $(arg foo)   查找使用<arg>标签定义的foo的值

      $(eval <expression>) 允许计算复杂的表达式 如:

     <param name=”circumference” value=”$(eval 2.* 3.1415 * arg(‘radius’))”/>

      4.if和unless属性

      所有的标签都支持if和unless属性,1和true认为是真值,0和false认为是假值。

  • if=value (optional) 

    • 如果optinal为真则执行下面的操作

    unless=value (optional) 

    • 如果optinal值为假则执行下面的操作。

    •  

 

 

 

 

 

 

 

      

 


版权声明:本文为xiwangnihaoba原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。