Giter VIP home page Giter VIP logo

active-orb-slam2's Introduction

Active-ORB-SLAM2

Authors: ORB SLAM 2 Raul Mur-Artal, Juan D. Tardos, J. M. M. Montiel and Dorian Galvez-Lopez (DBoW2)

Authors: Active ORB SLAM 2 Xinke Deng, Zixu Zhang, Avishai Sintov, Jing Huang, and Timothy Bretl

#1. Prerequisites We have tested the library in 14.04 with ROS indigo. A powerful computer (e.g. i7) will ensure real-time performance and provide more stable and accurate results.

C++11 or C++0x Compiler

We use the new thread and chrono functionalities of C++11.

Pangolin

We use Pangolin for visualization and user interface. Dowload and install instructions can be found at: https://github.com/stevenlovegrove/Pangolin.

OpenCV

We use OpenCV to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. Required at leat 2.4.3. Tested with OpenCV 2.4.11 and OpenCV 3.2.

Eigen3

Required by g2o (see below). Download and install instructions can be found at: http://eigen.tuxfamily.org. Required at least 3.1.0.

DBoW2 and g2o (Included in Thirdparty folder)

We use modified versions of the DBoW2 library to perform place recognition and g2o library to perform non-linear optimizations. Both modified libraries (which are BSD) are included in the Thirdparty folder.

ROS

ROS indigo is required ros.

OctoMap

OctoMap is required octomap

OMPL is required

OMPL is required OMPL. It is works on OMPL 1.7.2.

#2. Building Active-ORB-SLAM2 library

Clone the repository:

git clone https://github.com/XinkeAE/Actuve-ORB-SLAM2.git
cd Active-ORB-SLAM2
chmod +x build.sh
./build.sh

This will create libORB_SLAM2.so at lib folder and the executables mono_tum, mono_kitti, rgbd_tum, stereo_kitti, mono_euroc and stereo_euroc in Examples folder.

#3. Building ROS

chmod +x build_ros.sh
./build_ros.sh

#4. Specify the goal pose in planning.cc and system.cc changing line 265 - 268 in system.cc

#5. Run ros driver by running the script

./kinect.sh

Citation

@INPROCEEDINGS{Deng2018, 
author={X. {Deng} and Z. {Zhang} and A. {Sintov} and J. {Huang} and T. {Bretl}}, 
booktitle={2018 IEEE International Conference on Robotics and Automation (ICRA)}, 
title={Feature-constrained Active Visual SLAM for Mobile Robot Navigation}, 
year={2018}, 
volume={}, 
number={}, 
pages={7233-7238}, 
doi={10.1109/ICRA.2018.8460721}, 
ISSN={2577-087X}, 
month={May},}

active-orb-slam2's People

Contributors

jhuang81 avatar raulmur avatar xinkeae avatar zzx9636 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

active-orb-slam2's Issues

fatal error: octomap/OcTreeLUT.h: No such file or directory

Hi, I have encountered this error when building. Do you have any idea? Thanks very much.

