launch标签讲解

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <link rel="canonical" href="https://blog.csdn.net/fengmengdan/article/details/42984429"/> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="referrer" content="always">
    <meta name="description" content="Launch 文件
  1 使用Launch文件
  2 创建Launch文件
  3 在namespace中启动nodes
  4 remapping names
  5 其他的launch元素
 
1 使用launch文件
Launch文件是ROS提供的,可以同时运行多个nodes的文件。Launch文件以一种特殊的XML格式编写,在ROS packages中使用广泛。
1." />
    <meta name="keywords" content="" />
    <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
    <link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
    <title>ROS launch整理 - CSDN博客</title>
    
            <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/detail-95d26ed23f.min.css">
        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/themes/big-white/big-white-02ffddfbf5.min.css">

    <script type="text/javascript">
        var username = "fengmengdan";
        var blog_address = "https://blog.csdn.net/fengmengdan";
        var static_host = "https://csdnimg.cn/release/phoenix/";
        var currentUserName = "lelelemenglele"; 
        var isShowAds = true;
        var isOwner = false;
        var loginUrl = "https://passport.csdn.net/account/login?from=https://blog.csdn.net/fengmengdan/article/details/42984429"
        var blogUrl = "https://blog.csdn.net/";
        var curSkin = "big-white";
    </script>
    <script type="text/javascript">
        // Traffic Stats of the entire Web site By baidu
        var _hmt = _hmt || [];
        (function() {
            var hm = document.createElement("script");
            hm.src = "https://hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac";
            var s = document.getElementsByTagName("script")[0];
            s.parentNode.insertBefore(hm, s);
        })();
        // Traffic Stats of the entire Web site By baidu end
    </script>
    <script src="https://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="https://csdnimg.cn/rabbit/exposure-click/main-1.0.5.js"></script>
        <script type="text/javascript" src="https://csdnimg.cn/pubfooter/js/tracking-1.0.2.js" charset="utf-8"></script>
        <link rel="stylesheet" href="https://csdnimg.cn/public/sandalstrap/1.2/css/sandalstrap.min.css"> 
    <style>
        .MathJax, .MathJax_Message, .MathJax_Preview{
            display: none
        }
    </style>
</head>
<body>    
    <link rel="stylesheet" href="https://csdnimg.cn/public/common/toolbar/content_toolbar_css/content_toolbar.css">
    <script id="toolbar-tpl-scriptId" src="https://csdnimg.cn/public/common/toolbar/js/content_toolbar.js" type="text/javascript" domain="https://blog.csdn.net/"></script>
    <script src="https://csdnimg.cn/public/sandalstrap/1.2/fonts/csdnc/csdnc.js"></script><link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/blog_code-c3a0c33d5c.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/vendor/pagination/paging.css">
<script>
    var recommendCount = 10;
    recommendCount = recommendCount > 1 ? recommendCount+1 : recommendCount;
    var articleTit = 'ROS launch整理';
    var ChannelId = 0;
    var articleId = '42984429';
    var commentscount = 2;
    var islock = false;
    var curentUrl = "https://blog.csdn.net/fengmengdan/article/details/42984429";
    var myUrl = "https://my.csdn.net/";
    //1禁止评论,2正常
    var commentAuth = 2;
    //百度搜索
    var baiduKey = "ros+launch+find";
    var needInsertBaidu = false;;
</script>

<header>
	<div class="container d-flex clearfix">
		<div class="title-box">
			<h6 class="title-blog">
				<a href="https://blog.csdn.net/fengmengdan">fengmengdan的专栏</a>
			</h6>
			<p class="description"></p>
		</div>
		<div class="opt-box d-flex justify-content-end">
			<a class="btn btn-sm" href="https://blog.csdn.net/fengmengdan/rss/list">
					<svg class="icon" aria-hidden="true">
						<use xlink:href="#csdnc-rss"></use>
					</svg>RSS订阅</a>
					</div>
	</div>
</header><script src="https://dup.baidustatic.com/js/ds.js"></script>
<div class="container clearfix pt0" id="mainBox">
    <aside>
		    <div id="asideProfile" class="aside-box">
    <h3 class="aside-title">个人资料</h3>
    <div class="profile-intro d-flex">
        <div class="avatar-box d-flex justify-content-center flex-column">
            <a href="https://blog.csdn.net/fengmengdan">
                <img src="https://avatar.csdn.net/6/A/4/3_fengmengdan.jpg" class="avatar_pic">
            </a>
        </div>
        <div class="user-info d-flex justify-content-center flex-column">
            <p class="name csdn-tracking-statistics tracking-click" data-mod="popu_379">
                <a href="https://blog.csdn.net/fengmengdan" target="_blank" class="text-truncate" id="uid">fengmengdan</a>
            </p>
                    </div>
                <div class="opt-box d-flex justify-content-center flex-column">
            <span  class="csdn-tracking-statistics tracking-click" data-mod="popu_379">
                                <a class="btn btn-sm btn-red-hollow" id="btnAttent">关注</a>
                            </span>
            
        </div>
            </div>
    <div class="data-info d-flex item-tiling">
        <dl class="text-center" title="7">
            <dt>原创</dt>
            <dd><span class="count">7</span></dd>
        </dl>
        <dl class="text-center" title="23">
            <dt>粉丝</dt>
            <dd id='fan'><span class="count">23</span></dd>
        </dl>
        <dl class="text-center" title="6">
            <dt>喜欢</dt>
            <dd><span class="count">6</span></dd>
        </dl>
        <dl class="text-center" title="27">
            <dt>评论</dt>
            <dd><span class="count">27</span></dd>
        </dl>
    </div>
    <div class="grade-box clearfix">
        <dl>
            <dt>等级:</dt>
            <dd>
                <a href="https://blog.csdn.net/home/help.html#level" title="2级,点击查看等级说明" target="_blank">
                    <svg class="icon icon-level" aria-hidden="true">
                        <use xlink:href="#csdnc-bloglevel-2"></use>
                    </svg>
                </a>
            </dd>
        </dl>
        <dl>
            <dt>访问:</dt>
            <dd title="32058">
                3万+            </dd>
        </dl>
        <dl>
            <dt>积分:</dt>
            <dd title="406">
                406            </dd>
        </dl>
        <dl title="121672">
            <dt>排名:</dt>
            <dd>12万+</dd>
        </dl>
    </div>
        <div class="badge-box d-flex">
        <span>勋章:</span>
                        <a class="icon-badge" title="持之以恒">
            <svg class="icon" aria-hidden="true">
                <use xlink:href="#csdnc-m-lasting"></use>
            </svg>
            <div class="icon-arrow"></div>
            <div class="grade-detail-box item2">
                <div class="pos-box">
                    <div class="left-box d-flex justify-content-center align-items-center flex-column">
                        <svg class="icon" aria-hidden="true">
                            <use xlink:href="#csdnc-m-lasting"></use>
                        </svg>
                        <p>持之以恒</p>
                    </div>
                    <div class="right-box d-flex justify-content-center align-items-center">
                        授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
                    </div>
                </div>
            </div>
        </a>
                            </div>
    </div>		    <div class="csdn-tracking-statistics mb8 box-shadow" data-pid="blog" data-mod="popu_4" style="height:250px;">
    <div class="aside-content text-center" id="cpro_u2734133">
        <!-- 投放代码 -->
        <script type="text/javascript" src="//cee1.iteye.com/lgyyovfyh.js"></script>
    </div>
