uzh-rpg / rpg_svo

Semi-direct Visual Odometry
GNU General Public License v3.0
2.11k stars 861 forks source link

i want to run svo(no ros) on ARM #132

Open wangjio opened 8 years ago

wangjio commented 8 years ago

I want to run svo(no ros) on ARM. what should i do? I have finish getting cross complie tool. I saw the 'Installation Instructions' on the website tells us that we should type 'export ARM_ARCHITECTURE=True' in console before compilation. Is that enough? What about the dependencies? Such as Fast , Sophus etc. Could anyone tell me the detailed step? Thanks a lot!

wangjio commented 8 years ago

I have finishing cross compiling opencv, sophus and fast with cmake-gui. When it comes to the vikit_common, i faced the following problem when making:

/home/wang/arm_SLAM/svo_arm/workspace/rpg_vikit/vikit_common/src/user_input_thread.cpp: In member function 'void vk::UserInputThread::acquireUserInput()':

/home/wang/arm_SLAM/svo_arm/workspace/rpg_vikit/vikit_common/src/user_input_thread.cpp:63:5: error: 'sleep_for' is not a member of 'std::this_thread'

I change the function std::this_thread::sleep_for... to usleep(...) and it works. But here's another problem:

In file included from /home/wang/arm_SLAM/svo_arm/workspace/rpg_vikit/vikit_common/src/img_align.cpp:20:0: /home/wang/arm_SLAM/svo_arm/workspace/rpg_vikit/vikit_common/include/vikit/nlls_solver.h: In constructor 'vk::NLLSSolver<D, T>::NLLSSolver() [with int D = 6, T = Sophus::SE3]': /home/wang/arm_SLAM/svo_arm/workspace/rpg_vikit/vikit_common/src/img_align.cpp:52:29: instantiated from here /home/wang/arm_SLAM/svo_arm/workspace/rpg_vikit/vikit_common/include/vikit/nlls_solver.h:131:26: error: no matching function for call to 'std::shared_ptrvk::robust_cost::ScaleEstimator::shared_ptr(NULL)' /home/wang/SLAM/cross_compile/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/c++/4.5.1/bits/shared_ptr.h:181:7: note: candidates are: std::shared_ptr<_Tp>::shared_ptr(std::shared_ptr<_Tp>&&) [with _Tp = vk::robust_cost::ScaleEstimator, std::shared_ptr<_Tp> = std::shared_ptrvk::robust_cost::ScaleEstimator] /home/wang/SLAM/cross_compile/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/c++/4.5.1/bits/shared_ptr.h:98:7: note: std::shared_ptr<_Tp>::shared_ptr() [with _Tp = vk::robust_cost::ScaleEstimator] /home/wang/SLAM/cross_compile/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/c++/4.5.1/bits/shared_ptr.h:92:5: note: std::shared_ptrvk::robust_cost::ScaleEstimator::shared_ptr(const std::shared_ptrvk::robust_cost::ScaleEstimator&) /home/wang/arm_SLAM/svo_arm/workspace/rpg_vikit/vikit_common/src/img_align.cpp:52:29: instantiated from here /home/wang/arm_SLAM/svo_arm/workspace/rpg_vikit/vikit_common/include/vikit/nlls_solver.h:131:26: error: no matching function for call to 'std::shared_ptrvk::robust_cost::WeightFunction::shared_ptr(NULL)' /home/wang/SLAM/cross_compile/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/c++/4.5.1/bits/shared_ptr.h:181:7: note: candidates are: std::shared_ptr<_Tp>::shared_ptr(std::shared_ptr<_Tp>&&) [with _Tp = vk::robust_cost::WeightFunction, std::shared_ptr<_Tp> = std::shared_ptrvk::robust_cost::WeightFunction] /home/wang/SLAM/cross_compile/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/c++/4.5.1/bits/shared_ptr.h:98:7: note: std::shared_ptr<_Tp>::shared_ptr() [with _Tp = vk::robust_cost::WeightFunction]

/home/wang/SLAM/cross_compile/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/c++/4.5.1/bits/shared_ptr.h:92:5: note: std::shared_ptrvk::robust_cost::WeightFunction::shared_ptr(const std::shared_ptrvk::robust_cost::WeightFunction&)

I have successful run svo(no ros) on ubuntu. When it comes to cross compile, these problem happended, why?