导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    伽利略视觉导航系统地图切换方法

    产品服务
    3
    8
    3387
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • weijiz
      weijiz 最后由 weijiz 编辑

      伽利略视觉导航系统地图保存在机器人上。地图分为两个文件夹,一个是/home/xiaoqiang/slamdb一个是/home/xiaoqiang/saved-slamdb。其中第一个文件夹保存正在使用的地图,第二个文件夹保存所有的地图。
      地图文件结构如下

      # 地图数据,由导航系统程序创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang 9.3M Sep 29 10:13 keyframedb.bson
      # 地图数据,由导航系统程序创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang  36M Sep 29 10:13 keyframes.bson
      # 地图数据,由导航系统程序创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang 187K Sep 29 10:13 map.bson
      # 地图名,由电脑客户端创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang    5 Sep 29 10:13 map_name.txt
      # 地图图片文件,由导航系统创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang 805K Sep 29 10:13 map.pgm
      # 地图数据,由导航系统创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang 9.8M Sep 29 10:13 mappoints.bson
      # 地图描述文件,由导航系统创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang  138 Sep 29 10:13 map.yaml
      # 坐标系变换矩阵。新版本可能会没有此文件
      -rw-rw-r-- 1 xiaoqiang xiaoqiang   20 Sep 29 10:13 matrix.txt
      # 旧版本导航目标点列表,不包含目标点角度信息。每一行数据为一个目标点,数据格式为 x y z
      -rw-rw-r-- 1 xiaoqiang xiaoqiang   41 Sep 29 10:14 nav.csv
      # path1的导航目标点数据文件,在开启导航前需要把目标路径文件复制为上面的nav.csv。导航系统只会载入nav.csv文件
      # 所有的旧版本导航目标点文件都以nav_开头
      -rw-rw-r-- 1 xiaoqiang xiaoqiang   41 Sep 29 10:14 nav_path1.csv
      # 新版本的导航目标点文件,包含导航点角度信息。每一行数据为一个目标点,数据格式为 x y z 角度 位置允许误差 角度允许误差 循环方向
      -rw-rw-r-- 1 xiaoqiang xiaoqiang   65 Sep 29 10:14 new_nav.csv
      # 新版本 path1的导航目标点数据文件,在开启导航前需要把目标点路径文件复制为new_nav.csv。导航系统只会载入new_nav.csv文件
      # 所有新版本的导航目标点文件,文件名都以new_nav_开头
      -rw-rw-r-- 1 xiaoqiang xiaoqiang   65 Sep 29 10:14 new_nav_path1.csv
      # 路径数据文件,即客户端上显示的红点数据,数据格式为 x y z。
      -rw-rw-r-- 1 xiaoqiang xiaoqiang  16K Sep 29 10:14 path.csv
      # path1的路径数据文件。在开启导航前需要把目标导航路径文件复制为path.csv文件。所有路径数据文件都以path_开头
      -rw-rw-r-- 1 xiaoqiang xiaoqiang  16K Sep 29 10:14 path_path1.csv
      # 当前使用的路径,由客户端创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang  16K Sep 29 10:14 path_path1.csv.active
      # 创建地图时机器人的运行轨迹,即地图中的蓝色点
      -rw-rw-r-- 1 xiaoqiang xiaoqiang  12K Sep 29 10:13 RobotTrajectory.txt
      # 地图保存是否完成标记文件。在地图保存完成后,导航系统会自动创建save_complete文件。注意一定要此文件成功创建之后再进行地图的相关复制删除操作。
      -rw-r--r-- 1 xiaoqiang xiaoqiang   62 Sep 29 10:13 save_complete
      # 地图尺度信息文件,由导航系统自动创建
      -rw-rw-r-- 1 xiaoqiang xiaoqiang   30 Sep 29 10:13 scale.txt
      

      保存导航地图方法

      首先向机器人发送保存地图指令,具体指令可以参考 伽利略导航系统协议

      然后轮询查看slamdb文件夹内是否有save_complete文件。等待此文件出现时说明地图已经保存成功。所有地图数据都在slamdb文件夹中。
      然后自己在slamdb文件夹中创建map_name.txt文件夹,文件内容是地图名称。
      然后把整个slamdb文件夹内容复制到saved-slamdb中,同时以地图名称作为文件夹名称。可以参照saved-slamdb文件夹结构设置。

      切换地图方法

      切换地图的过程比较简单。就是先把slamdb文件夹内容全部删除,然后把想要使用的地图数据从saved-slamdb文件夹中复制过去。

      切换路径方法

      一个路径由两个文件构成。一个是路径文件path.csv,一个是导航点文件nav.csv。新版本对应的文件名为new_path.csv, new_nav.csv。
      从客户端保存路径后客户端程序会创建对应的路径数据文件。比如名称为path1的路径,其对应的数据文件为new_nav_path1.csv,new_path_path1.csv。具体的文件格式上面已经说明。
      在启动导航之前需要把目标路径文件先复制替换掉对应的new_nav.csv,new_path.csv。

      1 条回复 最后回复 回复 引用 0
      • 409144661
        409144661 最后由 编辑

        请问windows上位机软件在切换地图时,怎么把slamdb文件夹删除,和从saved-slamdb文件夹中复制。指令是什么?

        使用伽利略SDK时,连接机器人后,怎么发这个指令?

        weijiz 1 条回复 最后回复 回复 引用 0
        • weijiz
          weijiz @409144661 最后由 编辑

          @409144661 windows客户端用的是winscp库,就是通过sftp协议操作机器人文件

          1 条回复 最后回复 回复 引用 0
          • 409144661
            409144661 最后由 编辑

            @weijiz 在 伽利略视觉导航系统地图切换方法 中说:

            windows客户端用的是winscp库,就是通过sftp协议操作机

            明白了,谢谢

            1 条回复 最后回复 回复 引用 0
            • huapiaoxiang21
              huapiaoxiang21 最后由 编辑

              你好,请问ORB_SLAM2中我保存的地图格式是.bin文件,是不是需要转换成.bson文件格式 才能打开地图

              weijiz 1 条回复 最后回复 回复 引用 0
              • weijiz
                weijiz @huapiaoxiang21 最后由 编辑

                @huapiaoxiang21 你用的不是小强版本的ORB_SLAM2吧,这个不能通用

                huapiaoxiang21 1 条回复 最后回复 回复 引用 0
                • huapiaoxiang21
                  huapiaoxiang21 @weijiz 最后由 编辑

                  @weijiz 你好,请问可以发一下小强版本的ORB_SLAM2吗

                  weijiz 1 条回复 最后回复 回复 引用 0
                  • weijiz
                    weijiz @huapiaoxiang21 最后由 编辑

                    @huapiaoxiang21

                    git clone http://git.bwbot.org/publish/ORB_SLAM2 --depth=1 --branch=master
                    
                    1 条回复 最后回复 回复 引用 0
                    • 1 / 1
                    • First post
                      Last post
                    Copyright © 2015-2023 BlueWhale community