问题1
最近用ORB-SLAM2运行KITTI数据集,最后Pangolin和ORB-SLAM2:Current Frame窗口卡住,无法保存轨迹文件。
看代码发现是SLAM.Shoutdown()
的问题。
方法一:
如果想得到轨迹文件,将SLAM.Shoutdown()
移到SALM.SaveTrajectoryKITTI(CameraTrajectory.txt)
后面即可,但是还要在终端输入ctrl+c
,才能退出卡住的窗口。
方法二:
在System.cc
的SLAM.Shoutdown()
中将以下代码注释掉:
if(mpViewer)
pangolin::BindToContext("ORB-SLAM2: Map Viewer");
以前没有遇到这个问题,猜测是Pangolin更新后存在bug。
注意:对代码做修改后,都要重新编译。
问题2
以前在用小觅相机运行非ROS接口的程序时,如果直接在终端输入ctrl+c
,程序将直接退出,不会保存轨迹文件。
我当时在stereo_mynt.cc
的while(true)
最后添加:
char c = cvWaitKey(1);
if(c == 27)
break;
然后在视频窗口按ESC
键即可正常结束程序,最后保存轨迹文件。
不过后来Github有过几次更新,变化如下:
bool flag = true;
void exit_while(int sig)
{
flag = false;
}
while (flag)
我没测试,看样子应该是为了解决这个bug。