3. ORB-SLAM2¶
3.1. Install Dependency Packages¶
sudo apt install -y \
libboost-all-dev \
build-essential \
cmake \
libgtk2.0-dev \
pkg-config \
python-dev python-numpy \
libavcodec-dev libavformat-dev libswscale-dev \
libglew-dev
3.2. Install Eigen3¶
sudo apt install libeigen3-dev
cd /usr/include/eigen3
sudo cp Eigen/ .. -R
3.3. Install OpenCV 3.2¶
Specify the opencv version.
export CV3_RELEASE=3.2.0
Clone the opencv source code.
git clone https://github.com/opencv/opencv.git /tmp/opencv
git clone https://github.com/opencv/opencv_contrib.git /tmp/opencv_contrib
Install dependencies.
sudo apt update
sudo apt install -y liblapacke-dev
sudo apt install -y libeigen3-dev
Build and install opencv3.
cd /tmp/opencv
git checkout ${CV3_RELEASE}
cd /tmp/opencv_contrib
git checkout ${CV3_RELEASE}
mkdir -p /tmp/opencv-${CV3_RELEASE}-build
cd /tmp/opencv-${CV3_RELEASE}-build
cmake -DCMAKE_BUILD_TYPE=Release \
-DWITH_CUDA=OFF \
-DCMAKE_INSTALL_PREFIX=/usr/local/opencv-${CV3_RELEASE} \
-DOPENCV_EXTRA_MODULES_PATH=/tmp/opencv_contrib/modules \
/tmp/opencv
sudo make install -j`proc`
Clean up.
rm -rf /tmp/opencv /tmp/opencv_contrib
sudo rm -rf /tmp/opencv-${CV3_RELEASE}-build
3.4. Install Pangolin¶
Install dependencies.
sudo apt install -y libglew-dev \
cmake \
libboost-dev \
libboost-thread-dev \
libboost-filesystem-dev \
libxkbcommon-dev
Clone the source code.
git clone https://github.com/stevenlovegrove/Pangolin
Build Pangolin.
mkdir build && cd build
cmake ..
make
sudo make install -j`proc`
3.5. Install Doxygen¶
sudo apt-get install -y doxygen
3.6. Install ORB-SLAM2¶
Please download our modification of ORB-SLAM2 which can restore maps, publish poses and construct both 2D and 3D maps simultaneously.
Move the ORB-SLAM2 into src
directory of your workspace.
cp -r ORB_SLAM2 `path_to_workspace_src`
Go into the ORB_SLAM2 directory and execute build.sh
.
source `path_to_workspace`/devel/setup.bash
cd ORB_SLAM2
chmod +x build.sh
./build.sh
Build the ROS nodes.
source `path_to_workspace`/devel/setup.bash
chmod +x build_ros.sh
./build_ros.sh
3.7. Set up Configuration File¶
Specify parameters in a yaml file, including camera parameters, map file, etc. Camera parameters include fx, fy, kx and ky which can be found in the camera (or lens) documentation.
We also provide our configuration file in ORB_SLAM2/Examples/ROS/
.