</div>
		    <div id="asideNewArticle" class="aside-box">
    <h3 class="aside-title">最新文章</h3>
    <div class="aside-content">
        <ul class="inf_list clearfix csdn-tracking-statistics tracking-click" data-mod="popu_382">
                        <li class="clearfix">
                <a href="https://blog.csdn.net/fengmengdan/article/details/50465761" target="_blank">caffe训练siamese network</a>
            </li>
                        <li class="clearfix">
                <a href="https://blog.csdn.net/fengmengdan/article/details/50185265" target="_blank">epoch和iteration的区别</a>
            </li>
                        <li class="clearfix">
                <a href="https://blog.csdn.net/fengmengdan/article/details/50179385" target="_blank">Caffe 跑自己的数据和训练</a>
            </li>
                        <li class="clearfix">
                <a href="https://blog.csdn.net/fengmengdan/article/details/42460965" target="_blank">(四)理解ROS topics</a>
            </li>
                        <li class="clearfix">
                <a href="https://blog.csdn.net/fengmengdan/article/details/42388941" target="_blank">(三)理解ROS Nodes(节点)</a>
            </li>
                    </ul>
    </div>
</div>
		    		    <div id="asideCategory" class="aside-box">
    <h3 class="aside-title">个人分类</h3>
    <div class="aside-content">
        <ul>
                        <li>
                <a href="https://blog.csdn.net/fengmengdan/article/category/6004263">
                    深度学习                    <span class="count float-right">2篇</span>
                </a>
            </li>
                        <li>
                <a href="https://blog.csdn.net/fengmengdan/article/category/6004443">
                    Caffe                    <span class="count float-right">2篇</span>
                </a>
            </li>
                    </ul>
    </div>
    </div>
		    <div id="asideArchive" class="aside-box">
    <h3 class="aside-title">归档</h3>
    <div class="aside-content">
        <ul class="archive-list">
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/fengmengdan/article/month/2016/01">
                    2016年1月                    <span class="count float-right">2篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/fengmengdan/article/month/2015/12">
                    2015年12月                    <span class="count float-right">1篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/fengmengdan/article/month/2015/01">
                    2015年1月                    <span class="count float-right">6篇</span>
                </a>
            </li>
                    </ul>
    </div>
    </div>
		    <div id="asideHotArticle" class="aside-box">
	<h3 class="aside-title">热门文章</h3>
	<div class="aside-content">
		<ul class="hotArticle-list csdn-tracking-statistics tracking-click" data-mod="popu_521">
							<li>
					<a href="https://blog.csdn.net/fengmengdan/article/details/42984429">ROS launch整理</a>
					<p class="read">阅读量:<span>9195</span></p>
				</li>
							<li>
					<a href="https://blog.csdn.net/fengmengdan/article/details/50179385">Caffe 跑自己的数据和训练</a>
					<p class="read">阅读量:<span>8514</span></p>
				</li>
							<li>
					<a href="https://blog.csdn.net/fengmengdan/article/details/50465761">caffe训练siamese network</a>
					<p class="read">阅读量:<span>6982</span></p>
				</li>
							<li>
					<a href="https://blog.csdn.net/fengmengdan/article/details/50185265">epoch和iteration的区别</a>
					<p class="read">阅读量:<span>2496</span></p>
				</li>
							<li>
					<a href="https://blog.csdn.net/fengmengdan/article/details/42388941">(三)理解ROS Nodes(节点)</a>
					<p class="read">阅读量:<span>1936</span></p>
				</li>
					</ul>
	</div>
</div>
		    <div id="asideNewComments" class="aside-box">
    <h3 class="aside-title">最新评论</h3>
    <div class="aside-content">
        <ul class="newcomment-list">
                        <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/fengmengdan/article/details/50465761#comments">caffe训练siamese ne...</a>
                <p class="comment">
                    <a href="https://my.csdn.net/qq_29043783" class="user-name" target="_blank">qq_29043783</a>:[reply]qingzhiqumoshi[/reply]
请问这个问题您解决了吗                </p>
            </li>
                        <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/fengmengdan/article/details/42984429#comments">ROS launch整理</a>
                <p class="comment">
                    <a href="https://my.csdn.net/cookie909" class="user-name" target="_blank">cookie909</a>:厉害厉害,解析就是要这种,一看就懂,自己总结,而不仅仅是官网翻译,超赞                </p>
            </li>
                        <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/fengmengdan/article/details/42984429#comments">ROS launch整理</a>
                <p class="comment">
                    <a href="https://my.csdn.net/wojiushiwo552" class="user-name" target="_blank">wojiushiwo552</a>:这是我见过的最详细介绍launch文件的博客,谢谢博主!!!                </p>
            </li>
                        <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/fengmengdan/article/details/50465761#comments">caffe训练siamese ne...</a>
                <p class="comment">
                    <a href="https://my.csdn.net/qq_34717531" class="user-name" target="_blank">qq_34717531</a>:用自己的图片mnist_siamese_train_leveldb和mnist_siamese_t...                </p>
            </li>
                        <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/fengmengdan/article/details/50465761#comments">caffe训练siamese ne...</a>
                <p class="comment">
                    <a href="https://my.csdn.net/qingzhiqumoshi" class="user-name" target="_blank">qingzhiqumoshi</a>:您好,我想问一下在train.txt中每一行是两张图片的路径,那标记放在哪里,是紧随其后还是单有一...                </p>
            </li>
                    </ul>
    </div>
</div>
		<div id="asideFooter">
			
		<div class="aside-box">
						<script type="text/javascript" src="//cee1.iteye.com/avneunkwb.js"></script>
					</div>
				<div class="aside-box">
			<div class="persion_article">
			</div>
		</div>
	</div>
</aside>
<script src="https://csdnimg.cn/pubfooter/js/publib_footer-1.0.3.js?20180309" data-isfootertrack="false" type="text/javascript"></script>
<script>
	$("a.flexible-btn").click(function(){
		$(this).parents('div.aside-box').removeClass('flexible-box');
		$(this).remove();
	})
</script>
    <main>
        <div class="blog-content-box">
	<div class="article-title-box">
			<span class="article-type type-1 float-left">原</span>		<h6 class="title-article">ROS launch整理</h6>
	</div>
	<div class="article-info-box">
		<div class="article-bar-top d-flex">
												<span class="time">2015年01月21日 22:37:49</span>
			<div class="float-right">
				<span class="read-count">阅读数:9209</span>
											</div>
		</div>
	</div>
	<article>
		<div id="article_content" class="article_content csdn-tracking-statistics" data-pid="blog"  data-mod=popu_307  data-dsm = "post" >
                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/htmledit_views-0a60691e80.css" />
            <div class="htmledit_views">
                
