即时定位与地图构建(SLAM)技术作为自主移动机器人的核心技术,已经成为现代机器人教育中不可或缺的重要组成部分。AutoTrack-IR-DR200平台提供的栅格地图构建功能,为高校本科生提供了一个完整、直观且深入的学习环境。通过构建栅格地图的实验,学生不仅能够理解SLAM技术的基本原理,更能够亲手实践从数据采集、处理到地图生成的完整流程。这种从理论到实践的完整学习体验,对于培养学生的工程思维和创新能力具有重要意义。

DR200 底盘构建栅格地图:让机器人 “画出实验室的样子”​

在开始实操前,我们先搞懂 “为什么要构建栅格地图”—— 就像你第一次去图书馆,会先画一张 “文学区在 1 楼、理科区在 3 楼” 的简易地图,不然会迷路;机器人也一样,没有栅格地图,它就不知道 “实验室的桌子在哪、讲台在哪”,更没法自主导航。而 DR200 底盘的栅格地图构建,是基于 Gazebo 仿真环境和 Gmapping 算法实现的,不用真实硬件,就能让你反复练习 “从无到有画地图”,还能随时修改参数、优化效果,对本科生的实验学习非常友好。​

1 配置仿真时间:让 “建图算法” 和 “虚拟底盘” 同步 “手表”​

要构建栅格地图,首先要解决一个关键问题 ——“时间同步”。就像你和同学一起画画,必须用同一个时钟计时(比如 “10 点开始画,10 点半结束”),不然你画的 “桌子” 和同学画的 “椅子” 会错位;机器人建图也一样,“虚拟底盘(Gazebo 中)的运动时间” 和 “建图算法(Gmapping)的计算时间” 必须同步,否则建出来的地图会 “歪歪扭扭”,甚至出现 “障碍物重复或缺失”。而 “配置仿真时间” 就是给两者调准 “手表”。

 修改启动文件

首先需要让系统采用仿真时间,即修改~/catkin_ws/src/bot_navigation/gmapping.launch中的/use_sim_time参数为true:

gedit ~/catkin_ws/src/bot_navigation/gmapping.launch

​ 修改内容:

<!-- 在launch文件中找到并修改以下参数 --><param name="/use_sim_time" value="true" />

启动建图程序

启动建图程序:让 “虚拟底盘” 和 “建图算法” 开始 “合作”​

配置好仿真时间后,下一步就是启动 “建图所需的所有程序”—— 相当于 “打开画板(Gazebo 仿真环境)” 和 “打开画笔(Gmapping 建图算法)”,让虚拟 DR200 底盘能在仿真环境中 “边走边画”。这一步分两个核心操作:启动 Gazebo 仿真环境、启动 Gmapping 建图算法,每个操作都要详细拆解命令含义和参数作用。

​ 启动Gmapping建图

# 新开终端,加载环境

source ~/catkin_ws/devel/setup.bash

#启动仿真环境

roslaunch dr200_description gazebo.launch  publish_odom_tf:=false

#启动Gmapping建图算法

roslaunch bot_navigation gmapping.launch  use_ekf:=true

5.3.3 控制机器人进行建图

控制机器人进行建图:让 “虚拟底盘” 边走边 “画地图”​

启动建图程序后,Gmapping 算法就像 “打开了画笔”,但还需要 “移动画笔”(控制虚拟底盘运动)才能画出地图。这里我们用之前讲过的rqt_robot_steering图形控制工具 —— 它直观易懂,不用记键盘按键,适合学习者的精细控制底盘运动,确保建图覆盖整个仿真场景(比如实验室的每个角落)。

​ 使用rqt_robot_steering图形控制,在界面中使用滑块或输入框控制线速度和角速度

rosrun rqt_robot_steering rqt_robot_steering

保存建图结果

保存建图结果:把 “画好的地图” 存起来,后续用

建完图后,需要把地图保存到电脑中 —— 就像你画完画后把作品存成文件,方便后续 “装裱(用于导航实验)” 或 “修改(优化参数)”。DR200 底盘的建图结果会保存为两个文件:map.pgm(栅格地图图像)和map.yaml(地图配置文件),下面详细讲保存步骤和文件解读。

​ 步骤1:完成建图

​ 在另外一个终端运行

roslaunch bot_navigation save_map.launch

​ 步骤2:查看保存的地图

# 检查地图保存目录

ls -la ~/catkin_ws/src/bot_navigation/maps

# 应该看到类似文件:

# map.pgm               

# 栅格地图# mpa.yaml           

# 地图配置文件

AutoTrack-IR-DR200的栅格地图构建功能为高校机器人教育提供了一个完整、深入且实践性强的学习平台。通过这个平台,学生不仅能够学习SLAM技术的基本理论,更能够通过亲手实践深入理解算法的工作原理和实现细节。

从仿真时间配置到建图算法启动,从机器人控制到地图保存,每一个环节都蕴含着丰富的学习价值。这种从理论到实践的完整学习体验,极大地促进了学生对机器人技术的深入理解和掌握。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