使用 Gmapping 实时制图

1. 启动小车底层的通信。

首先,检查激光雷达是否已通电并启用。如果没有接通电源,请使用终端通过脚本文件接通电源并启动激光雷达。如果激光雷达已经接通电源并正在旋转,则可以跳过接通电源并启用激光雷达(./start_ydlidar.sh)的步骤。

// 跳转到激光雷达启动目录
cd myagv_ros/src/myagv_odometry/scripts
// 上电使能雷达,上电后雷达就会通过串口发送数据
./start_ydlidar.sh

打开激光雷达电源后,打开终端控制台(快捷键Ctrl+Alt+T),在命令行中输入以下命令:

roslaunch myagv_odometry myagv_active.launch

打开 SLAM 激光扫描和汽车车轮所需的启动文件。如果您看到

myAGV initialized successful! ...... Now YDLIDAR is scanning ......

它表示汽车激光雷达和车轮之间的通信成功。终端将显示如下状态:

normal_terminal_communication

2. 打开 Gmapping 建图 launch 文件

打开一个新的终端控制台,在命令行中输入以下命令:

roslaunch myagv_navigation myagv_slam_laser.launch

3. 打开键盘控制文件

打开一个新的终端控制台,在终端命令行中输入以下命令:

roslaunch myagv_teleop myagv_teleop.launch

tele_control

按键 方向
i 向前移动
, 向后移动
j 向左移动
l 向右移动
u 逆时针旋转
o 顺时针旋转
k 停止
m 顺时针反向旋转
. 逆时针反向旋转
q 提高线速度和角速度
z 降低线速度和角速度
w 提高线速度
x 降低线速度
e 增加角速度
c 降低角速度

4. 开始建图

现在,小车可以在键盘控制下开始移动。操纵汽车在所需的映射空间内旋转。同时,您可以在 Rviz 空间中观察到,随着汽车的移动,我们的地图也在逐渐构建。

注意:使用键盘操作小车时,请确保运行 myagv_teleop.launch 文件的终端是当前选定的终端;否则,键盘控制程序将无法识别按键。此外,为了获得更好的映射效果,建议在键盘控制时将线速度设为 0.2,角速度设为 0.4,因为较低的速度往往会产生更好的映射效果。"

map_trajectory

5. 保存构建的地图

打开另一个新的终端控制台,在命令行中输入以下命令,保存 agv 扫描的地图:

cd ~/myagv_ros/src/myagv_navigation/map

rosrun map_server map_saver

执行成功后,将在当前路径(~/myagv_ros/src/myagv_navigation/map)下生成两个默认地图参数文件,即map.pgmmap.yaml

或者,在使用 -f 参数运行 rosrun map_server map_saver 时,可以指定路径和文件名。下面是一个示例,供参考"。

rosrun map_server map_saver -f /home/er/myagv_ros/src/myagv_navigation/map/map_505

map_saver_1

map_saver_2


← 上一页 | 下一页 →

results matching ""

    No results matching ""