<h1><strong> Launch <span style="font-family:'宋体';">文件</span></strong></h1>
<h3>  1 <span style="font-family:'宋体';">使用</span><span style="font-family:'Times New Roman';">Launch</span><span style="font-family:'宋体';">文件<br /></span>  2 <span style="font-family:'宋体';">创建</span><span style="font-family:'Times New Roman';">Launch</span><span style="font-family:'宋体';">文件<br /></span>  3 <span style="font-family:'宋体';">在</span><span style="font-family:'Times New Roman';">namespace</span><span style="font-family:'宋体';">中启动</span><span style="font-family:'Times New Roman';">nodes<br /></span>  4 remapping <span style="font-family:'宋体';">names<br /></span>  5 <span style="font-family:'宋体';">其他的</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">元素</span></h3>
<p> </p>
<h3><span style="font-size:18px;">1 <span style="font-family:'宋体';">使用</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件</span></span></h3>
<p>Launch<span style="font-family:'宋体';">文件是</span><span style="font-family:'Times New Roman';">ROS</span><span style="font-family:'宋体';">提供的,可以同时运行多个</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">的文件。</span><span style="font-family:'Times New Roman';">Launch</span><span style="font-family:'宋体';">文件以一种特殊的</span><span style="font-family:'Times New Roman';">XML</span><span style="font-family:'宋体';">格式编写,在</span><span style="font-family:'Times New Roman';">ROS packages</span><span style="font-family:'宋体';">中使用广泛。</span></p>
<pre><strong><span style="font-size:14px;">1.1 <span style="font-family:'宋体';">运行</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件</span></span></strong></pre>
<pre><span style="background-color:rgb(255,255,0);">$ roslaunch package_name launch_file_name</span></pre>
<p>Eg: roslaunch turtlesim example.launch</p>
<pre><strong>(1)Tip1: rosrun<span style="font-family:'宋体';">只能运行一个</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">, </span><span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">可以同时运行多个</span><span style="font-family:'Times New Roman';">nodes.</span></strong></pre>
<p>Tip2: launch<span style="font-family:'宋体';">文件可以不被包含于</span><span style="font-family:'Times New Roman';">package</span><span style="font-family:'宋体';">中。此时,只需指出该</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件的绝对路径,即可运行。</span></p>
<p><span style="background-color:rgb(255,255,0);">$ roslaunch completely_path</span></p>
<p>Eg<span style="font-family:'宋体';">:</span><span style="font-family:'Times New Roman';">$ roslaunch ~/opt/ros/indigo/share/turtlesim/launch/example.launch</span></p>
<p>Tip3: <span style="font-family:'宋体';">为便于执行,每个</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">最好是相互独立的。</span></p>
<pre><strong>(2)详细显示<span style="font-family:'Times New Roman';">(request verbosity)</span></strong></pre>
<p><span style="background-color:rgb(255,255,0);">$ roslaunch -v package_name launch_file_name</span></p>
<pre><strong>(3) 结束<span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件</span></strong></pre>
<p>ctrl+c</p>
<p> </p>
<p><span style="font-size:18px;"><strong>2 <span style="font-family:'宋体';">创建</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件</span></strong></span></p>
<p>(1) launch<span style="font-family:'宋体';">文件一般以</span><span style="font-family:'Times New Roman';">.launch</span><span style="font-family:'宋体';">后缀作为文件名,放在</span><span style="font-family:'Times New Roman';">package</span><span style="font-family:'宋体';">的</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件夹下。最简单的</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件可以仅包含几个</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">。</span></p>
<p>(2) Launch<span style="font-family:'宋体';">文件是</span><span style="font-family:'Times New Roman';">XML</span><span style="font-family:'宋体';">文件,每个</span><span style="font-family:'Times New Roman';">XML</span><span style="font-family:'宋体';">文件必须有一个</span><span style="font-family:'Times New Roman';">root element</span><span style="font-family:'宋体';">。而</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件的</span><span style="font-family:'Times New Roman';">root element</span><span style="font-family:'宋体';">由一对</span><span style="font-family:'Times New Roman';">launch </span><span style="font-family:'宋体';">标签定义。</span></p>
<p><launch></p>
<p>...</p>
<p></launch></p>
<p>Launch<span style="font-family:'宋体';">文件中的其他</span><span style="font-family:'Times New Roman';">elements</span><span style="font-family:'宋体';">必须都在这一对</span><span style="font-family:'Times New Roman';">tags</span><span style="font-family:'宋体';">之间。</span></p>
<p>(3) launch<span style="font-family:'宋体';">文件的核心是一系列</span><span style="font-family:'Times New Roman';">node elements</span><span style="font-family:'宋体';">,每个</span><span style="font-family:'Times New Roman';">node element</span><span style="font-family:'宋体';">启动一个</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">。</span><span style="font-family:'Times New Roman';">Node element</span><span style="font-family:'宋体';">看起来如下:</span></p>
<p><span style="background-color:rgb(255,255,0);"><node</span></p>
<p><span style="background-color:rgb(255,255,0);">  pkg=”package_name” type=”executable_name” name=”node_name”</span></p>
<p><span style="background-color:rgb(255,255,0);">/></span></p>
<p>Tip1: <span style="font-family:'宋体';">最后的“</span><span style="font-family:'Times New Roman';">/</span><span style="font-family:'宋体';">”是必不可少的。</span></p>
<p>Tip2: <span style="font-family:'宋体';">也可以写成</span><span style="font-family:'Times New Roman';"><node pkg=</span>”..” type=”...” name=”...”></node></p>
<p>如果该<span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">中有其他</span><span style="font-family:'Times New Roman';">tags</span><span style="font-family:'宋体';">,则必须使用这种形式。</span></p>
<p>(4) 一个<span style="font-family:'Times New Roman';">node element</span><span style="font-family:'宋体';">包含三个必须的属性:</span><span style="font-family:'Times New Roman';">pkg, type, name.</span></p>
<p>pkg<span style="font-family:'宋体';">和</span><span style="font-family:'Times New Roman';">type</span><span style="font-family:'宋体';">属性指出</span><span style="font-family:'Times New Roman';">ROS</span><span style="font-family:'宋体';">应该运行哪个</span><span style="font-family:'Times New Roman';">pkg</span><span style="font-family:'宋体';">中的哪个</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">,注意:此处的</span><span style="font-family:'Times New Roman';">type</span><span style="font-family:'宋体';">是可执行文件的名称,而</span><span style="font-family:'Times New Roman';">name</span><span style="font-family:'宋体';">则是可以任意给出的,它覆盖了原有文件中</span><span style="font-family:'Times New Roman';">ros::init</span><span style="font-family:'宋体';">指定的</span><span style="font-family:'Times New Roman';">node name</span><span style="font-family:'宋体';">。</span></p>
<p>(5) 使用匿名(<span style="font-family:'Times New Roman';">anonymous name</span><span style="font-family:'宋体';">)</span></p>
<p> <span style="background-color:rgb(255,153,255);"> name=”$(anon base_name)”</span></p>
<p>(6) node <span style="font-family:'宋体';">日志文件(</span><span style="font-family:'Times New Roman';">log file</span><span style="font-family:'宋体';">)</span></p>
<p>运行<span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">和用</span><span style="font-family:'Times New Roman';">rosrun</span><span style="font-family:'宋体';">运行单个节点的区别之一是,默认情况下,</span><span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">运行的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">的标准输出会重定向到</span><span style="font-family:'Times New Roman';">log file</span><span style="font-family:'宋体';">,不显示在控制台。</span></p>
<p>该日志文件的位置和名称如下:</p>
<p><span style="background-color:rgb(51,255,255);">~/.ros/log/run_id/node_name-number-stdout.log</span></p>
<p>其中,<span style="font-family:'Times New Roman';">run_id</span><span style="font-family:'宋体';">是</span><span style="font-family:'Times New Roman';">master</span><span style="font-family:'宋体';">启动后生成的特殊标识符,</span><span style="font-family:'Times New Roman';">number</span><span style="font-family:'宋体';">是表示</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">数量的整数。如,</span><span style="font-family:'Times New Roman';">turtlesim-1-stdout.log; teleop_key-3-stdout.log.</span></p>
<p>(7) 输出到控制台</p>
<p>用<span style="font-family:'Times New Roman';">output</span><span style="font-family:'宋体';">属性, </span><span style="background-color:rgb(255,153,255);"><span style="font-family:'Times New Roman';">output=</span>”screen”</span>;这种方法仅显示一个<span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">。</span></p>
<p>若显示所有<span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">的输出,用</span><span style="font-family:'Times New Roman';">--screen</span><span style="font-family:'宋体';">命令行。</span></p>
<p><span style="background-color:rgb(255,255,51);">$ roslaunch --screen package_name launch_file_name</span></p>
<p>如果正在运行的文件没有显示想要对输出,可以查看该<span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">属性集中是否有 </span><span style="font-family:'Times New Roman';">output=</span>”screen”.</p>
<p>(8) 要求重生<span style="font-family:'Times New Roman';">(request respawning)</span></p>
<p>    开启所有<span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">后,</span><span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">会监视每个</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">,记录那些仍然活动的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">。对于每个</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">,当其终止后,我们可以要求</span><span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">重启该</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">,通过使用</span><span style="font-family:'Times New Roman';">respawn</span><span style="font-family:'宋体';">属性。</span></p>
<p>   <span style="background-color:rgb(255,153,255);"> respawn=”true”</span></p>
<p>(10) 必需的<span style="font-family:'Times New Roman';">nodes</span></p>
<p>required<span style="font-family:'宋体';">属性与</span><span style="font-family:'Times New Roman';">respawn</span><span style="font-family:'宋体';">相反,不能同时对同一个</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">使用。</span></p>
<p><span style="background-color:rgb(255,153,255);">required=”true”</span></p>
<p>当一个<span style="font-family:'Times New Roman';">required node</span><span style="font-family:'宋体';">终止后,所有其他的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">都会终止,并退出。这种命令有时很有用。比如,当一个很重要的</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">失败后,整个会话都会被扔掉,那些加上了</span><span style="font-family:'Times New Roman';">respawn</span><span style="font-family:'宋体';">属性的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">也会停止。</span></p>
<p>(11) 在独立的窗口运行各<span style="font-family:'Times New Roman';">nodes</span></p>
<p>我们在各自的<span style="font-family:'Times New Roman';">termin</span><span style="font-family:'宋体';">运行</span><span style="font-family:'Times New Roman';">rosrun node_name</span><span style="font-family:'宋体';">;但是运行</span><span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">时,所有的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">共用一个相同的</span><span style="font-family:'Times New Roman';">terminal</span><span style="font-family:'宋体';">,这对于那些需要从控制台输入的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">很不方便。可以使用</span><span style="font-family:'Times New Roman';">launch-prefix</span><span style="font-family:'宋体';">属性。</span></p>
<p><span style="background-color:rgb(255,153,255);">launch-prefix=”command-prefix”</span></p>
<p>Eg<span style="font-family:'宋体';">:</span><span style="font-family:'Times New Roman';">launch-prefix=</span>”xterm -e”</p>
<p>等价于 <span style="font-family:'Times New Roman';">xterm -e rosrun turtlesim turtle_teleop_key</span></p>
<p>xterm <span style="font-family:'宋体';">命令表示新建一个</span><span style="font-family:'Times New Roman';">terminal</span><span style="font-family:'宋体';">; </span><span style="font-family:'Times New Roman';">-e</span><span style="font-family:'宋体';">参数告诉</span><span style="font-family:'Times New Roman';">xterm</span><span style="font-family:'宋体';">执行剩下的命令行。</span></p>
<p>当然,<span style="font-family:'Times New Roman';">launch-prefix</span><span style="font-family:'宋体';">属性不仅仅限于</span><span style="font-family:'Times New Roman';">xterm</span><span style="font-family:'宋体';">。它可用于调试(通过</span><span style="font-family:'Times New Roman';">gdb</span><span style="font-family:'宋体';">或</span><span style="font-family:'Times New Roman';">valgrind</span><span style="font-family:'宋体';">),或用于降低进程的执行顺序(通过</span><span style="font-family:'Times New Roman';">nice</span><span style="font-family:'宋体';">)</span><span style="font-family:'Times New Roman';">.</span></p>
<p> </p>
<p><span style="font-size:18px;"><strong>3 <span style="font-family:'宋体';">在</span><span style="font-family:'Times New Roman';">namespace</span><span style="font-family:'宋体';">中执行</span><span style="font-family:'Times New Roman';">nodes</span></strong></span></p>
<p>为<span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">设置默认的</span><span style="font-family:'Times New Roman';">namespace</span><span style="font-family:'宋体';">的常用方法——被称为“</span><span style="font-family:'Times New Roman';">pushing down into a namespace</span><span style="font-family:'宋体';">”的进程,用于</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件,并在其</span><span style="font-family:'Times New Roman';">node element</span><span style="font-family:'宋体';">中指定</span><span style="font-family:'Times New Roman';">ns</span><span style="font-family:'宋体';">属性。</span></p>
<p><span style="background-color:rgb(255,153,255);">ns=”namespace”</span></p>
<p>launch<span style="font-family:'宋体';">文件中的</span><span style="font-family:'Times New Roman';">node names</span><span style="font-family:'宋体';">是</span><span style="font-family:'Times New Roman';">relative names</span><span style="font-family:'宋体';">。同一个</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件中,允许不同</span><span style="font-family:'Times New Roman';">namespace</span><span style="font-family:'宋体';">中出现相同的</span><span style="font-family:'Times New Roman';">node names</span><span style="font-family:'宋体';">。</span><span style="font-family:'Times New Roman';">Roslaunch</span><span style="font-family:'宋体';">要求</span><span style="font-family:'Times New Roman';">node names</span><span style="font-family:'宋体';">必须是</span><span style="font-family:'Times New Roman';">base names</span><span style="font-family:'宋体';">——不指定任何</span><span style="font-family:'Times New Roman';">namespaces</span><span style="font-family:'宋体';">的</span><span style="font-family:'Times New Roman';">relative names</span><span style="font-family:'宋体';">;如果</span><span style="font-family:'Times New Roman';">node element</span><span style="font-family:'宋体';">中出现</span><span style="font-family:'Times New Roman';">node name</span><span style="font-family:'宋体';">为</span><span style="font-family:'Times New Roman';">global name</span><span style="font-family:'宋体';">,则会报错。</span></p>
<p> </p>
<p><span style="font-size:18px;"><strong>4 <span style="font-family:'宋体';">重映射</span><span style="font-family:'Times New Roman';">names</span><span style="font-family:'宋体';">(</span><span style="font-family:'Times New Roman';">remapping names</span><span style="font-family:'宋体';">)</span></strong></span></p>
<p>除了解析<span style="font-family:'Times New Roman';">relative names</span><span style="font-family:'宋体';">和</span><span style="font-family:'Times New Roman';">private names</span><span style="font-family:'宋体';">,</span><span style="font-family:'Times New Roman';">ROS</span><span style="font-family:'宋体';">也支持重映射,用于修改</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">当前使用的名称。</span></p>
<p>重映射相当于换名,每次重映射需提供一个<span style="font-family:'Times New Roman';">original name</span><span style="font-family:'宋体';">和一个</span><span style="font-family:'Times New Roman';">new name</span><span style="font-family:'宋体';">。每次</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">使用它的</span><span style="font-family:'Times New Roman';">original name, ROS client library</span><span style="font-family:'宋体';">都会将其替换为</span><span style="font-family:'Times New Roman';">remapping name</span><span style="font-family:'宋体';">。</span></p>
<p><span style="font-family:'宋体';"><br /></span></p>
<p><span style="font-family:'宋体';">创建</span><span style="font-family:'Times New Roman';">remapping name</span>两种方法:</p>
<p>1. 对于单个<span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">,在命令行进行</span><span style="font-family:'Times New Roman';">remapping(remap</span><span style="font-family:'宋体';">对象可以是</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">,</span><span style="font-family:'Times New Roman';">topic</span><span style="font-family:'宋体';">等</span><span style="font-family:'Times New Roman';">)</span><span style="font-family:'宋体';">。</span></p>
<p>   original-name:=new-name</p>
<p>Eg: <span style="background-color:rgb(255,255,51);">$ rosrun turtlesim turtlesim_node turtle1/pose:=tim</span></p>
<p><br /></p>
<p>2. 在<span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件内</span><span style="font-family:'Times New Roman';">remap names</span><span style="font-family:'宋体';">,使用</span><span style="font-family:'Times New Roman';">remap element</span></p>
<p>  <span style="background-color:rgb(255,153,255);"><remap from=”original_name” to “new_name”></span></p>
<p>如果<span style="font-family:'Times New Roman';">remap</span><span style="font-family:'宋体';">出现在</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件开头,作为</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件的子元素,则该</span><span style="font-family:'Times New Roman';">remapping</span><span style="font-family:'宋体';">将被用于随后所有的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">。如果</span><span style="font-family:'Times New Roman';">remap</span><span style="font-family:'宋体';">作为某个</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">的子元素,则只用于该节点。</span></p>
<p>Eg<span style="font-family:'宋体';">:</span><span style="font-family:'Times New Roman';"><node pkg=</span>”turtlesim” type=”turtlesim_node” name=”turtle1”></p>
<p>    <remap from =”turtle1/pose” to “tim”></p>
<p></node></p>
<p>注意:在<span style="font-family:'Times New Roman';">ROS</span><span style="font-family:'宋体';">进行</span><span style="font-family:'Times New Roman';">remapping</span><span style="font-family:'宋体';">之前,</span><span style="font-family:'Times New Roman';">remaping</span><span style="font-family:'宋体';">的所有</span><span style="font-family:'Times New Roman';">name</span><span style="font-family:'宋体';">,包括</span><span style="font-family:'Times New Roman';">original</span><span style="font-family:'宋体';">和</span><span style="font-family:'Times New Roman';">new names</span><span style="font-family:'宋体';">,都将被解析为</span><span style="font-family:'Times New Roman';">global names</span><span style="font-family:'宋体';">。所以,</span><span style="font-family:'Times New Roman';">remapping</span><span style="font-family:'宋体';">之后所有的名字通常都是</span><span style="font-family:'Times New Roman';">relative names</span><span style="font-family:'宋体';">。</span></p>
<p> </p>
<p><strong><span style="font-size:18px;">5 <span style="font-family:'宋体';">其他的</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';"> </span><span style="font-family:'Times New Roman';">elements</span></span></strong></p>
<p><strong><span style="font-size:14px;">5.1 including<span style="font-family:'宋体';">其他文件</span></span></strong></p>
<p>为包含其他<span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件,包括这些</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件的所有</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">和</span><span style="font-family:'Times New Roman';">parameters</span><span style="font-family:'宋体';">,用</span><span style="font-family:'Times New Roman';">include element</span><span style="font-family:'宋体';">。</span></p>
<p><span style="background-color:rgb(255,153,255);"><include file=”path-to-launch-file”></span></p>
<p>这种情况下,<span style="font-family:'Times New Roman';">file</span><span style="font-family:'宋体';">属性必须写出该</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件的全部路径名称,显得很繁琐。因此,常用</span></p>
<p><span style="background-color:rgb(255,153,255);"><include file=”$(find package_name)/launch_file_name”/></span></p>
<p>注意,执行该<span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件时,</span><span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">会搜索该</span><span style="font-family:'Times New Roman';">package</span><span style="font-family:'宋体';">下的所有子目录;因此,必须给出</span><span style="font-family:'Times New Roman';">package_name</span><span style="font-family:'宋体';">。此外,</span><span style="font-family:'Times New Roman';">include</span><span style="font-family:'宋体';">也支持</span><span style="font-family:'Times New Roman';">ns</span><span style="font-family:'宋体';">属性,将它的内容放进指定的</span><span style="font-family:'Times New Roman';">namespace</span><span style="font-family:'宋体';">。</span></p>
<p><span style="background-color:rgb(255,153,255);"><include file=”...” ns=”namespace_name”/></span></p>
<p><br /></p>
<p><strong><span style="font-size:14px;">5.2 Launch arguments</span></strong></p>
<p>为便于<span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件重构,</span><span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">支持</span><span style="font-family:'Times New Roman';">launch arguments,</span><span style="font-family:'宋体';">也成为</span><span style="font-family:'Times New Roman';">arguments</span><span style="font-family:'宋体';">或者</span><span style="font-family:'Times New Roman';">args</span><span style="font-family:'宋体';">,类似于局部变量。</span></p>
<p>注意:尽管<span style="font-family:'Times New Roman';">argument</span><span style="font-family:'宋体';">和</span><span style="font-family:'Times New Roman';">parameter</span><span style="font-family:'宋体';">有时可互换,但他们在</span><span style="font-family:'Times New Roman';">ROS</span><span style="font-family:'宋体';">中的意义完全不同。</span><span style="font-family:'Times New Roman';">Parameters</span><span style="font-family:'宋体';">是</span><span style="font-family:'Times New Roman';">ROS</span><span style="font-family:'宋体';">系统使用的数值,存在</span><span style="font-family:'Times New Roman';">parameter server</span><span style="font-family:'宋体';">上,</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">可通过</span><span style="font-family:'Times New Roman';">ros::param::get</span><span style="font-family:'宋体';">函数编程得到,用户可通过</span><span style="font-family:'Times New Roman';">rosparam</span><span style="font-family:'宋体';">获取。与之不同,</span><span style="font-family:'Times New Roman';">arguments</span><span style="font-family:'宋体';">仅在</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件内部有意义,</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">不能直接获取它们的值。</span></p>
<p>(1)<span style="font-family:'宋体';">声明</span><span style="font-family:'Times New Roman';">argument</span></p>
<p><span style="background-color:rgb(255,153,255);"><arg name=”arg_name”></span></p>
<p>(2)指定<span style="font-family:'Times New Roman';">argument</span><span style="font-family:'宋体';">的值</span></p>
<p>Launch<span style="font-family:'宋体';">文件中的每个</span><span style="font-family:'Times New Roman';">argument</span><span style="font-family:'宋体';">都必须有指定值。赋值方法有好几种。</span></p>
<p>第一种,在命令行赋值</p>
<p><span style="background-color:rgb(255,255,51);">$ roslaunch package_name launch_file_name arg-name:=arg_value</span></p>
<p>第二种,在声明<span style="font-family:'Times New Roman';">argument</span><span style="font-family:'宋体';">时赋值</span></p>
<p><span style="background-color:rgb(255,153,255);"><arg name=”arg_name” default=”arg_name”/></span></p>
<p><span style="background-color:rgb(255,153,255);"><arg name=”arg_name” value=”arg_name”/></span></p>
<p>上面两行的区别在于,命令行参数可以覆盖<span style="font-family:'Times New Roman';">default</span><span style="font-family:'宋体';">,但是不能重写</span><span style="font-family:'Times New Roman';">value</span><span style="font-family:'宋体';">的值。</span></p>
<p>(3)获取变量值</p>
<p>一旦声明某个<span style="font-family:'Times New Roman';">argument</span><span style="font-family:'宋体';">并赋值后,我们可以通过</span><span style="font-family:'Times New Roman';">arg</span><span style="font-family:'宋体';">使用该</span><span style="font-family:'Times New Roman';">argument.</span></p>
<p><span style="background-color:rgb(255,153,255);">$(arg arg-name)</span></p>
<p>如果该行出现,<span style="font-family:'Times New Roman';">roslaunch</span><span style="font-family:'宋体';">将会用给定</span><span style="font-family:'Times New Roman';">arg-name</span><span style="font-family:'宋体';">的值替换其左边的值。</span></p>
<p>(4)将<span style="font-family:'Times New Roman';">argument</span><span style="font-family:'宋体';">值传给</span><span style="font-family:'Times New Roman';">included launch</span><span style="font-family:'宋体';">文件</span></p>
<p><include file=”path-to-file”></p>
<p><arg name=”arg_name” value=”arg_value”/></p>
<p>......</p>
<p></include></p>
<p>若在<span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件中,</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件及其包含的</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件出现出现相同的</span><span style="font-family:'Times New Roman';">arguments</span><span style="font-family:'宋体';">,则需在</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件及</span><span style="font-family:'Times New Roman';">included launch</span><span style="font-family:'宋体';">文件中同时写:</span></p>
<p><span style="background-color:rgb(255,153,255);"><arg name=”arg_name” value=”$(arg arg_name)”/></span></p>
<p>第一个<span style="font-family:'Times New Roman';">arg_name</span><span style="font-family:'宋体';">表示</span><span style="font-family:'Times New Roman';">indluded launch</span><span style="font-family:'宋体';">文件中的</span><span style="font-family:'Times New Roman';">argument,</span><span style="font-family:'宋体';">第二个</span><span style="font-family:'Times New Roman';">arg_name</span><span style="font-family:'宋体';">表示</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件中的</span><span style="font-family:'Times New Roman';">argument.</span><span style="font-family:'宋体';">其结果是指定的</span><span style="font-family:'Times New Roman';">argument</span><span style="font-family:'宋体';">在</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件及</span><span style="font-family:'Times New Roman';">included launch</span><span style="font-family:'宋体';">文件中都有相同的值。</span></p>
<p> </p>
<p><span style="font-size:14px;"><strong>5.3 <span style="font-family:'宋体';">创建</span><span style="font-family:'Times New Roman';">groups</span></strong></span></p>
<p>Group element<span style="font-family:'宋体';">可以再大型的</span><span style="font-family:'Times New Roman';">launch</span><span style="font-family:'宋体';">文件中将指定的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">组织起来。它有两个用处:</span></p>
<p>其一,<span style="font-family:'Times New Roman';">group</span><span style="font-family:'宋体';">可以将几个</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">放进同一个</span><span style="font-family:'Times New Roman';">namespace</span></p>
<p><group <span style="background-color:rgb(255,153,255);">ns</span>=”namespace”></p>
<p><node pkg=”..” .../></p>
<p><node pkg=”..” .../></p>
<p>......</p>
<p></group></p>
<p>注意,如果<span style="font-family:'Times New Roman';">grouped node</span><span style="font-family:'宋体';">已经有它自己的</span><span style="font-family:'Times New Roman';">namespace</span><span style="font-family:'宋体';">,并且是</span><span style="font-family:'Times New Roman';">relative name</span><span style="font-family:'宋体';">,那么该</span><span style="font-family:'Times New Roman';">node</span><span style="font-family:'宋体';">的</span><span style="font-family:'Times New Roman';">namespace</span><span style="font-family:'宋体';">是其</span><span style="font-family:'Times New Roman';">relative name</span><span style="font-family:'宋体';">,并以</span><span style="font-family:'Times New Roman';">group namespace</span><span style="font-family:'宋体';">为后缀。</span></p>
<p>其二,<span style="font-family:'Times New Roman';">group</span><span style="font-family:'宋体';">可以同时启动或者终止一组</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">。</span></p>
<p><group <span style="background-color:rgb(255,153,255);">if</span>=”0 or 1”></p>
<p>......</p>
<p></group></p>
<p>如果该属性的值是<span style="font-family:'Times New Roman';">1</span><span style="font-family:'宋体';">,一切正常;如果该属性的值为</span><span style="font-family:'Times New Roman';">0</span><span style="font-family:'宋体';">,那么</span><span style="font-family:'Times New Roman';">group</span><span style="font-family:'宋体';">内所有的</span><span style="font-family:'Times New Roman';">nodes</span><span style="font-family:'宋体';">都不会运行。</span></p>
<p>同理,除了<span style="font-family:'Times New Roman';">if</span><span style="font-family:'宋体';">,还有</span><span style="font-family:'Times New Roman';">unless</span><span style="font-family:'宋体';">。</span></p>
<p><group <span style="background-color:rgb(255,153,255);">unless</span>=”0 or 1”></p>
<p>......</p>
<p></group></p>
<p>注意,这些属性的合法值只有<span style="font-family:'Times New Roman';">0</span><span style="font-family:'宋体';">和</span><span style="font-family:'Times New Roman';">1.</span></p>
<p>另外,<span style="font-family:'Times New Roman';">group element</span><span style="font-family:'宋体';">中只能使用</span><span style="font-family:'Times New Roman';">ns</span><span style="font-family:'宋体';">,</span><span style="font-family:'Times New Roman';">if</span><span style="font-family:'宋体';">,</span><span style="font-family:'Times New Roman';">unless</span><span style="font-family:'宋体';">这三个属性。</span></p>
            </div>
                </div>
			</article>
	
	
	<!-- !empty($pre_next_article[0]) -->
		</div>
