-
Notifications
You must be signed in to change notification settings - Fork 305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error in compiling dvo_core #50
Comments
Hi, A few months ago I attempted to compile DVO_SLAM on Linux Mint (Linux distro based on Ubuntu). The forked repository and step-by-step instructions for compilation are here: https://github.com/songuke/dvo_slam You might want to give it try. It uses catkin to build, which seems to avoid many issues caused by rosmake. Cheers. |
Hi, Thanks for your help. It doesn't work for me yet. I keep having trouble with type conversion Which Eigen version did you use to compile the package? I notice that when Le On Tue, Oct 4, 2016 at 10:48 PM, songuke [email protected] wrote:
|
Hi Le, In the README.md on my repository, I did note: "If your system has Eigen >= 3.3, don't use it with g2o. The old version of You might want to try that. 2016-10-10 7:27 GMT+07:00 ple13 [email protected]:
|
@ple13 : Have you solved the issue?, I got the identical problem. My OS is Ubuntu 14.04 with ROS Indigo. |
I tried to check the installed eigen: ubuntu@ubuntu:~/dvo_slam$ dpkg --get-selections | grep eigen ros indigo has its own conversion package, will the multiple packages be the possible issue? |
Hi, Thank you Songuke!! I finally compiled the code successfully. I guess that the Eigen type conversion errors that kept popping out was due In short, I changed these lines in /usr/local/include/Sophus/so3.hpp, /** \brief scalar type / into /** \brief scalar type / After this small change, I could compiled the package with g++. @mrksst: when I installed Eigen, I used cmake .. Le, Phi Hung On Tue, Oct 11, 2016 at 11:33 AM, mrkstt [email protected] wrote:
|
Hi Le @ple13, ubuntu@ubuntu:~/dvo_slam$ catkin_make -DCMAKE_BUILD_TYPE=ReleaseBase path: /home/ubuntu/dvo_slam Running command: "make cmake_check_build_system" in "/home/ubuntu/dvo_slam/build"Running command: "make -j8 -l8" in "/home/ubuntu/dvo_slam/build"[ 7%] [ 7%] Built target dvo_slam_gencfg Seems "EIGEN_DEVICE_FUNC" and "defaultEnsure" are not recognized. |
I solved the error above by commenting all "SOPHUS_ENSURE", seems it's just for checking. Then, I run: roslaunch launch/benchmark.launch dataset:=/home/ubuntu/dataset/ rgbd_dataset_freiburg3_cabinet_validation Output: The only thing unsolved is I cannot see any result (empty) by running: rosrun rviz rviz Any idea? |
Hi guys, Thanks for all the suggestions to fix the issues. My previous experience with rviz is that it does take a while for the 2016-10-13 14:21 GMT+07:00 mrkstt [email protected]:
|
Hi, When I tried to run the program, it kept asking for the file assoc.txt Le, Phi Hung On Thu, Oct 13, 2016 at 4:32 AM, songuke [email protected] wrote:
|
assoc.txt can be generated with this Python script: Another hint to check if the program is working is to monitor 2016-10-14 1:20 GMT+07:00 ple13 [email protected]:
|
Thanks. It works for me. Le, Phi Hung On Thu, Oct 13, 2016 at 3:17 PM, songuke [email protected] wrote:
|
I'm trying to compile dvo_slam on my machine: Ubuntu 12.04.5 / ros fuerte. The compilation terminates when dvo_core is compiled.
In summary, I notice that there is an error relating to conversion between different data types.
In dense_tracking.cpp, line 263 causes the compilation error:
Eigen::Affine3f transformf;
transformf = estimate().matrix().cast();
I'm thinking about passing data from estimate().matrix() to transformf manually. However I guess there should be a better way to handle the issue.
Below is the error message:
{-------------------------------------------------------------------------------
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp: In instantiation of ‘Eigen::Matrix<typename Eigen::internal::traits::Scalar, 3, 3> Sophus::SE3GroupBase::rotationMatrix() const [with Derived = Sophus::SE3Group; typename Eigen::internal::traits::Scalar = double]’:
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp:227:59: required from ‘Sophus::SE3GroupBase::Transformation Sophus::SE3GroupBase::matrix() const [with Derived = Sophus::SE3Group; Sophus::SE3GroupBase::Transformation = Eigen::Matrix<double, 4, 4>; typename Eigen::internal::traits::Scalar = double]’
/home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/src/dense_tracking.cpp:263:40: required from here
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp:311:25: error: could not convert ‘((const Sophus::SO3GroupBaseSophus::SO3Group)(& Sophus::SE3GroupBase::so3Sophus::SE3Group()))->Sophus::SO3GroupBase::matrixSophus::SO3Group()’ from ‘Sophus::SO3GroupBaseSophus::SO3Group::Transformation {aka int}’ to ‘Eigen::Matrix<double, 3, 3>’
return so3().matrix();
^
In file included from /home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp:27:0,
from /home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/src/dense_tracking.cpp:27:
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/so3.hpp: In instantiation of ‘static Sophus::SO3GroupBase::Tangent Sophus::SO3GroupBase::logAndTheta(const int&, int) [with Derived = Sophus::SO3Group; Sophus::SO3GroupBase::Tangent = int]’:
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp:611:56: required from ‘static Sophus::SE3GroupBase::Tangent Sophus::SE3GroupBase::log(const Sophus::SE3Group<typename Eigen::internal::traits::Scalar>&) [with Derived = Sophus::SE3Group; Sophus::SE3GroupBase::Tangent = Eigen::Matrix<double, 6, 1>; typename Eigen::internal::traits::Scalar = double]’
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp:211:21: required from ‘Sophus::SE3GroupBase::Tangent Sophus::SE3GroupBase::log() const [with Derived = Sophus::SE3Group; Sophus::SE3GroupBase::Tangent = Eigen::Matrix<double, 6, 1>; typename Eigen::internal::traits::Scalar = double]’
/home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/src/dense_tracking.cpp:238:17: required from here
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/so3.hpp:569:3: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
In file included from /home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/src/dense_tracking.cpp:27:0:
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp: In member function ‘Sophus::SE3Group<typename Eigen::internal::traits::Scalar> Sophus::SE3GroupBase::inverse() const [with Derived = Sophus::SE3Group; typename Eigen::internal::traits::Scalar = double]’:
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp:200:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp: In member function ‘Eigen::Matrix<typename Eigen::internal::traits::Scalar, 3, 3> Sophus::SE3GroupBase::rotationMatrix() const [with Derived = Sophus::SE3Group; typename Eigen::internal::traits::Scalar = double]’:
/home/panda/Desktop/slam_baselines/dvo_slam/sophus/include/sophus/se3.hpp:312:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
In file included from /home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/include/dvo/dense_tracking.h:28:0,
from /home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/src/dense_tracking.cpp:23:
/home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/include/dvo/core/datatypes.h: At global scope:
/home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/include/dvo/core/datatypes.h:33:28: warning: ‘dvo::core::Invalid’ defined but not used [-Wunused-variable]
static const IntensityType Invalid = std::numeric_limits::quiet_NaN();
^
/home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/include/dvo/core/datatypes.h:36:24: warning: ‘dvo::core::InvalidDepth’ defined but not used [-Wunused-variable]
static const DepthType InvalidDepth = std::numeric_limits::quiet_NaN();
^
make[3]: *** [CMakeFiles/dvo_core.dir/src/dense_tracking.o] Error 1
make[3]: Leaving directory
/home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/build' make[2]: *** [CMakeFiles/dvo_core.dir/all] Error 2 make[2]: Leaving directory
/home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/build'make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/panda/Desktop/slam_baselines/dvo_slam/dvo_core/build'
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package dvo_core written to:
[ rosmake ] /home/panda/.ros/rosmake/rosmake_output-20161004-150237/dvo_core/build_output.log
[rosmake-0] Finished <<< dvo_core [FAIL] [ 8.61 seconds ]
[ rosmake ] Halting due to failure in package dvo_core.
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Results:
[ rosmake ] Built 40 packages with 1 failures.
[ rosmake ] Summary output to directory
The text was updated successfully, but these errors were encountered: