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