<script>
    $(".MathJax").remove();
</script>
<script type="text/javascript" src="https://static-blog.csdn.net/mdeditor/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config"> 
    MathJax.Hub.Config({ 
			"HTML-CSS": { 
					linebreaks: { automatic: true, width: "94%container" },
					imageFont: null
			},
			tex2jax: {
				preview: "none"
			},
			mml2jax: {
				preview: 'none'
			}
	});
</script>
<script>
	(function(){
		var btnReadmore = $("#btn-readmore");
		if(btnReadmore.length>0){
			var winH = $(window).height();
			var articleBox = $("div.article_content");
			var artH = articleBox.height();
			if(artH > winH*2){
				articleBox.css({
					'height':winH*2+'px',
					'overflow':'hidden'
				})
				btnReadmore.click(function(){
					articleBox.removeAttr("style");
					$(this).parent().remove();
				})
			}else{
				btnReadmore.parent().remove();
			}
		}
	})()
</script>        <div class="edu-promotion"></div>
        <a id="commentBox"></a>
<div class="comment-box">
	  	<div class="comment-edit-box d-flex">
		<a id="commentsedit"></a>
		<div class="user-img">
			<img src="https://avatar.csdn.net/0/F/3/3_lelelemenglele.jpg">
		</div>
		<form id="commentform">
			<input type="hidden" id="comment_replyId">
			<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea>
			<div class="opt-box"> <!-- d-flex -->
				<div id="ubbtools" class="add_code">
					<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
				</div>
				<input type="hidden" id="comment_replyId" name="comment_replyId">
				<input type="hidden" id="comment_userId" name="comment_userId" value="">
				<input type="hidden" id="commentId" name="commentId" value="">
				<div style="display: none;" class="csdn-tracking-statistics tracking-click" data-mod="popu_384"><a href="#" target="_blank" class="comment_area_btn">发表评论</a></div>
				<div class="dropdown" id="myDrap">
					<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
					<div class="txt-selected text-truncate">添加代码片</div>
					<svg class="icon d-block" aria-hidden="true">
						<use xlink:href="#csdnc-triangledown"></use>
					</svg>
					</a>
					<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
						<li><a data-code="html">HTML/XML</a></li>
						<li><a data-code="objc">objective-c</a></li>
						<li><a data-code="delphi">Delphi</a></li>
						<li><a data-code="ruby">Ruby</a></li>
						<li><a data-code="php">PHP</a></li>
						<li><a data-code="csharp">C</a></li>
						<li><a data-code="cpp">C++</a></li>
						<li><a data-code="javascript">JavaScript</a></li>
						<li><a data-code="vb">Visual Basic</a></li>
						<li><a data-code="python">Python</a></li>
						<li><a data-code="java">Java</a></li>
						<li><a data-code="css">CSS</a></li>
						<li><a data-code="sql">SQL</a></li>
						<li><a data-code="plain">其它</a></li>
					</ul>
				</div>  
				<div class="right-box">
					<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
					<input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论">
				</div>
			</div>
		</form>
	</div>
			<div class="comment-list-container">
		<a id="comments"></a>
		<div class="comment-list-box">
		</div>
		<div id="commentPage" class="pagination-box d-none"></div>
		<div class="opt-box text-center">
			<button class="btn btn-sm btn-link-blue" id="btnMoreComment"></button>
		</div>
	</div>
