PTAM安装

一个注释修改版本PTAM github
我编译完成了这个版本。需要一提的是,我用ubuntu18安装并没有通过,总是报错而且解决不了。最终是用了虚拟机的ubuntu16才运行成功。
运行自己的数据集需要修改一个地方,是system.cc文件里,system初始化方法那里。(当然前提是你要下载好数据集。)

System::System()
    //: mpVideoSource(new VideoSourceV4L())
    : mpVideoSource(new VideoSourceDataSet())
    , mGLWindow(mpVideoSource->Size(), "PTAM")
{
    cout<<"sys"<<endl;
    GUI.RegisterCommand("exit", GUICommandCallBack, this);
    GUI.RegisterCommand("quit", GUICommandCallBack, this);
    
    // First, check if the camera is calibrated.

默认是被注释的那一条。那一条代表的是使用电脑的摄像头。
数据集路径在videosource.cc里如下

VideoSourceDataSet::VideoSourceDataSet():mDatasetPath(""),mIndexImg(0)
{
    std::cout << "VideoSource_Linux: Opening RGB Image DataSet..." << std::endl;

    mDatasetPath = GV3::get<std::string>("VideoSource.DataSet", "../data/rgbd_dataset_freiburg1_xyz");
    std::cout << "VideoSource.DataSet: " << mDatasetPath << std::endl;

    std::string rgb_txt = mDatasetPath + "/rgb.txt";
    mFileIn.open(rgb_txt.c_str(),std::ios_base::in);
    if (!mFileIn.is_open())
    {
        std::cerr<<"VideoSource_Linux: cann't find rgb.txt!"<<std::endl;
        return;
    }

    std::cout << "VideoSource_Linux: Got RGB Image DataSet." << std::endl;
}


ROS版本(我最终没能完成ROS版编译,坑太多了,先记录几个解决了的报错)

[ 34%] Generating Python code from SRV ptam_com/PointCloud
In file included from /home/sys-01/ros_ws/ptamros_ws/src/rqt_ptam/src/rqt_ptam/remote_ptam.cpp:34:0:
/home/sys-01/ros_ws/ptamros_ws/src/rqt_ptam/include/rqt_ptam/remote_ptam.h:38:32: fatal error: rqt_gui_cpp/plugin.h: No such file or directory
compilation terminated.
rqt_ptam/CMakeFiles/rqt_ptam.dir/build.make:76: recipe for target 'rqt_ptam/CMakeFiles/rqt_ptam.dir/src/rqt_ptam/remote_ptam.cpp.o' failed
make[2]: *** [rqt_ptam/CMakeFiles/rqt_ptam.dir/src/rqt_ptam/remote_ptam.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/sys-01/ros_ws/ptamros_ws/build/rqt_ptam/include/rqt_ptam/moc_remote_ptam.cxx:9:0:
/home/sys-01/ros_ws/ptamros_ws/build/rqt_ptam/include/rqt_ptam/../../../../src/rqt_ptam/include/rqt_ptam/remote_ptam.h:38:32: fatal error: rqt_gui_cpp/plugin.h: No such file or directory
compilation terminated.
rqt_ptam/CMakeFiles/rqt_ptam.dir/build.make:124: recipe for target 'rqt_ptam/CMakeFiles/rqt_ptam.dir/include/rqt_ptam/moc_remote_ptam.cxx.o' failed
make[2]: *** [rqt_ptam/CMakeFiles/rqt_ptam.dir/include/rqt_ptam/moc_remote_ptam.cxx.o] Error 1

修改rqt_ptam的Cmake,在CMake中加入rqt_gui和rqt_gui_cpp

find_package(Qt4 COMPONENTS QtCore QtGui REQUIRED)
find_package(catkin REQUIRED
rqt_gui 
rqt_gui_cpp
)

PTAM ROS文档

你可能感兴趣的:(SLAM,c++,自动驾驶)