sudo apt-get install package_name
The softwares are installed in the directory as /bin/
.
Linux environment variables are the commands that you can setup everywhere instead of assigning the pathes of the softwares.
We use the command like export VARNAME="myValue"
to add the varialbes to /etc/environment
/bin
- the directory for the commands and softwares in common use.
/boot
- the directory for LInux setup files and kernel.
/dev
- the directory for the devices connected with the computer.
/home
- the directory for the data of users.
/usr
- the softwares and files for each user.
/lib
- the directory for system dynamic link shared libraries.
/tmp
- the directory for temp data.
/media
/sbin
/var
/root
/opt
/sbin
/mnt
chmod +x a.sh
chown xiang:xiang a.sh
- Indoor sweep robot
- AV/MR
- Autonomous car
- Unmanned Aerial Vehicle
We could use map to get the exact estimation of location. And use the location to form the map.
So we need map to store the old locations and use them to improve the new estimation, like local BA and loop closure.
-
Filter
-
Keyframe based Buddle Adjustmen
-
Directly tracking
-
Klein G, Murray D. Parallel tracking and mapping for small AR workspaces[C]//Mixed and Augmented Reality, 2007. ISMAR 2007. 6th IEEE and ACM International Symposium on. IEEE, 2007: 225-234.
-
Davison A J, Reid I D, Molton N D, et al. MonoSLAM: Real-time single camera SLAM[J]. IEEE transactions on pattern analysis and machine intelligence, 2007, 29(6): 1052-1067.
-
Mur-Artal R, Montiel J M M, Tardos J D. ORB-SLAM: a versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics, 2015, 31(5): 1147-1163.
cmake_minimum_required(VERSION 2.8.3)
project(sayhello)
set(CMAKE_BUILD_TYPE "Release")
add_library(libhello hello.cpp)
add_executable(hello useHello.cpp)
target_link_libraries(hello libhello)
install(TARGETS hello DESTINATION /usr/local/lib)
install(FILES hello.h DESTINATION /usr/local/include)
target_link_libraries(hello libhello)
After compilation, it creates /build
and /lib
some executable binary files:
rgbd_tum
stereo_kitti
stereo_euroc
mono_tum
mono_kitti
mono_euroc
Library:
src/System.cc
src/Tracking.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/ORBextractor.cc
src/ORBmatcher.cc
src/FrameDrawer.cc
src/Converter.cc
src/MapPoint.cc
src/KeyFrame.cc
src/Map.cc
src/MapDrawer.cc
src/Optimizer.cc
src/PnPsolver.cc
src/Frame.cc
src/KeyFrameDatabase.cc
src/Sim3Solver.cc
src/Initializer.cc
src/Viewer.cc
include
- the head files
Example
- the demo of Mono/Steoro/RGBD/ROS ORB-SLAM2
src
- the source code of ORB-SLAM2
All are linked to libORB_SLAM2
library.
- move
myvideo.cpp
toORB_SLAM2/
add to old CMakeLists.txt
add_library(${PROJECT_NAME} SHARED
myvideo.cpp
)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR})
add_executable(myvideo myvideo.cpp)
target_link_libraries(myvideo ${PROJECT_NAME})