diff --git a/source/conf.json b/source/conf.json index 50dc8f8..2913035 100644 --- a/source/conf.json +++ b/source/conf.json @@ -99,10 +99,19 @@ "items": [ { "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": "3D SLAM", + "uri": "version_two/user_guide/quick_start/3d_slam_doc" + } + ] }, { - "name": "SLAM 多点导航功能包", + "name": "SLAM 多点导航", "uri": "version_two/user_guide/quick_start/multi_slam_doc" } ] diff --git a/source/version_two/user_guide/quick_start/2d_slam_doc.md b/source/version_two/user_guide/quick_start/2d_slam_doc.md new file mode 100644 index 0000000..010bb5b --- /dev/null +++ b/source/version_two/user_guide/quick_start/2d_slam_doc.md @@ -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. 建图完毕,点击【保存并停止建图】 + + +最终建图结果示意: + + + +完成建图后,一定要点击【保存并停止建图】关闭窗口,不能直接关闭RVIZ窗口或者关闭终端,否则地图文件无法正确保存,导航时会报错。 + +地图文件存储 +路径为catkin_ws\src\launch\autolabor_navigation_launch\map + +2D SLAM 地图文件: + +``` +map.pbstream: 地图文件,用于定位导航,不可修改 +``` + +如有多个环境,想保存不同的地图,在不同的环境使用: +1. 最后一次成功保存的地图会自动存储为以上的名称,而过去建好的地图会用时间戳重命名,备份在同一路径下,地图的名称可以自定义。 +2. 如果要切换地图,可以将现有地图重命名,将要替换的地图文件分别修改为以上文件的名称,之后需要再次切换的时候,依然更换地图名称即可。 + +注:如修改文件名,请务必保证名称正确无误。 + +#### 3. 点击【开始导航】 +RVIZ工具打开,建好的地图会自动加载。 + + + + +##### 初始化定位 + +使用键盘控制机器人行走一段距离,当激光雷达的数据与实时的环境匹配成功时,即为机器人找到在地图中的初始定位。 + +如果将机器人放置在建图的出发点,会能够帮助机器人加速初始化定位,但此步骤不是必须的。 + + + +如上图所示,进行初始化定位操作后,机器人突然跳到了一个新地点,并且地图中的地点与真实环境中机器人位置一致,即为初始化成功,可进行下一步操作。 + +##### 关闭键盘控制 + +点击数字键【0】关闭键盘控制功能(非小键盘0),控制方式将切换至导航程序控制,如不切换机器人接收到目标点命令后将不会自动导航行走。 + +##### 给定目标点 + +点击 2D Nav Goal,指定目标位置,拉动鼠标,箭头方向是最终车辆运行至目标的车头朝向,鼠标松开,这样就完成了目标点的指定。 + +目标点给定后在地图中我们能看到一条线,这是规划好的路径。根据这个规划好的路径,AP1 向目标点行走。 + +当AP1已经到达目标点后,再一次使 2D Nav Goal 设置目标位置,AP1将去到下一个目标点。 + + + + + +### 四、点击【终止导航】,停止导航功能,导航结束。 + +之后在同一环境中需要再次使用导航功能时,无须重复建图,点击【开始导航】即可。 + + +[>>常见问题](/usedoc/navigationKit2/common/q_a/doc2) diff --git a/source/version_two/user_guide/quick_start/3d_slam_doc.md b/source/version_two/user_guide/quick_start/3d_slam_doc.md new file mode 100644 index 0000000..404e5fb --- /dev/null +++ b/source/version_two/user_guide/quick_start/3d_slam_doc.md @@ -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 Estimate(2D nav goal左边),根据机器人现在的所在位置,对比地图,找到机器人在地图中大概的位置,根据真实车头的朝向,方向指向车头朝向的方向,拉动鼠标。 + +设置后控制机器人行走一段距离,当激光雷达的数据与实时的环境匹配成功时,即为机器人找到在地图中的初始定位。 + +![](imgs/3d_slam8.gif) + +如上图所示,进行初始化定位操作后,机器人突然跳到了一个新地点,并且地图中的地点与真实环境中机器人位置一致,即为初始化成功,可进行下一步操作。 + +##### 关闭键盘控制 + +点击数字键【0】关闭键盘控制功能(非小键盘0),或取消键盘插件的【激活键盘控制】,关闭后控制方式将切换至导航程序,如不切换机器人接收到目标点命令后将不会自动导航行走。 + +##### 给定目标点 + +点击 2D Nav Goal,指定目标位置,拉动鼠标,箭头方向是最终车辆运行至目标的车头朝向,鼠标松开,这样就完成了目标点的指定。 + +目标点给定后在地图中我们能看到一条线,这是规划好的路径。根据这个规划好的路径,AP1 向目标点行走。 + +当AP1已经到达目标点后,再一次使 2D Nav Goal 设置目标位置,AP1将去到下一个目标点。 + + + +### 四、点击【终止导航】,停止导航功能,导航结束。 + +之后在同一环境中需要再次使用导航功能时,无须重复建图,点击【开始导航】即可。 + + +[>>常见问题](/usedoc/navigationKit2/common/q_a/doc2) diff --git a/source/version_two/user_guide/quick_start/imgs/3d_slam1.png b/source/version_two/user_guide/quick_start/imgs/3d_slam1.png new file mode 100644 index 0000000..1b2a66b Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/3d_slam1.png differ diff --git a/source/version_two/user_guide/quick_start/imgs/3d_slam2.png b/source/version_two/user_guide/quick_start/imgs/3d_slam2.png new file mode 100644 index 0000000..d76d9b0 Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/3d_slam2.png differ diff --git a/source/version_two/user_guide/quick_start/imgs/3d_slam3.png b/source/version_two/user_guide/quick_start/imgs/3d_slam3.png new file mode 100644 index 0000000..a22382c Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/3d_slam3.png differ diff --git a/source/version_two/user_guide/quick_start/imgs/3d_slam4.png b/source/version_two/user_guide/quick_start/imgs/3d_slam4.png new file mode 100644 index 0000000..eb88602 Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/3d_slam4.png differ diff --git a/source/version_two/user_guide/quick_start/imgs/3d_slam5.png b/source/version_two/user_guide/quick_start/imgs/3d_slam5.png new file mode 100644 index 0000000..397b4ae Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/3d_slam5.png differ diff --git a/source/version_two/user_guide/quick_start/imgs/3d_slam6.png b/source/version_two/user_guide/quick_start/imgs/3d_slam6.png new file mode 100644 index 0000000..6492a2d Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/3d_slam6.png differ diff --git a/source/version_two/user_guide/quick_start/imgs/3d_slam7.png b/source/version_two/user_guide/quick_start/imgs/3d_slam7.png new file mode 100644 index 0000000..264ae6d Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/3d_slam7.png differ diff --git a/source/version_two/user_guide/quick_start/imgs/3d_slam8.gif b/source/version_two/user_guide/quick_start/imgs/3d_slam8.gif new file mode 100644 index 0000000..737a445 Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/3d_slam8.gif differ diff --git a/source/version_two/user_guide/quick_start/imgs/key_control.png b/source/version_two/user_guide/quick_start/imgs/key_control.png new file mode 100644 index 0000000..09f066a Binary files /dev/null and b/source/version_two/user_guide/quick_start/imgs/key_control.png differ diff --git a/source/version_two/user_guide/quick_start/multi_slam_doc.md b/source/version_two/user_guide/quick_start/multi_slam_doc.md index aba12aa..560a3ef 100644 --- a/source/version_two/user_guide/quick_start/multi_slam_doc.md +++ b/source/version_two/user_guide/quick_start/multi_slam_doc.md @@ -1,11 +1,22 @@ -# SLAM 多点导航功能包 - -## navi_multi_goals_pub_rviz_plugin +# SLAM 多点导航 -### 描述: +### 功能描述: -该功能包为SLAM 建图导航提供可发布多个目标点任务的导航方式。 +在SLAM 导航时提供可发布多个目标点任务的导航方式。 + + +## 适用系统版本 + +AutolaborOS-2.2.1及以上 + +注:如是2.2.1以下的版本需要手动下载安装该功能包,安装教程见本文最末。 + +OS系统->设置->详细信息可查看系统版本号,如无版本号则为2.2.1以下版本。 + +### 适用功能: + +2D SLAM / 3D SLAM ### 要求: @@ -14,45 +25,17 @@ ![](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) -#### 4. 加载插件 + +#### 1. 加载功能包 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. 修改配置 -##### 1) 新增 marker (目标点标记) - -RViz 左侧 Display -> add -> Marker - - - -
- *** -##### 2) 修改 2D Nav Goal 按钮话题 +##### 修改 2D Nav Goal 按钮话题 RViz 的左上角 Panels->Add New Panel-> Tool Property @@ -91,6 +66,19 @@ RViz 的左上角 Panels->Add New Panel-> Tool Property +*** + +##### 新增 marker (目标点标记) + +注:仅AutolaborOS-2.2.1以下版本需进行此操作 + +RViz 左侧 Display -> add -> Marker + + + + + + *** **做完以上操作后 Ctrl + S 保存 RViz 配置,如忘记保存,则下次进来要重复操作。** @@ -159,3 +147,42 @@ RViz 的左上角 Panels->Add New Panel-> Tool Property 勾选循环,单次任务完成后,会从最后一个目标点到第一个目标点,显示颜色为蓝色。 ![](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` +