Git Product home page Git Product logo

Comments (21)

taihup avatar taihup commented on September 7, 2024

It looks like S-PTAM can't open the vocabulary for the Loop Closure module ([ INFO] [1511998712.006946590, 1403636633.388582162]: Loop Detector could not initialize
Could not open file ). Try disabling the the Loop Closure Module with cmake and compile again.

from sptam.

haidela avatar haidela commented on September 7, 2024

Good evening @taihup, it works well and thank you a lot for your valued assistance, in standalone directory I want to get estimated trajectories performed by SPTAM on KITTI datasets to calculate Absolute Trajectory Error (ATE) by comparing it with the ground-truth. But there isn't sptam-stereo node in the sptam package, so bash: ./sptam-stereo: No such file or directory Is there another procedure to get the estimated trajectory?
haidara@haidara-virtual-machine:~/catkin_ws/src/sptam$ ./sptam-stereo configurationFiles/kitti.yaml configurationFiles/kitti_cam_00_to_02_13_to_21.yaml /media/haidara/02FADA88FADA777F/ORB_SLAMDATA/KITTI/data_odometry_gray/dataset/sequences/00/image_0/ /media/haidara/02FADA88FADA777F/ORB_SLAMDATA/KITTI/data_odometry_gray/dataset/sequences/00/image_1/ dir --timestamps /media/haidara/02FADA88FADA777F/ORB_SLAMDATA/KITTI/data_odometry_gray/dataset/sequences/00/times.txt
bash: ./sptam-stereo: No such file or directory

haidara@haidara-virtual-machine:~/catkin_ws$ catkin_make
Base path: /home/haidara/catkin_ws
Source space: /home/haidara/catkin_ws/src
Build space: /home/haidara/catkin_ws/build
Devel space: /home/haidara/catkin_ws/devel
Install space: /home/haidara/catkin_ws/install

Running command: "make cmake_check_build_system" in "/home/haidara/catkin_ws/build"

Running command: "make -j2 -l2" in "/home/haidara/catkin_ws/build"

[ 4%] Built target poseWithCovariance_to_ellipsoid
[ 8%] Built target pose_to_path
[ 13%] Built target odom_to_pose
[ 17%] Built target odom_to_imu
[ 21%] Built target pose_to_odom
[ 82%] Built target sptam
[ 86%] Built target sptam_node
[100%] Built target sptam_nodelet

from sptam.

taihup avatar taihup commented on September 7, 2024

you should compile the standalone version as it is commented in the README file.

from sptam.

haidela avatar haidela commented on September 7, 2024

Good evening @taihup, I apologize for the delay in answering you, I was busy in recent times by other courses, thank you very much, I will try again and I will tell you the result

from sptam.

haidela avatar haidela commented on September 7, 2024

Good evening @taihup , I am still trying to follow your instructions to the letter, but it is the same. After making(catkin_make), there isn't the target sptam-stereo(you can see below), so can't run ./sptam-stereo

haidara@haidara-virtual-machine:~/catkin_ws$ catkin_make
Base path: /home/haidara/catkin_ws
Source space: /home/haidara/catkin_ws/src
Build space: /home/haidara/catkin_ws/build
Devel space: /home/haidara/catkin_ws/devel
Install space: /home/haidara/catkin_ws/install
Running command: "make cmake_check_build_system" in "/home/haidara/catkin_ws/build"
Running command: "make -j2 -l2" in "/home/haidara/catkin_ws/build"

[ 4%] Built target poseWithCovariance_to_ellipsoid
[ 8%] Built target pose_to_path
[ 13%] Built target odom_to_pose
[ 17%] Built target odom_to_imu
[ 21%] Built target pose_to_odom
[ 82%] Built target sptam
[ 86%] Built target sptam_node
[100%] Built target sptam_nodelet

from sptam.

taihup avatar taihup commented on September 7, 2024

The standalone version is inside standalone directory. You should NOT use catkin_make to compile the standalone version. You should compile it using cmake as it is pointing out at the end of the README file

from sptam.

haidela avatar haidela commented on September 7, 2024

