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协议操作机器人文件
-
-
你好,请问ORB_SLAM2中我保存的地图格式是.bin文件,是不是需要转换成.bson文件格式 才能打开地图
-
@huapiaoxiang21 你用的不是小强版本的ORB_SLAM2吧,这个不能通用
-
@weijiz 你好,请问可以发一下小强版本的ORB_SLAM2吗
-
git clone http://git.bwbot.org/publish/ORB_SLAM2 --depth=1 --branch=master