SLAM(同时定位和地图绘制)是一种通过估计地图在任意空间中的当前位置来绘制地图的技术: 它是 TurtleBot 的前代产品的众所周知的功能. cartographer 是 google 推出的一套基于图优化的 SLAM 算法. cartographer 算法的主要目标是实现低计算资源消耗, 达到实时 SLAM 的目的. 本例程以 cartographer 算法为例作说明.
1. 运行 SLAM 节点
[TurtleBot3]
在 Turtlebot3 上打开一个终端.
调出基本的软件包来启动其应用.
export TURTLEBOT3_MODEL=${TB3_MODEL}
ros2 launch turtlebot3_bringup robot.launch.py
注: 指定 ${TB3_MODEL}:burger,waffle,waffle_pi 命令之前. 请参考文档 "TurtleBot3 MODEL 的相应说明" https://www.cnblogs.com/kay2018/p/12632249.html 来设置机器人模型.
[远程 PC]
在远程 PC 上打开一个新终端.
启动 SLAM 文件.
ros2 launch turtlebot3_cartographer cartographer.launch.py
2. 运行远程操作节点
为了实现 A 映射的高级别准确性, 您需要在给定位置手动重复几次 SLAM. 使用以下程序包 (远程操作节点) 进行手动操作.
请参阅映射过程的图片, 其中显示了机器人如何使用 SLAM 绘制地图.
[远程 PC]
在远程 PC 上打开终端.
运行远程操作节点.
- export TURTLEBOT3_MODEL=${
- TB3_MODEL
- }
- ros2 run turtlebot3_teleop teleop_keyboard
使用键盘控制器
- Control Your TurtleBot3!
- ---------------------------
- Moving around:
- w
- a s d
- x
- w/x : increase/decrease linear velocity
- a/d : increase/decrease angular velocity
- space key, s : force stop
- CTRL-C to quit
来源: http://www.bubuko.com/infodetail-3491380.html