2d SLAM 3DSLAM 多点导航修改
master
doubleTing 2021-10-28 17:07:12 +08:00
parent 22f417e17b
commit 57e85d33d6
13 changed files with 361 additions and 48 deletions

View File

@ -99,10 +99,19 @@
"items": [ "items": [
{ {
"name": "快速上手", "name": "快速上手",
"uri": "version_two/user_guide/quick_start/slam_doc" "items": [
{
"name": "2D SLAM",
"uri": "version_two/user_guide/quick_start/2d_slam_doc"
}, },
{ {
"name": "SLAM 多点导航功能包", "name": "3D SLAM",
"uri": "version_two/user_guide/quick_start/3d_slam_doc"
}
]
},
{
"name": "SLAM 多点导航",
"uri": "version_two/user_guide/quick_start/multi_slam_doc" "uri": "version_two/user_guide/quick_start/multi_slam_doc"
} }
] ]

View File

@ -0,0 +1,127 @@
# 建图导航
## 适用系统版本
AutolaborOS-2.2.3
准备工作:
1. AP1 导航机器人
2. 键盘鼠标
## 操作步骤
### 一、连接键鼠
鼠标键盘建议使用普通成套的无线键鼠,避免使用机械键盘、游戏鼠标,请不要同时使用有线、无线鼠标或键盘。
### 二、启动系统
打开电源,打开工控机,等待 Autolabor OS 系统启动,输入密码 autolabor字母全部是小写回车。
![](imgs/login.png)
### 三、建图导航
#### 准备工作:
1. 将 AP1 控制模式切换到上位机控制,右转打开急停开关,确保急停开关没有被按下
2. 禁用工控机无线功能
在建图过程中如果工控机连接了无线网络当AP1走出无线网络的覆盖区域后网络连接会自动断开这将导致AP1控制失控所以在开始建图之前为了避免失控需要将工控机的无线网络连接关闭。
3. 进入桌面 SLAM建图导航 - > 2d 文件夹,首次使用时文件如下图,双击打开后点击 trust and launch程序第一次打开后会重命名。
![](imgs/slam-8.png)
![](imgs/slam-9.png)
#### 1. 点击【开始建图】
RVIZ工具打开能够看到地图中的 AP1。
使用键盘的上下左右控制 AP1 行走,边走边建图,可以看到环境地图随着 AP1 的行走不断被构建更新。
地图中红色是前置激光雷达实时数据黄色是后置激光雷达实时数据颜色从白至黑为障碍物的几率是0%~100%。
![](imgs/slam-3.png)
##### 键盘控制说明
键盘控制功能在系统中已经安装好,无需安装可直接使用。
有2种键盘控制的方式
一、直接在电脑上插上键鼠,直接控制机器人(默认模式)
数字键【1/2】线速度增加/减少数字键【3/4】角速度增加/减少数字键【9】启用数字键【0】禁用。
二、使用键盘插件,用另一台电脑远程控制机器人
![](imgs/key_control.png)
如使用该插件则需将机器人上的键鼠拔掉否则远程给出的速度指令会被机器人上的键鼠指令覆盖如插上了不使用键鼠控制程序默认向底盘发送速度指令为0机器人会停止不动。
如想远程操控机器人,请查看[这里]()。
#### 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"/>
##### 初始化定位
使用键盘控制机器人行走一段距离,当激光雷达的数据与实时的环境匹配成功时,即为机器人找到在地图中的初始定位。
如果将机器人放置在建图的出发点,会能够帮助机器人加速初始化定位,但此步骤不是必须的。
<img style="width:50%;" src="imgs/slam-6.gif"/>
如上图所示,进行初始化定位操作后,机器人突然跳到了一个新地点,并且地图中的地点与真实环境中机器人位置一致,即为初始化成功,可进行下一步操作。
##### 关闭键盘控制
<b style="color:red;">点击数字键【0】关闭键盘控制功能</b>非小键盘0控制方式将切换至导航程序控制如不切换机器人接收到目标点命令后将不会自动导航行走。
##### 给定目标点
点击 2D Nav Goal指定目标位置拉动鼠标箭头方向是最终车辆运行至目标的车头朝向鼠标松开这样就完成了目标点的指定。
目标点给定后在地图中我们能看到一条线这是规划好的路径。根据这个规划好的路径AP1 向目标点行走。
当AP1已经到达目标点后再一次使 2D Nav Goal 设置目标位置AP1将去到下一个目标点。
<img style="width:50%;" src="imgs/slam-7.gif"/>
### 四、点击【终止导航】,停止导航功能,导航结束。
之后在同一环境中需要再次使用导航功能时,无须重复建图,点击【开始导航】即可。
[>>常见问题](/usedoc/navigationKit2/common/q_a/doc2)

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 773 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -1,11 +1,22 @@
# SLAM 多点导航功能包 # SLAM 多点导航
## navi_multi_goals_pub_rviz_plugin
### 描述: ### 功能描述:
该功能包为SLAM 建图导航提供可发布多个目标点任务的导航方式。 在SLAM 导航时提供可发布多个目标点任务的导航方式。
## 适用系统版本
AutolaborOS-2.2.1及以上
如是2.2.1以下的版本需要手动下载安装该功能包,安装教程见本文最末。
OS系统->设置->详细信息可查看系统版本号如无版本号则为2.2.1以下版本。
### 适用功能:
2D SLAM / 3D SLAM
### 要求: ### 要求:
@ -14,45 +25,17 @@
![](imgs/intro.png) ![](imgs/intro.png)
### 一、安装与配置 ### 一、配置
#### 1. 下载程序包 准备工作:启动【开始导航】
进入 /home/autolabor/catkin_ws/src 目录,执行
```
git clone https://github.com/autolaborcenter/rviz_navi_multi_goals_pub_plugin.git
```
或访问 https://github.com/autolaborcenter/rviz_navi_multi_goals_pub_plugin.git 下载源代码,放入 /home/autolabor/catkin_ws/src 目录中
![](imgs/download-file.png)
给新加入的文件添加操作权限,在/home/autolabor/catkin_ws 目录下,右键打开终端,执行
`sudo chmod -R 777 /home/autolabor/catkin_ws/src/`
输入密码 `autolabor`,回车
#### 2. 编译
还是在 /home/autolabor/catkin_ws 目录下,终端执行
`sudo rm -rf build/ devel/ logs/ .catkin_tools/`
输入密码 `autolabor`,回车,然后执行
`catkin build -j2`
#### 3. 编译完成后,启动【开始导航】
**注:要求提前建好地图。** **注:要求提前建好地图。**
![](imgs/intro1.png) ![](imgs/intro1.png)
#### 4. 加载插件
#### 1. 加载功能包
RViz 的左上角依次点击 Panels -> Add New Panel -> navi_multi_goals_pub_rviz_plugin -> MultiNaviGoalsPanel RViz 的左上角依次点击 Panels -> Add New Panel -> navi_multi_goals_pub_rviz_plugin -> MultiNaviGoalsPanel
@ -69,17 +52,9 @@ RViz 的左上角依次点击 Panels -> Add New Panel -> navi_multi_goals_pub_rv
#### 5. 修改配置 #### 5. 修改配置
##### 1) 新增 marker (目标点标记)
RViz 左侧 Display -> add -> Marker
<img style="float: left;" src="imgs/intro5.png" />
<img style="float: right;" src="imgs/intro6.png" />
<div style="clear: both;"></div>
*** ***
##### 2) 修改 2D Nav Goal 按钮话题 ##### 修改 2D Nav Goal 按钮话题
RViz 的左上角 Panels->Add New Panel-> Tool Property RViz 的左上角 Panels->Add New Panel-> Tool Property
@ -91,6 +66,19 @@ RViz 的左上角 Panels->Add New Panel-> Tool Property
<img src="imgs/intro9.png" /> <img src="imgs/intro9.png" />
***
##### 新增 marker (目标点标记)
仅AutolaborOS-2.2.1以下版本需进行此操作
RViz 左侧 Display -> add -> Marker
<img style="float: left;" src="imgs/intro5.png" />
<img style="float: right;" src="imgs/intro6.png" />
<div style="clear: both;"></div>
*** ***
**做完以上操作后 Ctrl + S 保存 RViz 配置,如忘记保存,则下次进来要重复操作。** **做完以上操作后 Ctrl + S 保存 RViz 配置,如忘记保存,则下次进来要重复操作。**
@ -159,3 +147,42 @@ RViz 的左上角 Panels->Add New Panel-> Tool Property
勾选循环,单次任务完成后,会从最后一个目标点到第一个目标点,显示颜色为蓝色。 勾选循环,单次任务完成后,会从最后一个目标点到第一个目标点,显示颜色为蓝色。
![](imgs/intro15.png) ![](imgs/intro15.png)
***
### 附录:安装方法
#### 适用系统
AutolaborOS2.2.1 以下系统用户
#### 1. 下载程序包
进入 /home/autolabor/catkin_ws/src 目录,执行
```
git clone https://github.com/autolaborcenter/rviz_navi_multi_goals_pub_plugin.git
```
或访问 https://github.com/autolaborcenter/rviz_navi_multi_goals_pub_plugin.git 下载源代码,放入 /home/autolabor/catkin_ws/src 目录中
![](imgs/download-file.png)
给新加入的文件添加操作权限,在/home/autolabor/catkin_ws 目录下,右键打开终端,执行
`sudo chmod -R 777 /home/autolabor/catkin_ws/src/`
输入密码 `autolabor`,回车
#### 2. 编译
还是在 /home/autolabor/catkin_ws 目录下,终端执行
`sudo rm -rf build/ devel/ logs/ .catkin_tools/`
输入密码 `autolabor`,回车,然后执行
`catkin build -j2`