ORB_SLAM3的ROS接口和ORB_SLAM2一样,可能因为还是Beta版就没有重写吧连名字空间都是ORBSLAM2的, 没有加入imu的节点。
我写了两个ROS接口双目IMU和单目IMU,通过修改DBow2的源码将词典的加载方式改为二进制,加载词典的时候就速不用等待了。实现方法也不难,把时间戳在当前帧之前的IMU帧(包括时间戳相同的)以这样ORB_SLAM3::IMU::Point的形式,全部加入到这样vector<ORB_SLAM3::IMU::Point>的结构中,注意处理帧的先后顺序,IMU帧频率高有可能有几帧在图片之后才能到达。
代码地址:https://github.com/xiefei2929/ORB_SLAM3-ROS-Interface
编译同ORB_SLAM3
2.1 配置Ros环境
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws
$ catkin_make
在home目录找到隐藏文件.bashrc,在最下面添加
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
2.2 安装依赖
# 安装 g++
$ sudo apt-get install gcc g++
# 安装 Pangolin
$ sudo ap