</div>        <div class="recommend-box">
            		<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="-" target="_blank" strategy="EduRecommendInPriority_0">
				C#SQL查询技术			</a>
		</h4>
		<p class="content">
			<a href="-" target="_blank" strategy="EduRecommendInPriority_0">
				本课程以SQL Server 2008 R2数据库系统为例,全面介绍SQL查询技术,包括select语句,Where子句,Order By子句,Group By子句,having语句,TOP和PERCENT限制查询结果,在查询中使用OR和AND运算符,聚合函数应用,多表连接查询,嵌套查询,子查询,联合语句Union,内联接、外联接查询,交叉表查询,视图、存储过程的应用,触发器的应用等。			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<span class="read-num">学院</span>
			</p>
			<p>
				<span class="date">2018年02月02日 19:37</span>
			</p>
		</div>
	</div>
					<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/zqxf123456789/article/details/52497833" target="_blank" strategy="BlogCommendFromBaidu_1">
				ROS launch文档介绍			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/zqxf123456789/article/details/52497833" target="_blank" strategy="BlogCommendFromBaidu_1">
				本文章转自:https://charlyhuangrostutorial.wordpress.com/2015/08/12/20/

前面已经提过关于launch 档的角色,很类似bash 档,基本上...			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/zqxf123456789" title="zqxf123456789" target="_blank">
					<img src="https://avatar.csdn.net/1/3/3/3_zqxf123456789.jpg" alt="zqxf123456789" class="avatar-pic">
					<span class="name">zqxf123456789</span>
				</a>
			</p>
			<p>
				<span class="date">2016-09-10 23:13:33</span>
			</p>
			<p>
				<span class="read-num">阅读数:2990</span>
			</p>
		</div>
	</div>
				<div class="recommend-item-box recommend-ad-box" id="ad1">

			
				<script>
				(function() {
					var s = "_" + Math.random().toString(36).slice(2);
					document.write('<div id="' + s + '"></div>');
					(window.slotbydup=window.slotbydup || []).push({
						id: '4765209',
						container: s,
						size: '808,120',
						display: 'inlay-fix'
					});
				})();
				</script>
				<script src="http://dup.baidustatic.com/js/os.js"></script>

			
		</div>
				<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/sonictl/article/details/47444391" target="_blank" strategy="BlogCommendFromBaidu_5">
				ROS进阶学习手记6.1 -- Launch File			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/sonictl/article/details/47444391" target="_blank" strategy="BlogCommendFromBaidu_5">
				在以后的ROS运用中,我们逐渐需要运行多个nodes,而launch file的编写是ROS高级运用的基础。
