Skip to content
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

orbslam_dwo #155

Open
wants to merge 57 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
f916300
Init ORBSLAM-DWO
JzHuai0108 Oct 12, 2015
8a084fb
Init ORBSLAM-DWO
JzHuai0108 Oct 12, 2015
0480195
load txt VOC
JzHuai0108 Oct 12, 2015
d32e683
load txt VOC
JzHuai0108 Oct 12, 2015
a21d905
kitti config
JzHuai0108 Oct 12, 2015
a681f16
kitti config
JzHuai0108 Oct 12, 2015
b4aea4b
kitti config
JzHuai0108 Oct 12, 2015
e4f318f
kitti config
JzHuai0108 Oct 12, 2015
610316e
removed bak and ~
JzHuai0108 Oct 13, 2015
7aacbed
catkin support
JzHuai0108 Nov 24, 2015
e8ad9eb
catkin support
JzHuai0108 Nov 24, 2015
0acdb86
Update IMU_constraint.cpp
JzHuai0108 Jun 29, 2016
5342f18
clean up and tested mono slam
JzHuai0108 Jul 28, 2016
487d97c
replace setting files
JzHuai0108 Jul 28, 2016
1f9168b
Merge branch 'master' into HEAD
JzHuai0108 Jul 28, 2016
fd12953
reorganize
JzHuai0108 Aug 2, 2016
798a0cd
format
JzHuai0108 Aug 3, 2016
79525ca
remove irrelevant error messages
JzHuai0108 Oct 13, 2016
a12f113
intermediate update
JzHuai0108 Apr 8, 2017
25e19fc
split g2o_types into vio_common and vio_g2o two libs
JzHuai0108 Apr 9, 2017
fffc60d
remove vio_g2o submodule
JzHuai0108 Apr 9, 2017
2782a9c
work with vio_common and vio_g2o libs
JzHuai0108 Apr 9, 2017
5d00714
Removed submodule Thirdparty/vio_g2o
JzHuai0108 Apr 9, 2017
20e82f4
add vio_g2o submodule
JzHuai0108 Apr 9, 2017
d059cd5
add vio_common submodule
JzHuai0108 Apr 14, 2017
ddc484b
synched two submodules: vio_common and vio_g2o
JzHuai0108 Apr 15, 2017
06e35e9
replace original libviso2 codebase with a submodule
JzHuai0108 Apr 16, 2017
c48372b
add submodule viso2
JzHuai0108 Apr 16, 2017
2556509
reorganize viso2 files
JzHuai0108 Apr 16, 2017
c3abb5e
finally make submodule libviso2 right
JzHuai0108 Apr 16, 2017
719c826
update viso2 module
JzHuai0108 Apr 16, 2017
28be30c
test with stereo and stereo-imu cases in ROS environment
JzHuai0108 Apr 16, 2017
6ce34f8
update installation in readme
JzHuai0108 Apr 22, 2017
4635b60
update readme format
JzHuai0108 Apr 22, 2017
ef603d2
space readme
JzHuai0108 Apr 22, 2017
1bb59ef
use the latest vio_common which does not use gpstk
JzHuai0108 May 5, 2017
7dcee74
support processing unrectified stereo images and inertial data, and u…
JzHuai0108 May 21, 2017
9d63678
hack predicted velocity by differencing stereo odometry, test with st…
JzHuai0108 May 21, 2017
3029544
update comments for dilili.yaml
JzHuai0108 May 27, 2017
0c27794
add a few comments
JzHuai0108 May 27, 2017
255cfbb
add a few comments
JzHuai0108 May 27, 2017
a5c7f61
straighten libraries linkage
JzHuai0108 Aug 24, 2017
03b3fa4
destructive but successful upgrade of all submodules
JzHuai0108 Aug 24, 2017
ad7d011
replace submodules with hard sources
JzHuai0108 Aug 24, 2017
ea48917
purify the old code
JzHuai0108 Aug 24, 2017
b7f63db
update readme and two setting files
JzHuai0108 Aug 24, 2017
9795c35
remove the anonying virtual destructor warning in dbow2
JzHuai0108 Aug 24, 2017
d0c4001
format readme
JzHuai0108 Aug 24, 2017
5cc5464
format readme plain code lines
JzHuai0108 Aug 25, 2017
47b8953
add a todo in readme
JzHuai0108 Oct 12, 2017
9e91042
conform to the latest g2o
JzHuai0108 Dec 31, 2017
e50e374
update submodules
JzHuai0108 Mar 14, 2018
e730174
update submodules again
JzHuai0108 Mar 14, 2018
33d306a
adapt to the upgraded vio_g2o
JzHuai0108 Mar 14, 2018
11d61c7
fixed eigen allocator segfault
JzHuai0108 Mar 15, 2018
349d062
fix the imu timing bug
JzHuai0108 Mar 16, 2018
e03d2d6
Update README.md
JzHuai0108 Oct 14, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
59 changes: 59 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
build/
bin/
lib/
msg_gen/
srv_gen/
msg/*Action.msg
msg/*ActionFeedback.msg
msg/*ActionGoal.msg
msg/*ActionResult.msg
msg/*Feedback.msg
msg/*Goal.msg
msg/*Result.msg
msg/_*.py

# Generated by dynamic reconfigure
*.cfgc
/cfg/cpp/
/cfg/*.py

# Ignore generated docs
*.dox
*.wikidoc

# eclipse stuff
.project
.cproject

# qcreator stuff
CMakeLists.txt.user

srv/_*.py
*.pcd
*.pyc
qtcreator-*
*.user

/planning/cfg
/planning/docs
/planning/src

*~

# Emacs
.#*

# Catkin custom files
CATKIN_IGNORE

ORB_SLAM2-viclam-backup/

data/result/plot_path/

data/result/

TODO\.txt

Thirdparty/g2o/

Thirdparty/Sophus/
145 changes: 121 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,103 @@
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
SET(TRACE FALSE) # record timing of operations
SET(MONO_SLAM false) # if false stereo SLAM with or without IMU, if true, monocular SLAM
SET(USE_ROS false) # use ROS for visualization or not

rosbuild_init()
SET(PROJECT_NAME orbslam_dwo)
PROJECT(${PROJECT_NAME})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
cmake_minimum_required(VERSION 2.6)
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
"${PROJECT_SOURCE_DIR}/cmake_modules/")

IF(NOT ROS_BUILD_TYPE)
SET(ROS_BUILD_TYPE Release)
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release)
ENDIF()

MESSAGE("Build type: " ${ROS_BUILD_TYPE})
MESSAGE("Build type: " ${CMAKE_BUILD_TYPE})

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native")
# use sse3 instruction set
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse3")
add_definitions(-DCV_SSE2=1)
MESSAGE ("sse3 ON")

# Set definitions
IF(TRACE)
ADD_DEFINITIONS(-DSLAM_TRACE)
ENDIF()
IF(MONO_SLAM)
ADD_DEFINITIONS(-DMONO)
ELSE()
ADD_DEFINITIONS(-DSLAM_OUTPUT_VISO2) #output the libviso2 stereo odometry result
ENDIF()
IF(USE_ROS)
add_definitions(-DSLAM_USE_ROS)
ENDIF()

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
IF(CMAKE_BUILD_TYPE MATCHES Debug)
ADD_DEFINITIONS(-DSLAM_DEBUG_OUTPUT)
ENDIF()

LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules)

find_package(OpenCV REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(Cholmod REQUIRED)
FIND_PACKAGE(SuiteSparse REQUIRED)

set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.45.0 COMPONENTS system thread REQUIRED)

FIND_PACKAGE(OpenCV REQUIRED)

SET(vikit_common_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/Thirdparty/vikit_common/include)
SET(vikit_common_LIBRARIES ${PROJECT_SOURCE_DIR}/Thirdparty/vikit_common/lib/libvikit_common.so)

SET(vio_common_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/Thirdparty/vio_common/include)
SET(vio_common_LIBRARIES ${PROJECT_SOURCE_DIR}/Thirdparty/vio_common/lib/libvio_common.so)

SET(vio_g2o_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/Thirdparty/vio_g2o/include)
SET(vio_g2o_LIBRARIES ${PROJECT_SOURCE_DIR}/Thirdparty/vio_g2o/lib/libvio_g2o.so)

SET(DBOW2_LIB ${PROJECT_SOURCE_DIR}/Thirdparty/DBoW2/lib/libDBoW2.so)

SET(G2O_INCLUDE_DIR ${INSTALL_PREFIX}/g2o/include)
SET(G2O_LIBRARY_DIR ${INSTALL_PREFIX}/g2o/lib)

SET(Sophus_INCLUDE_DIR ${INSTALL_PREFIX}/sophus/include)

IF(USE_ROS)
FIND_PACKAGE(catkin REQUIRED COMPONENTS roscpp roslib cmake_modules tf cv_bridge)
catkin_package(
DEPENDS Eigen OpenCV Cholmod SuiteSparse Boost
CATKIN_DEPENDS roscpp roslib tf cv_bridge
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
)
ELSE()
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build)
ENDIF()

include_directories(
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/include
${EIGEN3_INCLUDE_DIR}
${CHOLMOD_INCLUDE_DIR}
${CSPARSE_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${G2O_INCLUDE_DIR}
${Sophus_INCLUDE_DIR}
${OPENCV_INCLUDE_DIR}
${vikit_common_INCLUDE_DIRS}
${PROJECT_SOURCE_DIR}/Thirdparty/libviso2/include
${vio_common_INCLUDE_DIRS}
${vio_g2o_INCLUDE_DIRS}
)

rosbuild_add_executable(${PROJECT_NAME}
src/main.cc
LIST(APPEND SOURCEFILES
src/config.cpp
src/Tracking.cc
src/LocalMapping.cc
src/LoopClosing.cc
Expand All @@ -37,29 +107,56 @@ src/FramePublisher.cc
src/Converter.cc
src/MapPoint.cc
src/KeyFrame.cc
src/FeatureGrid.cpp
src/Map.cc
src/MapPublisher.cc
src/Optimizer.cc
src/PnPsolver.cc
src/Frame.cc
src/KeyFrameDatabase.cc
src/Sim3Solver.cc
src/Initializer.cc
src/stereoSFM.cpp
src/MotionModel.cpp
src/StereoImageLoader.cpp
)
rosbuild_add_boost_directories()
rosbuild_link_boost(${PROJECT_NAME} thread)

target_link_libraries(${PROJECT_NAME}
IF(USE_ROS)
LIST(APPEND SOURCEFILES src/MapPublisher.cc)
ENDIF()

LIST(APPEND LINK_LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
cholmod
${PROJECT_SOURCE_DIR}/Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o_core.so
${PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o_solver_cholmod.so
${PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o_solver_dense.so
${PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o_stuff.so
${PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o_types_sba.so
${PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o_types_sim3.so
${PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o_types_slam3d.so
csparse
cxsparse
${Boost_LIBRARIES}
${G2O_LIBRARY_DIR}/libg2o_core.so
${G2O_LIBRARY_DIR}/libg2o_solver_cholmod.so
${G2O_LIBRARY_DIR}/libg2o_solver_dense.so
${G2O_LIBRARY_DIR}/libg2o_stuff.so
${G2O_LIBRARY_DIR}/libg2o_solver_csparse.so
${G2O_LIBRARY_DIR}/libg2o_csparse_extension.so
${G2O_LIBRARY_DIR}/libg2o_types_sba.so
${G2O_LIBRARY_DIR}/libg2o_types_sim3.so
${G2O_LIBRARY_DIR}/libg2o_types_slam3d.so

${DBOW2_LIB}
${PROJECT_SOURCE_DIR}/Thirdparty/libviso2/lib/libviso2.so
${vikit_common_LIBRARIES}
${vio_common_LIBRARIES}
${vio_g2o_LIBRARIES}
)

IF(USE_ROS)
INCLUDE_DIRECTORIES(${catkin_INCLUDE_DIRS})
LIST(APPEND LINK_LIBS ${catkin_LIBRARIES})
ENDIF()

ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCEFILES})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LINK_LIBS})

add_executable(test_orbslam src/main.cc)
TARGET_LINK_LIBRARIES(test_orbslam ${PROJECT_NAME})

add_executable(test_stereoImageLoader test/testStereoImageLoader.cpp)
TARGET_LINK_LIBRARIES(test_stereoImageLoader ${PROJECT_NAME})
Binary file removed Data/ORBvoc.yml.tar.gz
Binary file not shown.
14 changes: 0 additions & 14 deletions ExampleFuerte.launch

This file was deleted.

14 changes: 0 additions & 14 deletions ExampleGroovyHydro.launch

This file was deleted.

Loading