<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>自用 on 红石的个人博客</title><link>https://qwqdhs.com/tags/%E8%87%AA%E7%94%A8/</link><description>Recent content from 红石的个人博客</description><generator>Hugo</generator><language>zh-cn</language><managingEditor>qwqdhs@outlook.com (qwq的红石/屿寻sama)</managingEditor><webMaster>qwqdhs@outlook.com (qwq的红石/屿寻sama)</webMaster><copyright>本博客所有文章除特别声明外，均采用 BY-NC-SA 许可协议。转载请注明出处！</copyright><lastBuildDate>Tue, 21 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://qwqdhs.com/tags/%E8%87%AA%E7%94%A8/index.xml" rel="self" type="application/rss+xml"/><item><title>一些STL的教程（施工中）</title><link>https://qwqdhs.com/posts/messy/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate><author>qwqdhs@outlook.com (qwq的红石/屿寻sama)</author><guid>https://qwqdhs.com/posts/messy/</guid><description>
<![CDATA[<h1>一些STL的教程（施工中）</h1><p>作者：qwq的红石/屿寻sama（qwqdhs@outlook.com）</p>
        
          <h2 id="输出数组最大最小值">
<a class="header-anchor" href="#%e8%be%93%e5%87%ba%e6%95%b0%e7%bb%84%e6%9c%80%e5%a4%a7%e6%9c%80%e5%b0%8f%e5%80%bc"></a>
输出数组最大/最小值
</h2><h3 id="max_element和min_element">
<a class="header-anchor" href="#max_element%e5%92%8cmin_element"></a>
max_element和min_element
</h3><ul>
<li><strong>介绍</strong> ：min_element/max_element函数是C++标准模板库（STL）中的一个函数，用于查找指定范围内的最小元素。它返回一个指向范围内最小元素的迭代器</li>
<li><strong>作用</strong>：作用：返回容器中最小值和最大值</li>
<li><strong>头文件</strong>：<strong>algorithm</strong></li>
<li><strong>例</strong>：
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">};</span>
</span></span><span class="line"><span class="cl"><span class="n">cout</span><span class="o">&lt;&lt;*</span><span class="n">max_element</span><span class="p">(</span><span class="n">begin</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">end</span><span class="p">(</span><span class="n">a</span><span class="p">));</span>
</span></span><span class="line"><span class="cl"><span class="c1">//输出5
</span></span></span><span class="line"><span class="cl"><span class="n">cout</span><span class="o">&lt;&lt;*</span><span class="n">min_element</span><span class="p">(</span><span class="n">begin</span><span class="p">(</span><span class="n">a</span><span class="p">),</span><span class="n">end</span><span class="p">(</span><span class="n">a</span><span class="p">));</span>
</span></span><span class="line"><span class="cl"><span class="c1">//输出1
</span></span></span></code></pre></td></tr></table>
</div>
</div></li>
<li><strong>备注</strong>：从C++11标准起，begin(a)和 end(a)，也可以写成a和a+5</li>
</ul>
<h2 id="保留x位小数">
<a class="header-anchor" href="#%e4%bf%9d%e7%95%99x%e4%bd%8d%e5%b0%8f%e6%95%b0"></a>
保留x位小数
</h2><ul>
<li><strong>头文件</strong>：iomanip</li>
</ul>
<h3 id="fixed和setprecision">
<a class="header-anchor" href="#fixed%e5%92%8csetprecision"></a>
fixed和setprecision()
</h3><h4 id="setprecision">
<a class="header-anchor" href="#setprecision"></a>
setprecision()
</h4><ul>
<li><strong>作用</strong>：控制浮点数输出格式，设置精度，当<strong>与fixed一起使用</strong>时，表示小数点后保留n位，如果<strong>不搭配fixed使用</strong>，则表示有效数字为n位</li>
</ul>
<h4 id="fixed">
<a class="header-anchor" href="#fixed"></a>
fixed
</h4><ul>
<li><strong>作用</strong>：强制以固定小数点表示法显示浮点数，<strong>不使用</strong>科学计数法表示，比如1234.5678就会显示为1234.5678，而不是1.2345678e+03</li>
<li>
<h4 id="setprecision和fixed连用">
<a class="header-anchor" href="#setprecision%e5%92%8cfixed%e8%bf%9e%e7%94%a8"></a>
setprecision和fixed连用：
</h4><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">cout</span><span class="o">&lt;&lt;</span><span class="n">fixed</span><span class="o">&lt;&lt;</span><span class="n">setprecision</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">&lt;&lt;</span><span class="n">a</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="c1">//x表示保留几位
</span></span></span></code></pre></td></tr></table>
</div>
</div></li>
</ul>
<h2 id="最大公约数">
<a class="header-anchor" href="#%e6%9c%80%e5%a4%a7%e5%85%ac%e7%ba%a6%e6%95%b0"></a>
最大公约数
</h2><ul>
<li><strong>头文件</strong>： numeric</li>
<li><strong>介绍</strong>：如果a和b都为零，则返回零，否则返回|a|和|b|的最大公约数</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="c1">//需要C++17标准
</span></span></span><span class="line"><span class="cl"><span class="c1">//需要两者都是int类型
</span></span></span><span class="line"><span class="cl"><span class="n">gcd</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li><strong>补充</strong>：C++17也提供了 <code>lcm(a,b)</code> 求最小公倍数</li>
</ul>
<h2 id="三个数比大小">
<a class="header-anchor" href="#%e4%b8%89%e4%b8%aa%e6%95%b0%e6%af%94%e5%a4%a7%e5%b0%8f"></a>
三个数比大小
</h2><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="c1">//C++11标准开始支持三个数了
</span></span></span><span class="line"><span class="cl"><span class="n">max</span><span class="p">({</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">});</span>
</span></span><span class="line"><span class="cl"><span class="n">min</span><span class="p">({</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">});</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="vector去重">
<a class="header-anchor" href="#vector%e5%8e%bb%e9%87%8d"></a>
vector去重
</h2><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">sort</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span> <span class="n">a</span><span class="p">.</span><span class="n">end</span><span class="p">());</span>  <span class="c1">//需要事先排序
</span></span></span><span class="line"><span class="cl"><span class="n">a</span><span class="p">.</span><span class="n">erase</span><span class="p">(</span><span class="n">unique</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="n">a</span><span class="p">.</span><span class="n">end</span><span class="p">()),</span> <span class="n">a</span><span class="p">.</span><span class="n">end</span><span class="p">());</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="工作原理">
<a class="header-anchor" href="#%e5%b7%a5%e4%bd%9c%e5%8e%9f%e7%90%86"></a>
工作原理
</h3><p><code>unique</code> 将相邻的重复元素移动到容器末尾，并返回去重后第一个无效元素的迭代器；<code>erase</code> 删除从该迭代器到容器末尾的所有无效元素。注意 <code>unique</code> 只移除相邻重复，所以必须先排序</p>
        
        <hr><p>本文2026-07-21首发于<a href='https://qwqdhs.com/'>红石的个人博客</a>，最后修改于2026-07-21</p>]]></description><category>教程</category></item><item><title>给自己看的pair用法</title><link>https://qwqdhs.com/posts/pair/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate><author>qwqdhs@outlook.com (qwq的红石/屿寻sama)</author><guid>https://qwqdhs.com/posts/pair/</guid><description>
<![CDATA[<h1>给自己看的pair用法</h1><p>作者：qwq的红石/屿寻sama（qwqdhs@outlook.com）</p>
        
          <h1 id="主要内容">
<a class="header-anchor" href="#%e4%b8%bb%e8%a6%81%e5%86%85%e5%ae%b9"></a>
主要内容
</h1><h2 id="pair">
<a class="header-anchor" href="#pair"></a>
Pair
</h2><h3 id="语法">
<a class="header-anchor" href="#%e8%af%ad%e6%b3%95"></a>
语法
</h3><p>默认用法</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">pair</span><span class="o">&lt;</span><span class="err">类型</span><span class="p">,</span><span class="err">类型</span><span class="o">&gt;</span><span class="err">变量名</span><span class="p">;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>结合vector的用法</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">vector</span><span class="o">&lt;</span><span class="n">pair</span><span class="o">&lt;</span><span class="err">类型</span><span class="p">,</span><span class="err">类型</span><span class="o">&gt;&gt;</span><span class="err">变量名</span><span class="p">(</span><span class="err">大小</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="eg">
<a class="header-anchor" href="#eg"></a>
e.g:
</h3><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">cin</span><span class="o">&gt;&gt;</span><span class="n">n</span> <span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="n">vector</span><span class="o">&lt;</span><span class="n">pair</span><span class="o">&lt;</span><span class="kt">int</span><span class="p">,</span> <span class="kt">int</span><span class="o">&gt;&gt;</span><span class="n">farmers</span><span class="p">(</span><span class="n">n</span><span class="p">);</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="排序我指vector-pair的sort排序">
<a class="header-anchor" href="#%e6%8e%92%e5%ba%8f%e6%88%91%e6%8c%87vector-pair%e7%9a%84sort%e6%8e%92%e5%ba%8f"></a>
排序(我指vector pair的sort排序)
</h2><h3 id="语法-1">
<a class="header-anchor" href="#%e8%af%ad%e6%b3%95-1"></a>
语法
</h3><p>默认（从小到大）</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">sort</span><span class="p">(</span><span class="err">变量名</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="err">变量名</span><span class="p">.</span><span class="n">end</span><span class="p">());</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>从大到小</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">sort</span><span class="p">(</span><span class="err">变量名</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="err">变量名</span><span class="p">.</span><span class="n">end</span><span class="p">(),</span><span class="n">greater</span><span class="o">&lt;</span><span class="n">pair</span><span class="o">&lt;</span><span class="kt">int</span><span class="p">,</span><span class="kt">int</span><span class="o">&gt;&gt;</span><span class="p">());</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><strong>注意！默认排序按 first 升序，若 first 相等则按 second 升序。</strong></p>
<p>按照pair中的数据进行排序</p>
<p>①按second升序</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">sort</span><span class="p">(</span><span class="err">变量名</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="err">变量名</span><span class="p">.</span><span class="n">end</span><span class="p">(),[](</span><span class="k">auto</span> <span class="o">&amp;</span><span class="n">a</span><span class="p">,</span> <span class="k">auto</span> <span class="o">&amp;</span><span class="n">b</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">a</span><span class="p">.</span><span class="n">second</span><span class="o">&lt;</span><span class="n">b</span><span class="p">.</span><span class="n">second</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">});</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>②按second降序</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="n">sort</span><span class="p">(</span><span class="err">变量名</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="err">变量名</span><span class="p">.</span><span class="n">end</span><span class="p">(),[](</span><span class="k">auto</span> <span class="o">&amp;</span><span class="n">a</span><span class="p">,</span> <span class="k">auto</span> <span class="o">&amp;</span><span class="n">b</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">a</span><span class="p">.</span><span class="n">second</span><span class="o">&gt;</span><span class="n">b</span><span class="p">.</span><span class="n">second</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">});</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h1 id="相关内容">
<a class="header-anchor" href="#%e7%9b%b8%e5%85%b3%e5%86%85%e5%ae%b9"></a>
相关内容
</h1><h2 id="结构化绑定">
<a class="header-anchor" href="#%e7%bb%93%e6%9e%84%e5%8c%96%e7%bb%91%e5%ae%9a"></a>
结构化绑定
</h2><h3 id="语法-2">
<a class="header-anchor" href="#%e8%af%ad%e6%b3%95-2"></a>
语法
</h3><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="k">for</span><span class="p">(</span><span class="k">auto</span><span class="p">[</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">]</span><span class="o">:</span><span class="n">v</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="c1">//使用x和y
</span></span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="结合pair的结构化绑定eg">
<a class="header-anchor" href="#%e7%bb%93%e5%90%88pair%e7%9a%84%e7%bb%93%e6%9e%84%e5%8c%96%e7%bb%91%e5%ae%9aeg"></a>
结合pair的结构化绑定e.g
</h3><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl">  <span class="n">vector</span><span class="o">&lt;</span><span class="n">pair</span><span class="o">&lt;</span><span class="kt">int</span><span class="p">,</span><span class="n">string</span><span class="o">&gt;&gt;</span><span class="n">v</span><span class="o">=</span><span class="p">{{</span><span class="mi">1</span><span class="p">,</span><span class="s">&#34;apple&#34;</span><span class="p">},{</span><span class="mi">2</span><span class="p">,</span><span class="s">&#34;banana&#34;</span><span class="p">},{</span><span class="mi">3</span><span class="p">,</span><span class="s">&#34;cherry&#34;</span><span class="p">}};</span>
</span></span><span class="line"><span class="cl">  <span class="k">for</span><span class="p">(</span><span class="k">auto</span> <span class="p">[</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">]</span> <span class="o">:</span><span class="n">v</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="n">cout</span><span class="o">&lt;&lt;</span><span class="n">x</span><span class="o">&lt;&lt;</span> <span class="s">&#34;: &#34;</span><span class="o">&lt;&lt;</span><span class="n">y</span><span class="o">&lt;&lt;</span><span class="n">endl</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="c1">// 输出：
</span></span></span><span class="line"><span class="cl">    <span class="c1">// 1: apple
</span></span></span><span class="line"><span class="cl">    <span class="c1">// 2: banana
</span></span></span><span class="line"><span class="cl">    <span class="c1">// 3: cherry
</span></span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>
  <blockquote class="alert-blockquote tips">
    <p class="alert-heading">
      Tips
    </p>
        
        <hr><p>本文2026-07-21首发于<a href='https://qwqdhs.com/'>红石的个人博客</a>，最后修改于2026-07-21</p>]]></description><category>技术</category></item><item><title>Cartographer建图与nav2导航启动命令流程</title><link>https://qwqdhs.com/posts/slam/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate><author>qwqdhs@outlook.com (qwq的红石/屿寻sama)</author><guid>https://qwqdhs.com/posts/slam/</guid><description>
<![CDATA[<h1>Cartographer建图与nav2导航启动命令流程</h1><p>作者：qwq的红石/屿寻sama（qwqdhs@outlook.com）</p>
        
          <h1 id="命令">
<a class="header-anchor" href="#%e5%91%bd%e4%bb%a4"></a>
命令
</h1><p>1.cd /home/ysc/Desktop/rader</p>
<p>2../LiaderLauch.sh</p>
<p>2../ImuLauch.sh</p>
<p>3.ros2 run robot_state_publisher robot_state_publisher ~/robot.urdf</p>
<p>4.ros2 run cartographer_ros cartographer_node <br>
-configuration_directory ~/cartographer_config \
-configuration_basename imu_as_tracking.lua <br>
&ndash;ros-args -r scan:=/scan -r imu:=/imu/data_raw</p>
<p>6.ros2 run cartographer_ros occupancy_grid_node -resolution 0.05</p>
<p>7.rviz2</p>
<p>8.ros2 run nav2_map_server map_saver_cli -f ~/my_new_map</p>
<p>9.ros2 launch nav2_bringup navigation_launch.py map:=/path/to/your_map.yaml use_sim_time:=False</p>
<p>10.ros2 launch rosbridge_server rosbridge_websocket_launch.xml</p>
<h3 id="保存播放路径">
<a class="header-anchor" href="#%e4%bf%9d%e5%ad%98%e6%92%ad%e6%94%be%e8%b7%af%e5%be%84"></a>
保存/播放路径
</h3><p>1.ros2 bag record /cmd_vel -o path_name</p>
<p>2.ros2 bag play a_to_b_path_0.db3</p>
<h2 id="命令作用与说明">
<a class="header-anchor" href="#%e5%91%bd%e4%bb%a4%e4%bd%9c%e7%94%a8%e4%b8%8e%e8%af%b4%e6%98%8e"></a>
命令作用与说明
</h2><table>
	<thead>
			<tr>
					<th>命令</th>
					<th>作用</th>
					<th>备注</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>cd /home/ysc/Desktop/rader</td>
					<td>切路径</td>
					<td>没什么好说的</td>
			</tr>
			<tr>
					<td>./LiaderLauch.sh</td>
					<td>启动雷达</td>
					<td>启动雷达驱动的脚本</td>
			</tr>
			<tr>
					<td>./ImuLauch.sh</td>
					<td>启动IMU</td>
					<td>启动IMU驱动的脚本</td>
			</tr>
			<tr>
					<td>ros2 run robot_state_publisher robot_state_publisher ~/robot.urdf</td>
					<td>修正雷达朝向以统一建图与导航坐标系</td>
					<td>通过解析 URDF 模型，将各连杆间的固定关节刚性变换以 tf2_msgs/TFMessage 形式持续广播至 /tf_static 话题，为Cartographer与Nav2栈提供传感器相对于 base_link 的精准外参声明，从而从 TF 树层面统一建图与导航的位姿基准</td>
			</tr>
			<tr>
					<td>ros2 run cartographer_ros cartographer_node （后面省略）</td>
					<td>启动Cartographer建图节点</td>
					<td>启动建图</td>
			</tr>
			<tr>
					<td>ros2 run cartographer_ros occupancy_grid_node -resolution 0.05</td>
					<td>数据转换</td>
					<td>将 Cartographer 的实时建图数据转换为 0.05 米分辨率的栅格地图，用于 RViz 可视化及 Nav2 路径规划。</td>
			</tr>
			<tr>
					<td>rviz2</td>
					<td>可视化</td>
					<td>无</td>
			</tr>
			<tr>
					<td>ros2 run nav2_map_server map_saver_cli -f ~/my_new_map</td>
					<td>保存地图</td>
					<td>将建图完成后的内容保存</td>
			</tr>
			<tr>
					<td>ros2 launch nav2_bringup navigation_launch.py map:=/path/to/your_map.yaml use_sim_time:=False</td>
					<td>加载地图，并启动Nav2的导航栈</td>
					<td>其中 use_sim_time:=False 表示使用硬件真实时间（实车模式）</td>
			</tr>
			<tr>
					<td>ros2 launch rosbridge_server rosbridge_websocket_launch.xml</td>
					<td>启动 ROS2 WebSocket 通信服务</td>
					<td>在软件上进行控制</td>
			</tr>
			<tr>
					<td>ros2 bag record /cmd_vel -o path_name</td>
					<td>保存路径</td>
					<td>path_name是文件名</td>
			</tr>
			<tr>
					<td>ros2 bag play path_name.db3</td>
					<td>播放路径</td>
					<td>没什么好说的</td>
			</tr>
	</tbody>
</table>
<h1 id="文件路径以及文件说明">
<a class="header-anchor" href="#%e6%96%87%e4%bb%b6%e8%b7%af%e5%be%84%e4%bb%a5%e5%8f%8a%e6%96%87%e4%bb%b6%e8%af%b4%e6%98%8e"></a>
文件路径以及文件说明
</h1><h3 id="homeyscdesktoprader">
<a class="header-anchor" href="#homeyscdesktoprader"></a>
/home/ysc/Desktop/rader:
</h3><ul>
<li><strong>kill.sh</strong>  –杀掉所有建图/路径规划进程</li>
<li><strong>ImuLauch.sh</strong></li>
<li><strong>LidarLauch.sh</strong></li>
</ul>
<h3 id="home">
<a class="header-anchor" href="#home"></a>
/home/:
</h3><ul>
<li><strong>robot.urdf</strong>  -URDF模型(配置)</li>
</ul>
<h3 id="homecartographer_config">
<a class="header-anchor" href="#homecartographer_config"></a>
/home/cartographer_config
</h3><ul>
<li><strong>Cartographer节点配置文件</strong></li>
</ul>
<h1 id="后续纯定位模式加载复用">
<a class="header-anchor" href="#%e5%90%8e%e7%bb%ad%e7%ba%af%e5%ae%9a%e4%bd%8d%e6%a8%a1%e5%bc%8f%e5%8a%a0%e8%bd%bd%e5%a4%8d%e7%94%a8"></a>
后续纯定位模式加载复用
</h1><p>结束当前建图轨迹，锁定数据：</p>
        
        <hr><p>本文2026-07-21首发于<a href='https://qwqdhs.com/'>红石的个人博客</a>，最后修改于2026-07-21</p>]]></description><category>技术</category></item></channel></rss>