官方的launch file wiki文档好像不是很好用:wiki.ros.org/ros...			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/sonictl" title="sonictl" target="_blank">
					<img src="https://avatar.csdn.net/C/1/0/3_sonictl.jpg" alt="sonictl" class="avatar-pic">
					<span class="name">sonictl</span>
				</a>
			</p>
			<p>
				<span class="date">2015-08-12 14:58:42</span>
			</p>
			<p>
				<span class="read-num">阅读数:2178</span>
			</p>
		</div>
	</div>
					<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/Forrest_Z/article/details/52618833" target="_blank" strategy="BlogCommendFromBaidu_3">
				roslaunch的使用和编写			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/Forrest_Z/article/details/52618833" target="_blank" strategy="BlogCommendFromBaidu_3">
				1、使用$ roslaunch package_name file.launch2、编写roslaunch文件是使用XML语言来描述节点以及相关参数的设置和软件的启动的。2.1  标签标签是任何ros...			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/Forrest_Z" title="Forrest_Z" target="_blank">
					<img src="https://avatar.csdn.net/6/0/0/3_forrest_z.jpg" alt="Forrest_Z" class="avatar-pic">
					<span class="name">Forrest_Z</span>
				</a>
			</p>
			<p>
				<span class="date">2016-09-22 09:38:04</span>
			</p>
			<p>
				<span class="read-num">阅读数:3250</span>
			</p>
		</div>
	</div>
					<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/suibianti/article/details/52809628" target="_blank" strategy="BlogCommendFromBaidu_4">
				在roslaunch中如何单独打开另一个终端			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/suibianti/article/details/52809628" target="_blank" strategy="BlogCommendFromBaidu_4">
				1、节点的定义,只要加入launch-prefix前缀即可

 