In file included from /home/eason/Documents/Active-ORB-SLAM2-master/src/OctomapBuilder.cc:1:0:
/home/eason/Documents/Active-ORB-SLAM2-master/include/OctomapBuilder.h:15:31: fatal error: octomap/OcTreeLUT.h: No such file or directory
compilation terminated.
CMakeFiles/ORB_SLAM2.dir/build.make:686: recipe for target 'CMakeFiles/ORB_SLAM2.dir/src/OctomapBuilder.cc.o' failed
make[2]: *** [CMakeFiles/ORB_SLAM2.dir/src/OctomapBuilder.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/eason/Documents/Active-ORB-SLAM2-master/include/System.h:40:0,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/Viewer.h:28,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/Tracking.h:29,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/LocalMapping.h:27,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/LoopClosing.h:25,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/Optimizer.h:27,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/src/Initializer.cc:25:
/home/eason/Documents/Active-ORB-SLAM2-master/include/OctomapBuilder.h:15:31: fatal error: octomap/OcTreeLUT.h: No such file or directory
compilation terminated.
In file included from /home/eason/Documents/Active-ORB-SLAM2-master/include/System.h:40:0,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/Viewer.h:28,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/Tracking.h:29,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/FrameDrawer.h:24,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/src/FrameDrawer.cc:21:
/home/eason/Documents/Active-ORB-SLAM2-master/include/OctomapBuilder.h:15:31: fatal error: octomap/OcTreeLUT.h: No such file or directory
compilation terminated.
In file included from /home/eason/Documents/Active-ORB-SLAM2-master/include/System.h:40:0,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/Viewer.h:28,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/include/Tracking.h:29,
                 from /home/eason/Documents/Active-ORB-SLAM2-master/src/Tracking.cc:22:
/home/eason/Documents/Active-ORB-SLAM2-master/include/OctomapBuilder.h:15:31: fatal error: octomap/OcTreeLUT.h: No such file or directory
compilation terminated.

Running Error!

I use TUM dataset to simulate camera by using ros node to publish photos(5 fps),after running the command "rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.bin Examples/RGB-D/kinect.yaml", the program will show several photos, then show the fllowing fault:
ORB-SLAM2 Copyright (C) 2014-2016 Raul Mur-Artal, University of Zaragoza.
This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it
under certain conditions. See LICENSE.txt.

              Input sensor was set to: RGB-D
              
              Loading ORB Vocabulary. This could take a while...
              Vocabulary loaded in 0.42s
              Create new map.
              
              Camera Parameters: 
              - fx: 520.489
              - fy: 522.471
              - cx: 474.954
              - cy: 264.266
              - k1: 0.0583312
              - k2: -0.0765568
              - k3: 0.0222345
              - p1: -0.00314828
              - p2: 0.000580317
              - fps: 20
              - color order: RGB (ignored if grayscale)
              
              ORB Extractor Parameters: 
              - Number of Features: 1000
              - Scale Levels: 8
              - Scale Factor: 1.2
              - Initial Fast Threshold: 30
              - Minimum Fast Threshold: 12
              
              Depth Threshold (Close/Far Points): 4.61105
              OMPL version: 1.2.1
              New map created with 843 points
              in planning loop
              totally 843 points.
              0.0342349
              Info:    Loading path length optimization objective.
              Initializing camera data...
              Init custom objective function.
              Initializing camera data...
              Info:    RRTstar: Space information setup was not yet called. Calling now.
              Debug:   RRTstar: Planner range detected to be 2.814257
              Settings for the state space 'RealVectorSpace0'
                - state validity check resolution: 3%
                - valid segment count factor: 1
                - state space:
              Real vector state space 'RealVectorSpace0' of dimension 3 with bounds: 
                - min: -1.15 -5 -3.1416 
                - max: 6.5 5 3.1416 
              
              Declared parameters:
              longest_valid_segment_fraction = 0.029999999999999999
              projection.cellsize.0 = 0.061726795780625045
              projection.cellsize.1 = 0.077006495031747751
              projection.cellsize_factor = 
              valid_segment_count_factor = 1
              Valid state sampler named uniform with parameters:
              nr_attempts = 100
              Info:    RRTstar: Starting planning with 1 states already in datastructure
              Info:    RRTstar: Initial k-nearest value of 3
              Info:    RRTstar: Created 0 new states. Checked 0 rewire options. 0 goal states in tree. Final solution cost inf
              No solution found
              *********************** In Planning.cc *********************
              copied planned trajectory size = 0
              段错误

error: ‘InformedSamplerPtr’ in namespace ‘ompl::base’ does not name a type base::InformedSamplerPtr infSampler_;

when running ./build.sh
I got an error as follows,

error: ‘InformedSamplerPtr’ in namespace ‘ompl::base’ does not name a type
             base::InformedSamplerPtr                       infSampler_;

does anyone know the reason? thank you in advance.

I fixed this problem by myself.
here is my solution:
opening my RRTstar.h, at the head of this file, adding this header file, then the project will work smoothly.
#include <ompl/base/samplers/InformedStateSampler.h>

build error !!!

ros 18.04 melodic !
when i build your project, i meet this error!
[ 85%] Built target bin_vocabulary
../lib/libORB_SLAM2.so:对‘ompl::base::GenericParam::truthValueTo01Str(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用
../lib/libORB_SLAM2.so:对‘ompl::base::RejectionInfSampler::RejectionInfSampler(std::shared_ptrompl::base::ProblemDefinition, unsigned int)’未定义的引用
../lib/libORB_SLAM2.so:对‘ompl::base::ProblemDefinition::ProblemDefinition(std::shared_ptrompl::base::SpaceInformation const&)’未定义的引用
../lib/libORB_SLAM2.so:对‘ompl::base::SpaceInformation::SpaceInformation(std::shared_ptrompl::base::StateSpace const&)’未定义的引用
../lib/libORB_SLAM2.so:对‘ompl::base::OptimizationObjective::allocInformedStateSampler(std::shared_ptrompl::base::ProblemDefinition, unsigned int) const’未定义的引用
../lib/libORB_SLAM2.so:对‘octomap::OcTreeLUT::OcTreeLUT(unsigned int)’未定义的引用
../lib/libORB_SLAM2.so:对‘ompl::base::Planner::Planner(std::shared_ptrompl::base::SpaceInformation const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用
../lib/libORB_SLAM2.so:对‘octomap::OcTreeLUT::genNeighborKey(octomap::OcTreeKey const&, signed char const&, octomap::OcTreeKey&) const’未定义的引用

can you help me figure out this ? thank you !

How to run it without ROS

Hi, I have a question ,that is how to run it without ROS just like ORB_SLAM2 ? Because in readme.md, it seems like there is no information about how to use dataset to run it after compile.Thank you.

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.