On standalone directory do: 1) mkdir build; 2) cd build; and 3) cmake .. -DCMAKE_BUILD_TYPE=Release -DSHOW_TRACKED_FRAMES=ON -DUSE_LOOPCLOSURE=ON -DSHOW_PROFILING=ON
After finishing, I was running ./sptam-stereo sptam/configurationFiles/kitti.yaml /configurationFiles/kitti_cam_00_to_02_13_to_21.yaml sptam/senquences /00/image_0/ sptam/senquences/00/image_1/ dir sptam/senquences/00/times.txt
There is error bash: ./sptam-stereo: No such file or directory So I made to see if there is the target sptam-stereo

from sptam.

haidela avatar haidela commented on September 7, 2024

the error is bash: ./sptam-stereo: No such file or directory, I am checking in the package, there isn't sptam-stereo

from sptam.

taihup avatar taihup commented on September 7, 2024

Check that inside build directory (that you create to compile sptam-stereo) , sptam-stereo file exists.If not, paste here the output of cmake .. command (executed inside build directory) and make command

from sptam.

haidela avatar haidela commented on September 7, 2024

Inside build directory, there is sptam-stereo.dir package, but it does not contain CMakeLists.txt, so it can't to compile; and inside build directory I am running cmake .. and make, I found this error:
haidara@haidara-virtual-machine:~/catkin_ws/src/sptam/src/standAlone/build$ make[ 10%] Built target frameGenerator
[ 13%] Building CXX object CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp.o
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp: In constructor ‘G2ODriver::G2ODriver()’:
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:71:102: error: no matching function for call to ‘g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::BlockSolver(std::remove_reference<std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >&>::type)’
ckSolver_6_3> solver_ptr(new g2o::BlockSolver_6_3( std::move(linearSolver) ) );
^
In file included from /opt/ros/kinetic/include/g2o/core/block_solver.h:189:0,
from /home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:40:
/opt/ros/kinetic/include/g2o/core/block_solver.hpp:39:1: note: candidate: g2o::BlockSolver::BlockSolver(g2o::BlockSolver::LinearSolverType*) [with Traits = g2o::BlockSolverTraits<6, 3>; g2o::BlockSolver::LinearSolverType = g2o::LinearSolver<Eigen::Matrix<double, 6, 6> >]
BlockSolver::BlockSolver(LinearSolverType* linearSolver) :
^
/opt/ros/kinetic/include/g2o/core/block_solver.hpp:39:1: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >&>::type {aka std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >}’ to ‘g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::LinearSolverType* {aka g2o::LinearSolver<Eigen::Matrix<double, 6, 6> >}’
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:74:112: error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(std::remove_reference<std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >&>::type)’
erg
solver = new g2o::OptimizationAlgorithmLevenberg( std::move(solver_ptr) );
^
In file included from /home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:43:0:
/opt/ros/kinetic/include/g2o/core/optimization_algorithm_levenberg.h:45:16: note: candidate: g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(g2o::Solver*)
explicit OptimizationAlgorithmLevenberg(Solver* solver);
^
/opt/ros/kinetic/include/g2o/core/optimization_algorithm_levenberg.h:45:16: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >&>::type {aka std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >}’ to ‘g2o::Solver*’
CMakeFiles/sptam-stereo.dir/build.make:326: recipe for target 'CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp.o' failed
make[2]: *** [CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp.o] Error 1
CMakeFiles/Makefile2:163: recipe for target 'CMakeFiles/sptam-stereo.dir/all' failed
make[1]: *** [CMakeFiles/sptam-stereo.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

from sptam.

taihup avatar taihup commented on September 7, 2024

Remove everything from inside build directory and run again cmake .. Paste here the output and then again the make command output

from sptam.

haidela avatar haidela commented on September 7, 2024

inside build directory, I am running cmake .. and make, there is the error again, before it blocked 43% but this time it blocked 44%. I will try it in a fresh Ubuntu 16.04
haidara@haidara-virtual-machine:~/catkin_ws/src/sptam/src/standAlone/build$ cmake ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Selected BUILD_TYPE: RelWithDebInfo
-- Found Intel TBB
-- Enabling parallel code
-- Setting OpenCV threads to: -1
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- thread
-- regex
-- chrono
-- date_time
-- atomic
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'yaml-cpp'
-- Found yaml-cpp, version 0.5.2
-- Checking for module 'eigen3'
-- Found eigen3, version 3.2.92
-- Found Eigen: /usr/include/eigen3
-- Eigen found (include: /usr/include/eigen3)
-- Found OpenCV: /opt/ros/kinetic (found version "3.2.0")
opencv_calib3dopencv_coreopencv_features2dopencv_flannopencv_highguiopencv_imgcodecsopencv_imgprocopencv_mlopencv_objdetectopencv_photoopencv_shapeopencv_stitchingopencv_superresopencv_videoopencv_videoioopencv_videostabopencv_vizopencv_arucoopencv_bgsegmopencv_bioinspiredopencv_ccalibopencv_cvvopencv_datasetsopencv_dpmopencv_faceopencv_fuzzyopencv_hdfopencv_line_descriptoropencv_optflowopencv_phase_unwrappingopencv_plotopencv_regopencv_rgbdopencv_saliencyopencv_stereoopencv_structured_lightopencv_surface_matchingopencv_textopencv_xfeatures2dopencv_ximgprocopencv_xobjdetectopencv_xphoto
-- Using CATKIN_DEVEL_PREFIX: /home/haidara/catkin_ws/src/sptam/src/standAlone/build/devel
-- Using CMAKE_PREFIX_PATH: /home/haidara/catkin_ws/devel;/opt/ros/kinetic
-- This workspace overlays: /home/haidara/catkin_ws/devel;/opt/ros/kinetic
-- Found PythonInterp: /usr/bin/python (found version "2.7.12")
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/haidara/catkin_ws/src/sptam/src/standAlone/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.6
-- Configuring done
-- Generating done
-- Build files have been written to: /home/haidara/catkin_ws/src/sptam/src/standAlone/build
haidara@haidara-virtual-machine:~/catkin_ws/src/sptam/src/standAlone/build$ makeScanning dependencies of target frameGenerator
[ 2%] Building CXX object CMakeFiles/frameGenerator.dir/FrameGenerator/VideoFileFrameGenerator.cpp.o
[ 5%] Building CXX object CMakeFiles/frameGenerator.dir/FrameGenerator/ListOfFilesFrameGenerator.cpp.o
[ 8%] Building CXX object CMakeFiles/frameGenerator.dir/FrameGenerator/FileSequenceFrameGenerator.cpp.o
[ 11%] Linking CXX shared library libframeGenerator.so
[ 11%] Built target frameGenerator
Scanning dependencies of target sptam-stereo
[ 13%] Building CXX object CMakeFiles/sptam-stereo.dir/sptam-stereo.cpp.o
[ 16%] Building CXX object CMakeFiles/sptam-stereo.dir/KITTIGroundTruth.cpp.o
[ 19%] Building CXX object CMakeFiles/sptam-stereo.dir/SptamWrapper.cpp.o
[ 22%] Building CXX object CMakeFiles/sptam-stereo.dir/utils/ProgramOptions.cpp.o
[ 25%] Building CXX object CMakeFiles/sptam-stereo.dir/Timestamps.cpp.o
[ 27%] Building CXX object CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/RowMatcher.cpp.o
[ 30%] Building CXX object CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/types_sba_extension.cpp.o
[ 33%] Building CXX object CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/BundleDriver.cpp.o
[ 36%] Building CXX object CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/TrackerViewStereo.cpp.o
[ 38%] Building CXX object CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/Camera.cpp.o
[ 41%] Building CXX object CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/MapMaker.cpp.o
[ 44%] Building CXX object CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp.o
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp: In constructor ‘G2ODriver::G2ODriver()’:
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:71:102: error: no matching function for call to ‘g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::BlockSolver(std::remove_reference<std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >&>::type)’
ckSolver_6_3> solver_ptr(new g2o::BlockSolver_6_3( std::move(linearSolver) ) );
^
In file included from /opt/ros/kinetic/include/g2o/core/block_solver.h:189:0,
from /home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:40:
/opt/ros/kinetic/include/g2o/core/block_solver.hpp:39:1: note: candidate: g2o::BlockSolver::BlockSolver(g2o::BlockSolver::LinearSolverType*) [with Traits = g2o::BlockSolverTraits<6, 3>; g2o::BlockSolver::LinearSolverType = g2o::LinearSolver<Eigen::Matrix<double, 6, 6> >]
BlockSolver::BlockSolver(LinearSolverType* linearSolver) :
^
/opt/ros/kinetic/include/g2o/core/block_solver.hpp:39:1: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >&>::type {aka std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >}’ to ‘g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::LinearSolverType* {aka g2o::LinearSolver<Eigen::Matrix<double, 6, 6> >}’
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:74:112: error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(std::remove_reference<std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >&>::type)’
erg
solver = new g2o::OptimizationAlgorithmLevenberg( std::move(solver_ptr) );
^
In file included from /home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:43:0:
/opt/ros/kinetic/include/g2o/core/optimization_algorithm_levenberg.h:45:16: note: candidate: g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(g2o::Solver*)
explicit OptimizationAlgorithmLevenberg(Solver* solver);
^
/opt/ros/kinetic/include/g2o/core/optimization_algorithm_levenberg.h:45:16: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >&>::type {aka std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >}’ to ‘g2o::Solver*’
CMakeFiles/sptam-stereo.dir/build.make:326: recipe for target 'CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp.o' failed
make[2]: *** [CMakeFiles/sptam-stereo.dir/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp.o] Error 1
CMakeFiles/Makefile2:163: recipe for target 'CMakeFiles/sptam-stereo.dir/all' failed
make[1]: *** [CMakeFiles/sptam-stereo.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

from sptam.

taihup avatar taihup commented on September 7, 2024

I think you don't have the right version of g2o library. Did you compile g2o in the 4b9c2f5b68d14ad479457b18c5a2a0bce1541a90 commit? or Do you have another installation of g2o that can be conflicting?

from sptam.

haidela avatar haidela commented on September 7, 2024

Good evening @taihup , I apologize for the delay in answering you, I was busy in recent times by other courses, I was trying to install it in a fresh Ubuntu 16.04 and to follow your installation instructions to the letter, it works well now, but I want to get camera trajectories performed by S-PTAM on KITTI dataset and EuRoC datasets, I first wanted to compile(cmake.., make, and sudo make install) on sptam/src/sptam found a fatal error: Eigen/StdVector: No such file or directory. I installed eigen using sudo apt-get install libeigen3 and downloaded eigen-eigen-b9cd8366d4e8.tar.gz and compiled it. But even then, the error persists.

haidara@haidara-virtual-machine:~/catkin_ws/src/sptam/src/sptam/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DSHOW_TRACKED_FRAMES=ON -DUSE_LOOPCLOSURE=ON -DSHOW_PROFILING=ON
-- Configuring done
-- Generating done
-- Build files have been written to: /home/haidara/catkin_ws/src/sptam/src/sptam/build
haidara@haidara-virtual-machine:~/catkin_ws/src/sptam/src/sptam/build$ make
Scanning dependencies of target sptam
[ 3%] Building CXX object CMakeFiles/sptam.dir/MapMakerThread.cpp.o
In file included from /home/haidara/catkin_ws/src/sptam/src/sptam/MapMakerThread.hpp:35:0,
from /home/haidara/catkin_ws/src/sptam/src/sptam/MapMakerThread.cpp:35:
/home/haidara/catkin_ws/src/sptam/src/sptam/MapMaker.hpp:35:27: fatal error: Eigen/StdVector: No such file or directory
compilation terminated.
CMakeFiles/sptam.dir/build.make:62: recipe for target 'CMakeFiles/sptam.dir/MapMakerThread.cpp.o' failed
make[2]: *** [CMakeFiles/sptam.dir/MapMakerThread.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/sptam.dir/all' failed
make[1]: *** [CMakeFiles/sptam.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

from sptam.

taihup avatar taihup commented on September 7, 2024

You are compiling the wrong directory. If you have S-PTAM working with ROS, then you just need to compile it again with the SHOW_PROFILING flag enable. This is... catkin_make --pkg sptam -DSHOW_PROFILING=ON. Check the ~/.ros/ director after run S-PTAM, it should have a .log file created by S-PTAM. In this log file you can find the pose computed by S-PTAM for each frame among other log information for debugging.

from sptam.

haidela avatar haidela commented on September 7, 2024

Hello @taihup, I was trying, but it is the same
haidara@haidara-virtual-machine:~/catkin_ws$ catkin_make --pkg sptam -DSHOW_PROFILING=ON
Base path: /home/haidara/catkin_ws
Source space: /home/haidara/catkin_ws/src
Build space: /home/haidara/catkin_ws/build
Devel space: /home/haidara/catkin_ws/devel
Install space: /home/haidara/catkin_ws/install

Running command: "make cmake_check_build_system" in "/home/haidara/catkin_ws/build"

Running command: "make -j2 -l2" in "/home/haidara/catkin_ws/build/sptam"

make[2]: *** No rule to make target 'opencv_calib3d-NOTFOUND', needed by '/home/haidara/catkin_ws/devel/lib/libsptam.so'. Stop.
make[2]: *** Waiting for unfinished jobs....
[ 2%] Building CXX object sptam/src/sptam/CMakeFiles/sptam.dir/g2o_driver.cpp.o
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp: In constructor ‘G2ODriver::G2ODriver()’:
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:71:102: error: no matching function for call to ‘g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::BlockSolver(std::remove_reference<std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >&>::type)’
ckSolver_6_3> solver_ptr(new g2o::BlockSolver_6_3( std::move(linearSolver) ) );
^
In file included from /opt/ros/kinetic/include/g2o/core/block_solver.h:189:0,
from /home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:40:
/opt/ros/kinetic/include/g2o/core/block_solver.hpp:39:1: note: candidate: g2o::BlockSolver::BlockSolver(g2o::BlockSolver::LinearSolverType*) [with Traits = g2o::BlockSolverTraits<6, 3>; g2o::BlockSolver::LinearSolverType = g2o::LinearSolver<Eigen::Matrix<double, 6, 6> >]
BlockSolver::BlockSolver(LinearSolverType* linearSolver) :
^
/opt/ros/kinetic/include/g2o/core/block_solver.hpp:39:1: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >&>::type {aka std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6> > >}’ to ‘g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::LinearSolverType* {aka g2o::LinearSolver<Eigen::Matrix<double, 6, 6> >}’
/home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:74:112: error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(std::remove_reference<std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >&>::type)’
erg
solver = new g2o::OptimizationAlgorithmLevenberg( std::move(solver_ptr) );
^
In file included from /home/haidara/catkin_ws/src/sptam/src/sptam/g2o_driver.cpp:43:0:
/opt/ros/kinetic/include/g2o/core/optimization_algorithm_levenberg.h:45:16: note: candidate: g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(g2o::Solver*)
explicit OptimizationAlgorithmLevenberg(Solver* solver);
^
/opt/ros/kinetic/include/g2o/core/optimization_algorithm_levenberg.h:45:16: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >&>::type {aka std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> > >}’ to ‘g2o::Solver*’
sptam/src/sptam/CMakeFiles/sptam.dir/build.make:470: recipe for target 'sptam/src/sptam/CMakeFiles/sptam.dir/g2o_driver.cpp.o' failed
make[2]: *** [sptam/src/sptam/CMakeFiles/sptam.dir/g2o_driver.cpp.o] Error 1
CMakeFiles/Makefile2:3266: recipe for target 'sptam/src/sptam/CMakeFiles/sptam.dir/all' failed
make[1]: *** [sptam/src/sptam/CMakeFiles/sptam.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j2 -l2" failed

from sptam.

taihup avatar taihup commented on September 7, 2024

Again, I think you don't have the right version of g2o library. Did you compile g2o in the 4b9c2f5b68d14ad479457b18c5a2a0bce1541a90 commit? or Do you have another installation of g2o that can be conflicting?

from sptam.

haidela avatar haidela commented on September 7, 2024

@taihup , you are right, I was trying all day without result, so I was installing another sptam with g2o to see it, I was wrong to sent it to you. I think fatal error: Eigen/StdVector: No such file or directory is g2o package problem. I compiled Standalone but sptam with problem. I want to know can open source version install sptam/src/sptam?
haidara@haidara-virtual-machine:~/catkin_ws$ catkin_make --pkg sptam -DSHOW_PROFILING=ON
Base path: /home/haidara/catkin_ws

Source space: /home/haidara/catkin_ws/src
Build space: /home/haidara/catkin_ws/build
Devel space: /home/haidara/catkin_ws/devel
Install space: /home/haidara/catkin_ws/install

Running command: "make cmake_check_build_system" in "/home/haidara/catkin_ws/build"

Running command: "make -j2 -l2" in "/home/haidara/catkin_ws/build/sptam"

[ 66%] Built target sptam
[ 71%] Built target sptam_node
[100%] Built target sptam_nodelet
haidara@haidara-virtual-machine:~/catkin_ws$

haidara@haidara-virtual-machine:~/catkin_ws/src/sptam/src/sptam/build$ make
[ 3%] Building CXX object CMakeFiles/sptam.dir/MapMakerThread.cpp.o
In file included from /home/haidara/catkin_ws/src/sptam/src/sptam/MapMakerThread.hpp:35:0,
from /home/haidara/catkin_ws/src/sptam/src/sptam/MapMakerThread.cpp:35:
/home/haidara/catkin_ws/src/sptam/src/sptam/MapMaker.hpp:35:27: fatal error: Eigen/StdVector: No such file or directory
compilation terminated.

CMakeFiles/sptam.dir/build.make:62: recipe for target 'CMakeFiles/sptam.dir/MapMakerThread.cpp.o' failed
make[2]: *** [CMakeFiles/sptam.dir/MapMakerThread.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/sptam.dir/all' failed
make[1]: *** [CMakeFiles/sptam.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

from sptam.

taihup avatar taihup commented on September 7, 2024

I do not understand the question. You should not compile ~/catkin_ws/src/sptam/src/sptam/build. Does S-PTAM ROS version work? You can compile the S-PTAM standalone version but you should follow the instructions of the README file.

from sptam.

haidela avatar haidela commented on September 7, 2024

Hello @taihup , I compiled /catkin_ws/src/sptam/src/sptam/build that works well, but running is wrong(you can see you can see below). I followed the instructions of the README file, and Tested until commit dependencies are downloaded(I can't use git checkout dependencename), so I have used cmake .. command and make command to compile them. I just get camera trajectories performed by S-PTAM on KITTI dataset and EuRoC datasets and compare them with the ground truth to calculate ATE(Absolute Trajectory Error).
haidara@haidara-virtual-machine:
/catkin_ws/src/sptam/src/standAlone/build$ ./sptam-stereo '/home/haidara/catkin_ws/src/sptam/configurationFiles/kitti.yaml' '/home/haidara/catkin_ws/src/sptam/configurationFiles/kitti_cam_00_to_02_13_to_21.yaml' 00/image_0/ 00/image_1/ dir --timestamps 00/times.txt
detector: GFTT
nfeatures: 1000
qualityLevel: 0.010000
minDistance: 15.000000
blockSize: 3
useHarrisDetector: 0
k: 0.040000
detector: GFTT
nfeatures: 1000
qualityLevel: 0.010000
minDistance: 15.000000
blockSize: 3
useHarrisDetector: 0
k: 0.040000
descriptor: BRIEF
bytes: 32
use_orientation: 0
descriptor: BRIEF
bytes: 32
use_orientation: 0
matcher: BruteForce-Hamming
./sptam-stereo: symbol lookup error: ./sptam-stereo: undefined symbol: _ZN3g2o30OptimizationAlgorithmLevenbergC1ESt10unique_ptrINS_6SolverESt14default_deleteIS2_EE

from sptam.

taihup avatar taihup commented on September 7, 2024

I think you have some problem linking with g2o library. Check http://gdwarner.blogspot.com.ar/2009/03/c-runtime-symbol-lookup-error.html to understand the error.

from sptam.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.