autolabor-m1-doc/navigationKit/quickStart/2dSlam.md

132 lines
5.3 KiB
Markdown
Raw Normal View History

2023-12-05 18:42:49 +08:00
# 建图导航
## 操作步骤
### 一、连接键鼠
鼠标键盘建议使用普通成套的无线键鼠,避免使用机械键盘、游戏鼠标,请不要同时使用有线、无线鼠标或键盘。
### 二、启动系统
打开电源,打开工控机,等待 Autolabor OS 系统启动,输入密码 autolabor字母全部是小写回车。
![](imgs/login.png)
### 三、建图导航
#### 准备工作:
1. 将 M1 控制模式切换到上位机控制,右转打开急停开关,确保急停开关没有被按下
2. 禁用工控机无线功能
在建图过程中如果工控机连接了无线网络当M1走出无线网络的覆盖区域后网络连接会自动断开这将导致M1控制失控所以在开始建图之前为了避免失控需要将工控机的无线网络连接关闭。
3. 进入桌面 SLAM建图导航 - > 2d 文件夹,首次使用时文件如下图,双击打开后点击 trust and launch程序第一次打开后会重命名。
![](imgs/slam-8.png)
![](imgs/slam-9.png)
#### 1. 点击【开始建图】
RVIZ工具打开能够看到地图中的 M1。
使用键盘的上下左右控制 M1 行走,边走边建图,可以看到环境地图随着 M1 的行走不断被构建更新。
地图中红色是前置激光雷达实时数据黄色是后置激光雷达实时数据颜色从白至黑为障碍物的几率是0%~100%。
![](imgs/slam-3.png)
##### 键盘控制说明
键盘控制功能在系统中已经安装好,无需安装可直接使用。
有2种键盘控制的方式
一、直接在电脑上插上键鼠,直接控制机器人(默认模式)
数字键【1/2】线速度增加/减少数字键【3/4】角速度增加/减少数字键【9】启用数字键【0】禁用。
二、使用键盘插件,用另一台电脑远程控制机器人
![](imgs/key_control.png)
如使用该插件则需将机器人上的键鼠拔掉否则远程给出的速度指令会被机器人上的键鼠指令覆盖如插上了不使用键鼠控制程序默认向底盘发送速度指令为0机器人会停止不动。
如想远程操控机器人,请查看[这里](/usedoc/navigationKit2/version_two/network/setting)。
#### 2. 建图完毕,点击【保存并停止建图】
最终建图结果示意:
<img style="width:37%;" src="imgs/slam-4.png"/>
完成建图后一定要点击【保存并停止建图】关闭窗口不能直接关闭RVIZ窗口或者关闭终端否则地图文件无法正确保存导航时会报错。
地图文件存储路径为catkin_ws\src\launch\autolabor_navigation_launch\map
2D SLAM 地图文件:
```
map.pbstream: 地图文件,用于定位导航,不可修改
```
如有多个环境,想保存不同的地图,在不同的环境使用:
1. 最后一次成功保存的地图会自动存储为以上的名称,而过去建好的地图会用时间戳重命名,备份在同一路径下,地图的名称可以自定义。
2. 如果要切换地图,可以将现有地图重命名,将要替换的地图文件分别修改为以上文件的名称,之后需要再次切换的时候,依然更换地图名称即可。
注:如修改文件名,请务必保证名称正确无误。
#### 3. 点击【开始导航】
RVIZ工具打开建好的地图会自动加载。
<img style="width:50%;" src="imgs/slam-5.png"/>
##### 初始化定位
导航之前,要对机器人做初始化定位,设置方式有两种:
一、使用键盘控制机器人走到初始建图位置,注意车头、车尾方向与之前基本保持一致;
二、使用2D Pose Estimate点击 2D Pose Estimate2D nav goal左边根据机器人现在的所在位置对比地图找到机器人在地图中大概的位置根据真实车头的朝向方向指向车头朝向的方向拉动鼠标。
设置后控制机器人行走一段距离,当激光雷达的数据与实时的环境匹配成功时,即为机器人找到在地图中的初始定位。
<img style="width:50%;" src="imgs/slam-6.gif"/>
如上图所示,进行初始化定位操作后,机器人突然跳到了一个新地点,并且地图中的地点与真实环境中机器人位置一致,即为初始化成功,可进行下一步操作。
##### 关闭键盘控制
<b style="color:red;">点击数字键【0】关闭键盘控制功能</b>非小键盘0控制方式将切换至导航程序控制如不切换机器人接收到目标点命令后将不会自动导航行走。
##### 给定目标点
点击 2D Nav Goal指定目标位置拉动鼠标箭头方向是最终车辆运行至目标的车头朝向鼠标松开这样就完成了目标点的指定。
目标点给定后在地图中我们能看到一条线这是规划好的路径。根据这个规划好的路径M1 向目标点行走。
当M1已经到达目标点后再一次使 2D Nav Goal 设置目标位置M1将去到下一个目标点。
<img style="width:50%;" src="imgs/slam-7.gif"/>
### 四、点击【终止导航】,停止导航功能,导航结束。
之后在同一环境中需要再次使用导航功能时,无须重复建图,点击【开始导航】即可。
[>>常见问题](/usedoc/navigationKit2/common/q_a/doc2)
## 附录 - 软件功能图
![](imgs/software_intro_1.jpg)
![](imgs/software_intro_2.jpg)