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

295 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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" />
<link rel="search" title="搜索" href="../../search.html" />
</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">
<p class="caption"><span class="caption-text">主页</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Autolabor NavigationKit 文档主页</a></li>
</ul>
</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/version_one/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">
<li><p>AP1导航机器人</p></li>
<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>
<p>打开电源打开工控机等待Autolabor OS系统启动输入密码autolabor字母全部是小写回车。</p>
</div>
<div class="section" id="slam">
<h3>三、SLAM建图导航<a class="headerlink" href="#slam" title="永久链接至标题"></a></h3>
<div class="section" id="id6">
<h4>准备工作:<a class="headerlink" href="#id6" title="永久链接至标题"></a></h4>
<ol class="simple">
<li><p>将AP1控制模式切换到上位机控制打开急停开关确保急停开关没有被按下</p></li>
<li><p>禁用工控机无线功能
在建图过程中如果工控机连接了无线网络当AP1走出无线网络的覆盖区域后网络连接会自动断开这将导致AP1控制失控所以在开始建图之前为了避免失控需要将工控机的无线网络连接关闭。</p></li>
<li><p>进入桌面【SLAM建图导航】文件夹</p></li>
</ol>
</div>
<div class="section" id="id7">
<h4>1. 点击【开始建图】<a class="headerlink" href="#id7" title="永久链接至标题"></a></h4>
<p>RVIZ工具打开能够看到地图中的AP1使用键盘的上下左右控制AP1行走边走边建图可以看到环境地图随着AP1的行走不断被构建更新。</p>
<p>地图中,黑色是不可行走区域,白色是可行走区域,灰色是未知区域,红色是激光雷达实时数据。</p>
</div>
<div class="section" id="id8">
<h4>2. 建图完毕,点击【保存并停止建图】<a class="headerlink" href="#id8" title="永久链接至标题"></a></h4>
</div>
<div class="section" id="id9">
<h4>3. 点击【开始导航】<a class="headerlink" href="#id9" title="永久链接至标题"></a></h4>
<p>RVIZ工具打开建好的地图会自动加载。</p>
<p>接下来这一步请一定不要忘记按键盘数字键【0】关闭键盘控制功能控制方式将切换至导航程序控制如不切换机器人接收到目标点命令后将不会自动导航行走。</p>
<p>点击2D Nav Goal指定目标位置拉动鼠标箭头方向是最终车辆运行至目标的车头朝向鼠标松开这样就完成了目标点的指定。</p>
<p>目标点给定后在地图中我们能看到一条线这是规划好的路径。根据这个规划好的路径AP1向目标点行走。</p>
<p>当AP1已经到达目标点后再一次使用2D Pose Estimate指定初始位置设置目标位置AP1将去到下一个目标点。</p>
<p>四、点击【终止导航】,停止导航功能,导航结束。
之后在同一环境中需要再次使用导航功能时,无须重复建图,点击【开始导航】即可。</p>
</div>
<div class="section" id="id10">
<h4>常见问题:<a class="headerlink" href="#id10" title="永久链接至标题"></a></h4>
<div class="section" id="id11">
<h5>建图篇<a class="headerlink" href="#id11" title="永久链接至标题"></a></h5>
<ol class="simple">
<li><p>键盘控制AP1行走时AP1动作异常动一下停一下
可调整显示器的位置保持接收器不被遮挡并调整自己的位置使接收器可以接收到发送的指令信号建议使用USB延长线或USB-HUB将接收器放置在架子的高处无任何遮挡便于信号传输。</p></li>
<li><p>键盘控制AP1一动不动
a) 确认已将AP1电源总开关打开急停开关没有被按下AP1处于上位机控制模式
b) 新开一个terminal执行以下命令打出关系图查看键盘节点
<code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">rosrun</span> <span class="pre">rqt_graph</span> <span class="pre">rqt_graph</span></code>
c) 执行以下命令上下左右控制键盘看是否会有数据打出如没有数据打出说明AP1没有接收到键盘发送的指令
<code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">rostopic</span> <span class="pre">echo</span> <span class="pre">/cmd_vel</span></code>
d)执行以下命令确认event-kbd的数量数量大于一个则有问题
<code class="docutils literal notranslate"><span class="pre">ll</span> <span class="pre">/dev/input/by-path/</span> </code>
<img alt="version_one\quick_start\imgs/keyboard.png" src="version_one\quick_start\imgs/keyboard.png" />
e) 请排查是否有多个键盘设备,键盘驱动查找的是最后一个连接的键盘,需要将其他(显示为)键盘的设备找出来,拔掉(可能是鼠标、机械键盘、混装键鼠)</p></li>
<li><p>AP1不受键盘控制、失控
在开始建图前需要禁用无线功能。如果没有禁用AP1在连接了WIFI的状态下开始建图在地图构建过程中一旦AP1离开无线覆盖区域无线连接断开ROS的网络通信中断就会导致AP1控制失控。</p></li>
</ol>
</div>
<div class="section" id="id12">
<h5>导航篇<a class="headerlink" href="#id12" title="永久链接至标题"></a></h5>
<p>常见问题:</p>
<ol class="simple">
<li><p>定位要走一走</p></li>
<li><p>建图地图质量不好,障碍物颜色虚,效果好墙面黑色实现</p></li>
<li><p>周围没有明显的特征信息,使得机器人能够找到自己的位置,开到有折角拐弯或明显标志物附近,能够加速机器人找到自己的位置</p></li>
<li><p>建图白,多走几遍,</p></li>
<li><p>镜面,建图</p></li>
<li><p>目标点给定后可能会发生AP1不动或原地转圈控制台显示【Failed to get a plan/不能规划路径】的红色错误,这可能是有两种原因造成:</p></li>
</ol>
<ul class="simple">
<li><p>目标点选择在了障碍物中</p></li>
<li><p>车在地图中所处的位置是在障碍物中
那么这样的情况,我们可以先尝试重新给定目标点,或者将车换个位置重新给定初始位置。</p></li>
</ul>
<ol class="simple">
<li><p>在行走的过程中也可能会发生AP1停止不动或原地转圈的现象发生
这种情况是因为AP1在行走过程中检测到障碍物无法到达目标点这个障碍物有可能是真实的障碍物也有可能是误检我们可以先等待观察AP1会进行自我恢复不超过一分钟如果恢复之后AP1仍没有行动导航已自动停止此时我们需要重新设置目标点。</p></li>
<li><p>建图效果不佳/地图构建要点
在构建地图的过程,以下几点会影响到建图的准确性:</p></li>
</ol>
<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>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer>
<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>