xiefei2929 / ORB_SLAM3-RGBD-Inertial

RGBD-inertial mode and its ROS interface was added to ORB_SLAM3. Two ROS interfaces Mono_inertial and Stereo_inertial were provided. Modified the loading vocabulary in a faster binary way.
264 stars 51 forks source link

编译时报错 #1

Open Super-Iron-Man opened 4 years ago

Super-Iron-Man commented 4 years ago

在函数‘sync_process()’中: /home/nuc/ORB_SLAM3/Examples/ROS/ORB_SLAM3/src/ros_rgbd_inertial.cc:126:对‘ORB_SLAM3::System::TrackRGBD(cv::Mat const&, cv::Mat const&, double const&, std::vector<ORB_SLAM3::IMU::Point, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)’未定义的引用

xiefei2929 commented 4 years ago

您是不是把ROS接口拷到原版ORB-SLAM3里编译了?我对System.cc System.h Tracking.cc有改动的,其中就包括这个函数。

xiefei2929 commented 4 years ago

我忘记上传CMakelist了,导致无法编译,现在好了

Super-Iron-Man commented 4 years ago

您好,我这边可以运行了的,之前忘记编译前面部分了,运行初始化的时候貌似不太稳定,会有多次重建地图的感觉

Super-Iron-Man commented 4 years ago

部分数据集因为以下判断条件的缘故无法正常运行 while(imu_buf.front()->header.stamp.toSec()<=time && imu_buf.front()->header.stamp.toSec()>time-1)

xiefei2929 commented 4 years ago
    //make sure got enough imu frame before a image frame
    if (!img_buf.empty() && !img_depth_buf.empty()&&imu_buf.size()>20)

造成这种情况的原因可能是因为图片比IMU帧先到,根据IMU帧率和图片帧率的比值增加这行的数值也许可以缓解无法正常运行的情况

xiefei2929 commented 4 years ago

初始化不稳定是因为参数不准的缘故,ORBSLAM3似乎没有在线标定,非常依赖标定的精确度,我所给出的数据集是VINS-RGBD的作者提供的,不同的数据集由不同的参数,Myd435i.yaml只是其中手持情况ia的参数,并且该Rosbag所提供的标定参数也并不是完全的精准。

MonsterBanjin commented 4 years ago

大家跑带imu的ros包的时候有报这个错嘛? 2020-08-14 20-23-16屏幕截图

lishanggui commented 4 years ago

@MonsterBanjin 你的估计是配置文件的问题,他和orb-slam2 有略微不同。

MonsterBanjin commented 4 years ago

@MonsterBanjin 你的估计是配置文件的问题,他和orb-slam2 有略微不同。

我用的就是楼主的myd435i的yaml,播了他的包,你有跑通楼主的demo么

gaotao19890725 commented 4 years ago

你好,./build_ros.sh的时候出现如下错误,能帮忙一下吗: image

cai504727099 commented 3 years ago

大家跑带imu的ros包的时候有报这个错嘛? 2020-08-14 20-23-16屏幕截图

我也遇到这个问题,请问你解决了吗

Jisooyaaa commented 3 years ago

@MonsterBanjin 你的估计是配置文件的问题,他和orb-slam2 有略微不同。

我用的就是楼主的myd435i的yaml,播了他的包,你有跑通楼主的demo么 可以运行,但明显跟踪不上,not imu meas/nt enough acceleration

qq-7 commented 2 years ago

我忘记上传CMakelist了,导致无法编译,现在好了

请问编译过程是chmod +x build.sh; ./build.sh;chmod +x build_ros.sh; ./build_ros.sh;?还是用其他的指令编译,我用这指令编译出现错误,显示build.sh中的有的指令不存在。