2、rviz加载配置文件可用以下语句加载...			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/suibianti" title="suibianti" target="_blank">
					<img src="https://avatar.csdn.net/3/F/E/3_suibianti.jpg" alt="suibianti" class="avatar-pic">
					<span class="name">suibianti</span>
				</a>
			</p>
			<p>
				<span class="date">2016-10-15 13:31:58</span>
			</p>
			<p>
				<span class="read-num">阅读数:1071</span>
			</p>
		</div>
	</div>
					<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/yiranhaiziqi/article/details/52949121" target="_blank" strategy="BlogCommendFromBaidu_6">
				ROS roslaunch 学习			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/yiranhaiziqi/article/details/52949121" target="_blank" strategy="BlogCommendFromBaidu_6">
				roslaunch 用处:将多个rosnode 结合起来,一起运行。这样就不需要一个个的运行。roslaunch格式 
(add_two.launch)
    
    ...			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/yiranhaiziqi" title="yiranhaiziqi" target="_blank">
					<img src="https://avatar.csdn.net/0/6/2/3_yiranhaiziqi.jpg" alt="yiranhaiziqi" class="avatar-pic">
					<span class="name">yiranhaiziqi</span>
				</a>
			</p>
			<p>
				<span class="date">2016-10-27 20:01:25</span>
			</p>
			<p>
				<span class="read-num">阅读数:2594</span>
			</p>
		</div>
	</div>
					<div class="recommend-item-box recommend-ad-box" id="yd_a_d_feed_0">
			<script>
				var new_element = document.createElement("script"); 
        new_element.setAttribute("async", "async"); 
        new_element.setAttribute("charset", "utf-8"); 
        new_element.setAttribute("data-notify", "inforFlowMulti_notify");
        new_element.setAttribute("src", "https://shared.ydstatic.com/js/yatdk/3.0.0/stream.js");
        new_element.setAttribute("data-id", "8935aa488dd58452b9e5ee3b44f1212f");

        new_element.setAttribute("data-insert-nodes", "yd_a_d_feed_0");

        new_element.setAttribute("data-pos", "inline");
        new_element.setAttribute("data-img-Style", "float:right;width:120px;");
        new_element.setAttribute("data-des-Style", "color: #8e959a;line-height: 24px;font-size:14px;font-family: 'PingFang SC', 'Microsoft YaHei', SimHei, Arial, SimSun;");
        new_element.setAttribute("data-tit-Style", "font-size:20px;font-weight:bold;margin-bottom:10px;font-family: 'PingFang SC', 'Microsoft YaHei', SimHei, Arial, SimSun;");
        new_element.setAttribute("data-div-Style", "background-image: url(//img-ads.csdn.net/2016/201608021757063065.png);background-repeat: no-repeat;background-position: bottom left;");
        document.body.appendChild(new_element);
			</script>
		</div>
			<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/XF920418/article/details/53179778" target="_blank" strategy="BlogCommendFromBaidu_7">
				ROS中launch启动文件的理解			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/XF920418/article/details/53179778" target="_blank" strategy="BlogCommendFromBaidu_7">
				ROS中launch启动文件的理解			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/XF920418" title="XF920418" target="_blank">
					<img src="https://avatar.csdn.net/4/1/D/3_xf920418.jpg" alt="XF920418" class="avatar-pic">
					<span class="name">XF920418</span>
				</a>
			</p>
			<p>
				<span class="date">2016-11-15 23:13:43</span>
			</p>
			<p>
				<span class="read-num">阅读数:2133</span>
			</p>
		</div>
	</div>
					<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/u013832707/article/details/53979461" target="_blank" strategy="BlogCommendFromBaidu_2">
				ROS中launch file基本介绍			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/u013832707/article/details/53979461" target="_blank" strategy="BlogCommendFromBaidu_2">
				在运行ros程序时我们往往需要在不同终端启动多个不同的节点,这会让人有些沮丧。幸运的是,ROS 提供了一个同时启动节点管理器(master)和多个节点的途径,即使用启动文件(launch file)。...			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/u013832707" title="u013832707" target="_blank">
					<img src="https://avatar.csdn.net/D/E/D/3_u013832707.jpg" alt="u013832707" class="avatar-pic">
					<span class="name">u013832707</span>
				</a>
			</p>
			<p>
				<span class="date">2017-01-02 16:48:20</span>
			</p>
			<p>
				<span class="read-num">阅读数:2879</span>
			</p>
		</div>
	</div>
					<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/x_r_su/article/details/54952880" target="_blank" strategy="BlogCommendFromBaidu_9">
				ROS Launch使用总结			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/x_r_su/article/details/54952880" target="_blank" strategy="BlogCommendFromBaidu_9">
				ROS Launch使用总结			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/x_r_su" title="x_r_su" target="_blank">
					<img src="https://avatar.csdn.net/7/C/9/3_x_r_su.jpg" alt="x_r_su" class="avatar-pic">
					<span class="name">x_r_su</span>
				</a>
			</p>
			<p>
				<span class="date">2017-02-09 19:10:47</span>
			</p>
			<p>
				<span class="read-num">阅读数:5383</span>
			</p>
		</div>
	</div>
					<div class="recommend-item-box csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
		<h4 class="text-truncate">
			<a href="https://blog.csdn.net/ZXQHBD/article/details/70239434" target="_blank" strategy="BlogCommendFromBaidu_8">
				ROS之launch分析			</a>
		</h4>
		<p class="content">
			<a href="https://blog.csdn.net/ZXQHBD/article/details/70239434" target="_blank" strategy="BlogCommendFromBaidu_8">
				ROS采用rosrun命令可以启动一个节点,如果需要同时启动节点管理器(master)和多个节点,就需要采用launch文件来配置。launch文件是一种特殊的XML格式文件,通常以.launch作为...			</a>
		</p>
		<div class="info-box d-flex align-content-center">
			<p>
				<a class="avatar" src="https://blog.csdn.net/ZXQHBD" title="ZXQHBD" target="_blank">
					<img src="https://avatar.csdn.net/3/5/B/3_zxqhbd.jpg" alt="ZXQHBD" class="avatar-pic">
					<span class="name">ZXQHBD</span>
				</a>
			</p>
			<p>
				<span class="date">2017-04-19 13:40:22</span>
			</p>
			<p>
				<span class="read-num">阅读数:403</span>
			</p>
		</div>
	</div>
			            <div class="recommend-loading-box">
                <img src='https://csdnimg.cn/release/phoenix/images/feedLoading.gif'>
            </div>
            <div class="recommend-end-box">
                <p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
            </div>
        </div>
    </main>
