ROS2SLAM(同时定位和地图绘制)
SLAM(同时定位和地图绘制)是⼀种通过估计地图在任意空间中的当前位置来绘制地图的技术:它是TurtleBot的前代产品的众所周知的功能。cartographer是google推出的⼀套基于图优化的SLAM算法。cartographer算法的主要⽬标是实现低计算资源消耗,达到实时SLAM的⽬的。本例程以cartographer算法为例作说明。
1.运⾏SLAM节点
[TurtleBot3]
1. 在Turtlebot3上打开⼀个终端。
2. 调出基本的软件包来启动其应⽤。
export TURTLEBOT3_MODEL=${TB3_MODEL}
ros2 launch turtlebot3_bringup robot.launch.py
注:指定${TB3_MODEL}:burger,waffle,waffle_pi命令之前。请参考⽂档“ 来设置机器⼈模型。
[远程PC]
1. 在远程PC上打开⼀个新终端。
2. 启动SLAM⽂件。
ros2 launch turtlebot3_cartographer cartographer.launch.py
2.运⾏远程操作节点
为了实现A映射的⾼级别准确性,您需要在给定位置⼿动重复⼏次SLAM。使⽤以下程序包(远程操作节点)进⾏⼿动操作。
请参阅映射过程的图⽚,其中显⽰了机器⼈如何使⽤SLAM绘制地图。
[远程PC]
1. 在远程PC上打开终端。
2. 运⾏远程操作节点。
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
3.保存地图
使⽤map_saver节点通过SLAM保存绘制的地图。
该地图由机器⼈收集的数据绘制:⾥程表,tf和传感器的扫描信息,您可以使⽤RViz进⾏监视。
go2map地图北京映射⽂件默认的名称map.pgm,map.yaml,这是其中保存在⽬录map_saver运⾏。
[远程PC]
1. 在远程PC上打开⼀个新终端。
2. 运⾏map_saver节点。
ros2 run nav2_map_server map_saver -f ~/map
该-f选项是指⽂件夹和⽂件名,⽤于保存地图⽂件。如果~/map作为⼀个选项,map.pgm并且map.yaml将被保存在位于地图⽂件夹~/($ HOME⽬录:/home/<username>)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论