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