</div>
<div class="mask-dark"></div>
<div class="report-box">
    <div class="pos-box">
        <h2 class="title">不良信息举报</h2>
        <a class="btn-close">
            <svg class="icon" aria-hidden="true">
                <use xlink:href="#csdnc-times"></use>
            </svg>
        </a>
        <form id="frmReport">
            <div class="form-box">
                <div class="txt-row-box">
                    <label class="title" id="reptTit">举报内容:</label>
                    <p class="rpt-title text-truncate">ROS launch整理</p>
                </div>
                <div class="txt-row-box">
                    <label class="title">举报原因:</label>
                    <div class="rdo-box">
                        <label><input type="radio" class="rdo-chk report-type" id="report_sex" name="report_type" value="1">色情</label>
                        <label><input type="radio" class="rdo-chk report-type" id="report_Politics" name="report_type" value="2">政治</label>
                        <label><input type="radio" class="rdo-chk report-type" id="report_copy" name="report_type" value="3">抄袭</label>
                        <label><input type="radio" class="rdo-chk report-type" id="report_ad" name="report_type" value="4">广告</label>
                        <label><input type="radio" class="rdo-chk report-type" id="report_want" name="report_type" value="5">招聘</label>
                        <label><input type="radio" class="rdo-chk report-type" id="report_call" name="report_type" value="6">骂人</label>
                        <label><input type="radio" class="rdo-chk report-type" id="report_other" name="report_type" value="7">其他</label>
                    </div>
                </div>
                <div class="txt-row-box" id="rptOriginalurl">
                    <label class="title">原文地址:</label>
                    <div class="txt-box">
                        <input class="ipt" type="text" name="originalurl">
                    </div>
                </div>
                <div class="txt-row-box">
                    <label class="title">原因补充:</label>
                    <div class="txt-box">
                        <textarea class="ipt ipt-textarea" name="description" maxlength="30"></textarea>
                        <p class="remark">最多只允许输入30个字</p>
                    </div>
                </div>
            </div>
            <div class="opt-box text-right">
                <input type="reset" class="btn btn-link-gray btn-close" value="取消">
                <input type="submit" class="btn btn-red btn-submit" value="提交">
            </div>
        </form>
    </div>
</div>
<div class="tool-box">
	<ul class="meau-list">
		<li>
			<button class="btn-like" title="点赞">
				<svg class="icon active" aria-hidden="true">
					<use xlink:href="#csdnc-thumbsup-ok"></use>
				</svg><svg class="icon no-active" aria-hidden="true">
					<use xlink:href="#csdnc-thumbsup"></use>
				</svg>
				<p>8</p>
			</button>
		</li>
		<li class="toc-container-box" id="liTocBox">
			<button class="btn-toc" title="目录">
				<svg class="icon" aria-hidden="true">
					<use xlink:href="#csdnc-contents"></use>
				</svg><br>目录
			</button>
			<div class="toc-container">
				<div class="pos-box">
					<div class="icon-arrow"></div>
					<div class="scroll-box">
						<div class="toc-box"></div>
					</div>
				</div>
				<div class="opt-box">
					<button class="btn-opt prev nomore" title="向上">
						<svg class="icon" aria-hidden="true">
							<use xlink:href="#csdnc-chevronup"></use>
						</svg>
					</button>
					<button class="btn-opt next">
						<svg class="icon" aria-hidden="true">
							<use xlink:href="#csdnc-chevrondown"></use>
						</svg>
					</button>
				</div>
			</div>
		</li>
		<li>
			<button class="btn-bookmark" title="收藏">
				<svg class="icon active" aria-hidden="true">
					<use xlink:href="#csdnc-bookmark-ok"></use>
				</svg><svg class="icon no-active" aria-hidden="true">
					<use xlink:href="#csdnc-bookmark"></use>
				</svg><br>收藏
			</button>
		</li>
		<li>
			<a class="btn-comments" title="评论" href="#commentBox">
				<svg class="icon" aria-hidden="true">
					<use xlink:href="#csdnc-comments"></use>
				</svg><br>评论
			</a>
		</li>
				<li class="bdsharebuttonbox">
			<a class="btn-comments bds_weixin" data-cmd="weixin" title="微信分享">
				<svg class="icon" aria-hidden="true">
					<use xlink:href="#csdnc-wechat"></use>
				</svg><br>微信
			</a>
		</li>
		<li class="bdsharebuttonbox">
			<a class="btn-comments bds_tsina" data-cmd="tsina" title="微博分享">
				<svg class="icon" aria-hidden="true">
					<use xlink:href="#csdnc-weibo"></use>
				</svg><br>微博
			</a>
		</li>
		<li class="bdsharebuttonbox">
			<a class="btn-comments bds_qzone" data-cmd="qzone" title="QQ分享">
				<svg class="icon" aria-hidden="true">
					<use xlink:href="#csdnc-qq"></use>
				</svg><br>QQ
			</a>
		</li>
	</ul>
</div>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'https://csdnimg.cn/static/api/js/share.js?v=89860594'];</script>
<script src="https://csdnimg.cn/public/sandalstrap/1.2/js/sandalstrap.min.js"></script>
<script src="https://csdnimg.cn/release/phoenix/vendor/pagination/paging.js"></script>
<script src='https://csdnimg.cn/public/common/gotop/js/goTop-v1.0.min.js?v201803151422'></script>
<script>
    GoTop({
        right: 8,
        hasReport: true,
        reportFun: function() {
            showReport(false,'ROS launch整理');
        }
    })
</script>
<script src="https://csdnimg.cn/release/phoenix/template/js/common-bd54b21308.min.js"></script>
<script src="https://csdnimg.cn/release/phoenix/template/js/detail-dd0e825f48.min.js"></script>
<script src="https://csdnimg.cn/release/phoenix/themes/big-white/big-white-46c7bd3d86.min.js"></script>
<script src="https://csdnimg.cn/search/baidu_search-1.1.2.js?v=201802071056&autorun=true&install=true&keyword=ros+launch+find"  type="text/javascript"></script>
</body>
<div class="box-box-default">
    <a class="btn-remove">
        关闭
    </a>
    <script type="text/javascript" src="//cee1.iteye.com/mhzzjepzz.js"></script>
</div>
<div class="box-box-large">
    <a class="btn-remove">
        关闭
    </a>
    <script type="text/javascript" src="//cee1.iteye.com/idvveasfs.js"></script>
</div>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值