# 建图导航 ## 操作步骤 ### 一、连接键鼠 鼠标键盘建议使用普通成套的无线键鼠,避免使用机械键盘、游戏鼠标,请不要同时使用有线、无线鼠标或键盘。 ### 二、启动系统 打开电源,打开工控机,等待 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. 建图完毕,点击【保存并停止建图】 最终建图结果示意: 完成建图后,一定要点击【保存并停止建图】关闭窗口,不能直接关闭RVIZ窗口或者关闭终端,否则地图文件无法正确保存,导航时会报错。 地图文件存储路径为catkin_ws\src\launch\autolabor_navigation_launch\map 2D SLAM 地图文件: ``` map.pbstream: 地图文件,用于定位导航,不可修改 ``` 如有多个环境,想保存不同的地图,在不同的环境使用: 1. 最后一次成功保存的地图会自动存储为以上的名称,而过去建好的地图会用时间戳重命名,备份在同一路径下,地图的名称可以自定义。 2. 如果要切换地图,可以将现有地图重命名,将要替换的地图文件分别修改为以上文件的名称,之后需要再次切换的时候,依然更换地图名称即可。 注:如修改文件名,请务必保证名称正确无误。 #### 3. 点击【开始导航】 RVIZ工具打开,建好的地图会自动加载。 ##### 初始化定位 导航之前,要对机器人做初始化定位,设置方式有两种: 一、使用键盘控制机器人走到初始建图位置,注意车头、车尾方向与之前基本保持一致; 二、使用2D Pose Estimate,点击 2D Pose Estimate(2D nav goal左边),根据机器人现在的所在位置,对比地图,找到机器人在地图中大概的位置,根据真实车头的朝向,方向指向车头朝向的方向,拉动鼠标。 设置后控制机器人行走一段距离,当激光雷达的数据与实时的环境匹配成功时,即为机器人找到在地图中的初始定位。 如上图所示,进行初始化定位操作后,机器人突然跳到了一个新地点,并且地图中的地点与真实环境中机器人位置一致,即为初始化成功,可进行下一步操作。 ##### 关闭键盘控制 点击数字键【0】关闭键盘控制功能(非小键盘0),控制方式将切换至导航程序控制,如不切换机器人接收到目标点命令后将不会自动导航行走。 ##### 给定目标点 点击 2D Nav Goal,指定目标位置,拉动鼠标,箭头方向是最终车辆运行至目标的车头朝向,鼠标松开,这样就完成了目标点的指定。 目标点给定后在地图中我们能看到一条线,这是规划好的路径。根据这个规划好的路径,M1 向目标点行走。 当M1已经到达目标点后,再一次使 2D Nav Goal 设置目标位置,M1将去到下一个目标点。 ### 四、点击【终止导航】,停止导航功能,导航结束。 之后在同一环境中需要再次使用导航功能时,无须重复建图,点击【开始导航】即可。 [>>常见问题](/usedoc/navigationKit2/common/q_a/doc2) ## 附录 - 软件功能图 ![](imgs/software_intro_1.jpg) ![](imgs/software_intro_2.jpg)