zoukankan      html  css  js  c++  java
  • ROS2 SLAM(同时定位和地图绘制)

      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}burgerwafflewaffle_pi命令之前。请参考文档TurtleBot3  MODEL的相应说明”设置机器人模型

    [远程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进行监视。
    映射文件默认的名称map.pgmmap.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>)。

  • 相关阅读:
    reflow和repaint
    移动端事件
    不支持冒泡的事件
    Gulp
    JAVAWEB项目Tomcat与内网穿透实现外网访问,可连接mysql数据库
    Echarts连接Mysql使用心得
    layui的date组件在弹窗里闪退的解决办法
    Layui的table标签使用记录
    Layui后台实现页面内部的iframe跳转
    第16周作业
  • 原文地址:https://www.cnblogs.com/kay2018/p/12632162.html
Copyright © 2011-2022 走看看