navgationkit-docs-sphinx/docs/user_guide/quick_start/slam_doc.html

354 lines
15 KiB
HTML
Raw Normal View History

2019-07-09 20:49:12 +08:00
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="zh-CN" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="zh-CN" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>快速开始 &mdash; Autolabor Box 文档</title>
<script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="../../_static/language_data.js"></script>
<script type="text/javascript" src="../../_static/translations.js"></script>
<script type="text/javascript" src="../../_static/js/theme.js"></script>
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/page.css" type="text/css" />
<link rel="index" title="索引" href="../../genindex.html" />
2019-07-10 13:43:24 +08:00
<link rel="search" title="搜索" href="../../search.html" />
<link rel="next" title="定位循迹" href="../../location/guide/doc.html" />
<link rel="prev" title="发货清单" href="../../introduction/inthebox/doc.html" />
2019-07-09 20:49:12 +08:00
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home"> Autolabor Box
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
2019-07-10 13:43:24 +08:00
<p class="caption"><span class="caption-text">主页</span></p>
<ul>
2019-07-17 10:24:57 +08:00
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Autolabor NavigationKit 文档主页</a></li>
2019-07-09 20:49:12 +08:00
</ul>
2019-07-10 13:43:24 +08:00
<p class="caption"><span class="caption-text">产品介绍</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/overview/doc.html">产品概览</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/tech_specs/doc.html">规格参数</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/inthebox/doc.html">发货清单</a></li>
</ul>
<p class="caption"><span class="caption-text">快速开始</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">快速开始</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id2">准备工作:</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">操作步骤</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id4">一、连接键鼠</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id5">二、启动系统</a></li>
<li class="toctree-l3"><a class="reference internal" href="#slam">三、SLAM建图导航</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id6">常见问题:</a></li>
2019-07-09 20:49:12 +08:00
</ul>
</li>
</ul>
</li>
</ul>
</li>
2019-07-10 13:43:24 +08:00
<li class="toctree-l1"><a class="reference internal" href="../../location/guide/doc.html">定位循迹</a></li>
2019-07-09 20:49:12 +08:00
</ul>
2019-07-10 13:43:24 +08:00
<p class="caption"><span class="caption-text">了解定位系统</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../location/marvelmind/doc.html">定位系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../location/dashboard/doc.html">Dashboard 说明</a></li>
</ul>
<p class="caption"><span class="caption-text">使用说明</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="receipt.html">收货指南</a></li>
<li class="toctree-l1"><a class="reference internal" href="receipt.html#id3">清点</a></li>
<li class="toctree-l1"><a class="reference internal" href="../assembly_test/doc.html">组装与测试</a></li>
<li class="toctree-l1"><a class="reference internal" href="../restore_bios/doc.html">恢复 BIOS</a></li>
2019-07-17 10:24:57 +08:00
<li class="toctree-l1"><a class="reference internal" href="../install_os/doc.html">安装操作系统</a></li>
2019-07-10 13:43:24 +08:00
<li class="toctree-l1"><a class="reference internal" href="../reference/doc.html">设备参考资料</a></li>
</ul>
2019-07-09 20:49:12 +08:00
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">Autolabor Box</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html">Docs</a> &raquo;</li>
<li>快速开始</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/user_guide/quick_start/slam_doc.md.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="id1">
<h1>快速开始<a class="headerlink" href="#id1" title="永久链接至标题"></a></h1>
<div class="section" id="id2">
<h2>准备工作:<a class="headerlink" href="#id2" title="永久链接至标题"></a></h2>
<ol class="simple">
2019-07-09 21:28:07 +08:00
<li><p>AP1 导航机器人</p></li>
2019-07-09 20:49:12 +08:00
<li><p>成套键鼠</p></li>
</ol>
</div>
<div class="section" id="id3">
<h2>操作步骤<a class="headerlink" href="#id3" title="永久链接至标题"></a></h2>
<div class="section" id="id4">
<h3>一、连接键鼠<a class="headerlink" href="#id4" title="永久链接至标题"></a></h3>
<p>鼠标键盘建议使用普通成套的无线键鼠,避免有线和无线混合使用。</p>
</div>
<div class="section" id="id5">
<h3>二、启动系统<a class="headerlink" href="#id5" title="永久链接至标题"></a></h3>
2019-07-09 21:28:07 +08:00
<p>打开电源,打开工控机,等待 Autolabor OS 系统启动,输入密码 autolabor字母全部是小写回车。</p>
2019-07-09 20:49:12 +08:00
</div>
<div class="section" id="slam">
<h3>三、SLAM建图导航<a class="headerlink" href="#slam" title="永久链接至标题"></a></h3>
2019-07-09 21:28:07 +08:00
<ol>
<li><p>准备工作:</p>
<ol>
<li><p>将 AP1 控制模式切换到上位机控制,打开急停开关,确保急停开关<strong>没有</strong>被按下</p></li>
<li><p>禁用工控机无线功能</p>
<blockquote>
<div><p>在建图过程中,如果工控机连接了无线网络,当 AP1 走出无线网络的覆盖区域后网络连接会自动断开这将导致AP1控制失控所以在开始建图之前为了避免失控需要将工控机的无线网络连接关闭。</p>
</div></blockquote>
</li>
<li><p>进入桌面 <code class="docutils literal notranslate"><span class="pre">SLAM建图导航</span></code> 文件夹</p></li>
2019-07-09 20:49:12 +08:00
</ol>
2019-07-09 21:28:07 +08:00
</li>
<li><p>点击 <code class="docutils literal notranslate"><span class="pre">开始建图</span></code></p></li>
<li><p>操纵机器人行驶</p>
<p>打开 RVIZ 工具,能够看到地图中的 AP1使用键盘的上下左右控制 AP1 行走,边走边建图,可以看到环境地图随着 AP1 的行走不断被构建更新。</p>
2019-07-09 20:49:12 +08:00
<p>地图中,黑色是不可行走区域,白色是可行走区域,灰色是未知区域,红色是激光雷达实时数据。</p>
2019-07-09 21:28:07 +08:00
</li>
<li><p>建图完毕,点击 <code class="docutils literal notranslate"><span class="pre">保存并停止建图</span></code></p></li>
<li><p>点击 <code class="docutils literal notranslate"><span class="pre">开始导航</span></code></p>
<p>打开 RVIZ 工具,建好的地图会自动加载。</p>
<p>接下来这一步请一定不要忘记,按键盘数字键 <code class="docutils literal notranslate"><span class="pre">0</span></code> 关闭键盘控制功能,控制方式将切换至导航程序控制,如不切换机器人接收到目标点命令后将不会自动导航行走。</p>
<p>点击 <code class="docutils literal notranslate"><span class="pre">2D</span> <span class="pre">Nav</span> <span class="pre">Goal</span></code>,指定目标位置,拉动鼠标,箭头方向是最终车辆运行至目标的车头朝向,鼠标松开,这样就完成了目标点的指定。</p>
<p>目标点给定后在地图中我们能看到一条线这是规划好的路径。根据这个规划好的路径AP1 向目标点行走。</p>
<p>当AP1已经到达目标点后再一次使用 <code class="docutils literal notranslate"><span class="pre">2D</span> <span class="pre">Pose</span> <span class="pre">Estimate</span></code> 指定初始位置设置目标位置AP1 将去到下一个目标点。</p>
</li>
<li><p>点击 <code class="docutils literal notranslate"><span class="pre">终止导航</span></code>,停止导航功能,导航结束。</p>
<p>之后在同一环境中需要再次使用导航功能时,无须重复建图,点击【开始导航】即可。</p>
</li>
</ol>
<div class="section" id="id6">
<h4>常见问题:<a class="headerlink" href="#id6" title="永久链接至标题"></a></h4>
<div class="section" id="id7">
<h5>建图篇<a class="headerlink" href="#id7" title="永久链接至标题"></a></h5>
<ol>
<li><p>键盘控制 AP1 行走时AP1 动作异常,动一下停一下</p>
<p>可调整显示器的位置,保持接收器不被遮挡,并调整自己的位置,使接收器可以接收到发送的指令信号,建议使用 USB 延长线或 USB-HUB 将接收器放置在架子的高处,无任何遮挡,便于信号传输。</p>
</li>
<li><p>键盘控制AP1 一动不动</p>
<ol>
<li><p>确认已将 AP1 电源总开关打开急停开关没有被按下AP1 处于上位机控制模式</p></li>
<li><p>新开一个 terminal执行以下命令打出关系图查看键盘节点</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ rosrun rqt_graph rqt_graph
</pre></div>
2019-07-09 20:49:12 +08:00
</div>
2019-07-09 21:28:07 +08:00
</li>
<li><p>执行以下命令,上下左右控制键盘看是否会有数据打出,如没有数据打出,说明 AP1 没有接收到键盘发送的指令</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ rostopic <span class="nb">echo</span> /cmd_vel
</pre></div>
2019-07-09 20:49:12 +08:00
</div>
2019-07-09 21:28:07 +08:00
</li>
<li><p>执行以下命令,确认 event-kbd 的数量,数量大于一个则有问题</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ll /dev/input/by-path/
</pre></div>
2019-07-09 20:49:12 +08:00
</div>
2019-07-09 21:28:07 +08:00
<p><img alt="../../_images/keyboard.png" src="../../_images/keyboard.png" /></p>
</li>
<li><p>请排查是否有多个键盘设备,键盘驱动查找的是最后一个连接的键盘,需要将其他(显示为)键盘设备找出来,拔掉(可能是鼠标、机械键盘、混装键鼠)</p></li>
2019-07-09 20:49:12 +08:00
</ol>
2019-07-09 21:28:07 +08:00
</li>
<li><p>AP1 不受键盘控制、失控</p>
<p>在开始建图前需要禁用无线功能。如果没有禁用AP1 在连接了 WIFI 的状态下开始建图,在地图构建过程中,一旦 AP1 离开无线覆盖区域无线连接断开ROS 的网络通信中断就会导致 AP1 失去控制。</p>
</li>
2019-07-09 20:49:12 +08:00
</ol>
2019-07-09 21:28:07 +08:00
</div>
<div class="section" id="id8">
<h5>导航篇<a class="headerlink" href="#id8" title="永久链接至标题"></a></h5>
<ol>
<li><p>目标点给定后,可能会发生 AP1 不动或原地转圈,控制台显示 <code class="docutils literal notranslate"><span class="pre">Failed</span> <span class="pre">to</span> <span class="pre">get</span> <span class="pre">a</span> <span class="pre">plan</span></code>/<code class="docutils literal notranslate"><span class="pre">不能规划路径</span></code> 的红色错误,这可能是有两种原因造成:</p>
2019-07-09 20:49:12 +08:00
<ul class="simple">
<li><p>目标点选择在了障碍物中</p></li>
2019-07-09 21:28:07 +08:00
<li><p>车在地图中所处的位置是在障碍物中</p></li>
2019-07-09 20:49:12 +08:00
</ul>
2019-07-09 21:28:07 +08:00
<p>那么这样的情况,我们可以先尝试重新给定目标点,或者将车换个位置重新给定初始位置。</p>
</li>
<li><p>在行走的过程中也可能会发生AP1停止不动或原地转圈的现象发生</p>
<p>这种情况是因为 AP1 在行走过程中检测到障碍物无法到达目标点这个障碍物有可能是真实的障碍物也有可能是误检我们可以先等待观察AP1 会进行自我恢复(不超过一分钟),如果恢复之后 AP1 仍没有行动,导航已自动停止,此时我们需要重新设置目标点。</p>
</li>
<li><p>建图效果不佳/地图构建要点</p>
<p>在构建地图的过程,以下几点会影响到建图的准确性:</p>
2019-07-09 20:49:12 +08:00
<ul class="simple">
<li><p>轮胎气不足影响里程计数据</p></li>
<li><p>运行速度不宜过快,由于激光扫描有一定的频率,车速低时雷达可以扫描到的点更多,构建的地图会更准确一些</p></li>
<li><p>走一个来回,增加激光雷达扫描次数,累计更多的数据</p></li>
<li><p>地图构建的质量也受环境限制,请尽量选择特征比较明显的环境,玻璃、镜子、楼道、空旷等场景会影响建图效果</p></li>
<li><p>构建完成的地图,会发现有些点会飞出,飞出的点可能是由于物体的表面不平或者有空隙激光直接穿越了过去</p></li>
<li><p>当场景很大特征不足的时候,需要规划建图路径时,应先走一个小回环,当回环成功后,可以再多走几圈,消除粒子在这个回环的多样性。接下来走下一个回环,直到把整个地图连通成一个大的回环</p></li>
</ul>
2019-07-09 21:28:07 +08:00
</li>
</ol>
2019-07-09 20:49:12 +08:00
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer>
2019-07-10 13:43:24 +08:00
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../../location/guide/doc.html" class="btn btn-neutral float-right" title="定位循迹" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="../../introduction/inthebox/doc.html" class="btn btn-neutral float-left" title="发货清单" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
2019-07-09 20:49:12 +08:00
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2019, Autolabor
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>