Closed jekekrantz closed 10 years ago
g2o recently changed the addVertex method. revision RainerKuemmerle/g2o@67d5fa758775e1d0a5fa249cd429c1d596cb184f still works. You can change the revision in dvo_slam/g2o/Makefile
Thank you, i got it working by adding
GIT_REVISION=67d5fa7
to the g2o makefile.
Hi, Johan Ekekrantz,
As taking reference from your suggestion, I modified as follows:
all: sophus
'# GIT_DIR: name of directory into which you want to clone to GIT_DIR = g2o_src '# GIT_URL: full URL to download GIT_URL=git://github.com/RainerKuemmerle/g2o.git '# GIT_PATCH: your (list of) patch file(s) to patch the downloaded software '# GIT_REVISION: - GIT_REVISION=67d5fa7 include $(shell rospack find mk)/git_checkout.mk
sophus: download
mkdir -p build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=pwd
/.. ../$(GIT_DIR) && \
make install
clean: rm -rf $(GIT_DIR) patched build include lib rospack_nosubdirs
But the build process for dvo_slam fails again :
[rosmake-1] Starting >>> g2o [ make ]
[rosmake-0] Finished <<< sophus [PASS] [ 0.35 seconds ]
[rosmake-0] Starting >>> dvo_core [ make ]
[rosmake-0] Finished <<< dvo_core [PASS] [ 0.54 seconds ]
[rosmake-0] Starting >>> dvo_ros [ make ]
[rosmake-0] Finished <<< dvo_ros [PASS] [ 1.37 seconds ]
[rosmake-0] Starting >>> dvo_benchmark [ make ]
[rosmake-0] Finished <<< dvo_benchmark [PASS] [ 0.51 seconds ]
[rosmake-1] Finished <<< g2o [PASS] [ 2.87 seconds ]
[rosmake-1] Starting >>> dvo_slam [ make ]
[ rosmake ] Last 40 lineso_slam: 12.0 sec ] [ 1 Active 42/43 Complete ]
{-------------------------------------------------------------------------------
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:356:59: error: expected initializer before ‘r’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:358:8: error: ‘r’ was not declared in this scope
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:358:42: error: request for member ‘end’ in ‘((dvoslam::internal::KeyframeGraphImpl)this)->dvo_slam::internal::KeyframeGraphImpl::constraint_trackingresults’, which is of non-class type ‘int’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp: In member function ‘int dvo_slam::internal::KeyframeGraphImpl::insertNewKeyframeConstraints(const ConstraintProposalVector&)’:
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:610:53: error: ‘struct dvo_slam::constraints::ConstraintProposal’ has no member named ‘TrackingResult’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp: In member function ‘void dvo_slam::internal::KeyframeGraphImpl::insertConstraint(const KeyframePtr&, const KeyframePtr&, const int&)’:
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:626:41: error: request for member ‘Transformation’ in ‘result’, which is of non-class type ‘const int’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:628:30: error: request for member ‘Information’ in ‘result’, which is of non-class type ‘const int’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:633:41: error: invalid types ‘int[int]’ for array subscript
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp: In member function ‘dvo_slam::KeyframePtr dvo_slam::internal::KeyframeGraphImpl::insertNewKeyframe(const Ptr&)’:
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:753:78: error: no matching function for call to ‘dvo_slam::LocalMap::setKeyframePose(Eigen::Affine3d)’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:753:78: note: candidate is:
/root/ros_ws/package_dir/dvo_slam/dvo_slam/include/dvo_slam/local_map.h:52:8: note: void dvo_slam::LocalMap::setKeyframePose(const int&)
/root/ros_ws/package_dir/dvo_slam/dvo_slam/include/dvo_slam/local_map.h:52:8: note: no known conversion for argument 1 from ‘Eigen::Affine3d {aka Eigen::Transform<double, 3, 2>}’ to ‘const int&’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp: In member function ‘void dvo_slam::internal::KeyframeGraphImpl::configureValidationTracking(const dvo::DenseTracker::Config&)’:
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:827:29: error: ‘struct dvo::DenseTracker::Config’ has no member named ‘IntensityDerivativeThreshold’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:827:64: error: ‘const struct dvo::DenseTracker::Config’ has no member named ‘IntensityDerivativeThreshold’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:828:29: error: ‘struct dvo::DenseTracker::Config’ has no member named ‘DepthDerivativeThreshold’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:828:60: error: ‘const struct dvo::DenseTracker::Config’ has no member named ‘DepthDerivativeThreshold’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:836:29: error: ‘struct dvo::DenseTracker::Config’ has no member named ‘IntensityDerivativeThreshold’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:836:64: error: ‘const struct dvo::DenseTracker::Config’ has no member named ‘IntensityDerivativeThreshold’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:837:29: error: ‘struct dvo::DenseTracker::Config’ has no member named ‘DepthDerivativeThreshold’
/root/ros_ws/package_dir/dvo_slam/dvo_slam/src/keyframe_graph.cpp:837:60: error: ‘const struct dvo::DenseTracker::Config’ has no member named ‘DepthDerivativeThreshold’
/root/ros_ws/package_dir/dvo/dvo_core/include/dvo/core/datatypes.h: At global scope:
/root/ros_ws/package_dir/dvo/dvo_core/include/dvo/core/datatypes.h:32:28: warning: ‘dvo::core::Invalid’ defined but not used [-Wunused-variable]
/root/ros_ws/package_dir/dvo/dvocore/include/dvo/core/datatypes.h:35:24: warning: ‘dvo::core::InvalidDepth’ defined but not used [-Wunused-variable]
make[3]: ** [CMakeFiles/dvo_slam.dir/src/keyframe_tracker.o] Error 1
make[3]: * Waiting for unfinished jobs....
/root/ros_ws/package_dir/dvo_slam/dvo_slam/include/dvo_slam/keyframe.h: In member function ‘ros::Time dvo_slam::Keyframe::timestamp() const’:
/root/ros_ws/package_dir/dvo_slam/dvo_slam/include/dvo_slam/keyframe.h:51:3: warning: control reaches end of non-void function [-Wreturn-type]
/root/ros_ws/package_dir/dvo/dvo_core/include/dvo/core/datatypes.h: At global scope:
/root/ros_ws/package_dir/dvo/dvo_core/include/dvo/core/datatypes.h:32:28: warning: ‘dvo::core::Invalid’ defined but not used [-Wunused-variable]
/root/ros_ws/package_dir/dvo/dvo_core/include/dvo/core/datatypes.h:35:24: warning: ‘dvo::core::InvalidDepth’ defined but not used [-Wunused-variable]
make[3]: * [CMakeFiles/dvo_slam.dir/src/keyframe_graph.o] Error 1
make[3]: Leaving directory /root/ros_ws/package_dir/dvo_slam/dvo_slam/build' make[2]: *** [CMakeFiles/dvo_slam.dir/all] Error 2 make[2]: Leaving directory
/root/ros_ws/package_dir/dvo_slam/dvo_slam/build'
make[1]: *\ [all] Error 2
make[1]: Leaving directory `/root/ros_ws/package_dir/dvo_slam/dvo_slam/build'
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package dvo_slam written to:
[ rosmake ] /root/.ros/rosmake/rosmake_output-20140924-161059/dvo_slam/build_output.log
[rosmake-1] Finished <<< dvo_slam [FAIL] [ 12.01 seconds ]
[ rosmake ] Halting due to failure in package dvo_slam.
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Results:
[ rosmake ] Built 43 packages with 1 failures.
[ rosmake ] Summary output to directory
[ rosmake ] /root/.ros/rosmake/rosmake_output-20140924-161059
Could you give me some hints to fix it?
Thanks~
Milton
when i run, rosrun dvo_ros camera_tracker Start dynamic_reconfigure GUI In /camera/driver enable depth_registration on In /camera_tracker enable reconstruction, use_weighting, run_dense_tracking, and use_dense_tracking_estimate Start dynamic_reconfigure GUI
it get wrong [ WARN] [1416222358.860807756]: RGB image size has changed, resetting tracker! Segmentation fault (core dumped) how to solved it
Hi, Im trying to run the benchmark data(here on rgbd_dataset_freiburg1_room) but I keep getting error messages like this:
addVertex: FATAL, a vertex with (negative) ID -5 cannot be inserted in the graph addVertex: FATAL, a vertex with (negative) ID -4 cannot be inserted in the graph addVertex: FATAL, a vertex with (negative) ID -3 cannot be inserted in the graph addVertex: FATAL, a vertex with (negative) ID -2 cannot be inserted in the graph addVertex: FATAL, a vertex with (negative) ID -1 cannot be inserted in the graph addVertex: FATAL, a vertex with (negative) ID -9 cannot be inserted in the graph addVertex: FATAL, a vertex with (negative) ID -8 cannot be inserted in the graph addVertex: FATAL, a vertex with (negative) ID -7 cannot be inserted in the graph addVertex: FATAL, a vertex with (negative) ID -6 cannot be inserted in the graph
benchmark: /home/johane/fuerte_workspace/sandbox/dvo_slam/dvo_slam/src/keyframe_graph.cpp:734: void dvo_slam::internal::KeyframeGraphImpl::addGraph(g2o::OptimizableGraph*): Assertion `v' failed.
From a little bit of debugging it seems like line 764 in keyframe_graph.cpp is the place where the negative numbers are produced. Any help on resolving this issue would be greatly appreciated!
Cheers, Johan Ekekrantz