# 快速开始

#### 准备工作：
1. AP1导航机器人
2. 成套键鼠

## 操作步骤

### 一、连接键鼠
鼠标键盘建议使用普通成套的无线键鼠，避免有线和无线混合使用。

### 二、启动系统
打开电源，打开工控机，等待Autolabor OS系统启动，输入密码autolabor，字母全部是小写，回车。

### 三、SLAM建图导航


#### 准备工作：
1. 将AP1控制模式切换到上位机控制，打开急停开关，确保急停开关没有被按下
2. 禁用工控机无线功能
  在建图过程中，如果工控机连接了无线网络，当AP1走出无线网络的覆盖区域后，网络连接会自动断开，这将导致AP1控制失控，所以在开始建图之前，为了避免失控，需要将工控机的无线网络连接关闭。
3. 进入桌面【SLAM建图导航】文件夹

#### 1. 点击【开始建图】
RVIZ工具打开，能够看到地图中的AP1，使用键盘的上下左右控制AP1行走，边走边建图，可以看到环境地图随着AP1的行走不断被构建更新。

地图中，黑色是不可行走区域，白色是可行走区域，灰色是未知区域，红色是激光雷达实时数据。

#### 2. 建图完毕，点击【保存并停止建图】

#### 3. 点击【开始导航】
RVIZ工具打开，建好的地图会自动加载。

接下来这一步请一定不要忘记，按键盘数字键【0】关闭键盘控制功能，控制方式将切换至导航程序控制，如不切换机器人接收到目标点命令后将不会自动导航行走。

点击2D Nav Goal，指定目标位置，拉动鼠标，箭头方向是最终车辆运行至目标的车头朝向，鼠标松开，这样就完成了目标点的指定。

目标点给定后在地图中我们能看到一条线，这是规划好的路径。根据这个规划好的路径，AP1向目标点行走。

当AP1已经到达目标点后，再一次使用2D Pose Estimate指定初始位置，设置目标位置，AP1将去到下一个目标点。


四、点击【终止导航】，停止导航功能，导航结束。
之后在同一环境中需要再次使用导航功能时，无须重复建图，点击【开始导航】即可。


#### 常见问题：

##### 建图篇

1. 键盘控制AP1行走时，AP1动作异常，动一下停一下
可调整显示器的位置，保持接收器不被遮挡，并调整自己的位置，使接收器可以接收到发送的指令信号，建议使用USB延长线或USB-HUB将接收器放置在架子的高处，无任何遮挡，便于信号传输。
2. 键盘控制，AP1一动不动
  a) 确认已将AP1电源总开关打开，急停开关没有被按下，AP1处于上位机控制模式
  b) 新开一个terminal，执行以下命令，打出关系图，查看键盘节点
  `$ rosrun rqt_graph rqt_graph`
  c) 执行以下命令，上下左右控制键盘看是否会有数据打出，如没有数据打出，说明AP1没有接收到键盘发送的指令
  `$ rostopic echo /cmd_vel`
  d)执行以下命令，确认event-kbd的数量，数量大于一个则有问题
  `ll /dev/input/by-path/ `
  ![](imgs/keyboard.png)
  e) 请排查是否有多个键盘设备，键盘驱动查找的是最后一个连接的键盘，需要将其他（显示为）键盘的设备找出来，拔掉（可能是鼠标、机械键盘、混装键鼠）
3. AP1不受键盘控制、失控
  在开始建图前，需要禁用无线功能。如果没有禁用，AP1在连接了WIFI的状态下开始建图，在地图构建过程中，一旦AP1离开无线覆盖区域，无线连接断开，ROS的网络通信中断就会导致AP1控制失控。

##### 导航篇

常见问题：
1. 定位要走一走
  2. 建图地图质量不好，障碍物颜色虚，效果好墙面黑色实现
  3. 周围没有明显的特征信息，使得机器人能够找到自己的位置，开到有折角拐弯或明显标志物附近，能够加速机器人找到自己的位置
2. 建图白，多走几遍，
3. 镜面，建图

1. 目标点给定后，可能会发生AP1不动或原地转圈，控制台显示【Failed to get a plan/不能规划路径】的红色错误，这可能是有两种原因造成：
  * 目标点选择在了障碍物中
  * 车在地图中所处的位置是在障碍物中
  那么这样的情况，我们可以先尝试重新给定目标点，或者将车换个位置重新给定初始位置。
2. 在行走的过程中也可能会发生AP1停止不动或原地转圈的现象发生
  这种情况是因为AP1在行走过程中，检测到障碍物，无法到达目标点，这个障碍物有可能是真实的障碍物，也有可能是误检，我们可以先等待观察，AP1会进行自我恢复（不超过一分钟），如果恢复之后AP1仍没有行动，导航已自动停止，此时我们需要重新设置目标点。
3. 建图效果不佳/地图构建要点
  在构建地图的过程，以下几点会影响到建图的准确性：
  * 轮胎气不足影响里程计数据
  * 运行速度不宜过快，由于激光扫描有一定的频率，车速低时雷达可以扫描到的点更多，构建的地图会更准确一些
  * 走一个来回，增加激光雷达扫描次数，累计更多的数据
  * 地图构建的质量也受环境限制，请尽量选择特征比较明显的环境，玻璃、镜子、楼道、空旷等场景会影响建图效果
  * 构建完成的地图，会发现有些点会飞出，飞出的点可能是由于物体的表面不平或者有空隙激光直接穿越了过去
  * 当场景很大特征不足的时候，需要规划建图路径时，应先走一个小回环，当回环成功后，可以再多走几圈，消除粒子在这个回环的多样性。接下来走下一个回环，直到把整个地图连通成一个大的回环
