美文网首页
ROS-SLAM 相关知识

ROS-SLAM 相关知识

作者: Allen的光影天地 | 来源:发表于2019-02-25 22:35 被阅读4次

    1. 从map开始说起

    该文件目录的样式:


    nav_msgs文件目录

    文件夹中涉及到三类消息传递的形式:分别是action, msg和srv服务


    1. action文件

    # Get the map as a nav_msgs/OccupancyGrid
    ---
    nav_msgs/OccupancyGrid map
    ---
    # no feedback
    

    地图在ROS中是Topic形式维护,名为/map,消息类型为nav_msgs/OccupancyGrid
    这个msg文件定义了/map话题的数据结构,包含了三个主要的部分:header, info和data。header是消息的报头,保存了序号、时间戳、frame等通用信息,info是地图的配置信息,它反映了地图的属性,data是真正存储这张地图数据的部分,它是一个可变长数组,int8后面加了[],你可以理解为一个类似于vector的容器,它存储的内容有width*height个int8型的数据,也就是这张地图上每个像素。
    具体内容如下:

    // 标准msg的Header类型:序列 时间戳 frame_id
    std_msgs/Header header
      uint32 seq
      time stamp
      string frame_id
    nav_msgs/MapMetaData info
      time map_load_time
      float32 resolution
      uint32 width
      uint32 height
      geometry_msgs/Pose origin
        geometry_msgs/Point position
          float64 x
          float64 y
          float64 z
        geometry_msgs/Quaternion orientation
          float64 x
          float64 y
          float64 z
          float64 w
    int8[] data
    

    其中涉及到MapMetaData类型,该类型具体内容如下:

    time map_load_time
    float32 resolution
    uint32 width
    uint32 height
    geometry_msgs/Pose origin
      geometry_msgs/Point position
        float64 x
        float64 y
        float64 z
      geometry_msgs/Quaternion orientation
        float64 x
        float64 y
        float64 z
        float64 w
    

    gmapping关键节点图

    输入: /scan + /odom(same with /tf: /base和/odom之间) + /scan和/odom相对/base_frame的/tf

    输出主要两部分:

    1. /map
    2. /tf : (/map 与 /odom之间的) 这样的话整个tf树就连接起来

    总结: gmapping主要目的是输出地图,以及准确的机器人相对地图的位置!!!


    gmapping

    相关文章

      网友评论

          本文标题:ROS-SLAM 相关知识

          本文链接:https://www.haomeiwen.com/subject/qwigyqtx.html