ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

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



  • 伽利略视觉导航系统地图保存在机器人上。地图分为两个文件夹,一个是/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。



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

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



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



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

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

    明白了,谢谢


Log in to reply