-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInstallation_HowTo.txt
More file actions
56 lines (40 loc) · 2.41 KB
/
Installation_HowTo.txt
File metadata and controls
56 lines (40 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# install ORB_SLAM3 prereqs
sudo apt install build-essential cmake git pkg-config libopencv-dev libeigen3-dev libsuitesparse-dev python3-opencv libboost-all-dev libssl-dev
# install Pangolin prereqs
sudo apt install libgl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols libegl1-mesa-dev libc++-dev libepoxy-dev libglew-dev libeigen3-dev cmake g++ ninja-build libjpeg-dev libpng-dev catch2 libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev libdc1394-dev libraw1394-dev libopenni-dev python3-dev python3-setuptools
# clone the repos
git clone https://github.com/devansh0703/ORB_SLAM3.git
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin/
# Generate Pangolin build files
# I ran this for use with GNU stow.: `cmake -B build --install-prefix="$HOME/.local/stow/pangolin"`
# You probably want a plain local install, so instead you probably want to just run:
cmake -B build
# Build and install Pangolin
cmake --build build -j"$(nproc)"
cmake --install build
# Add /usr/local/lib to library search path
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/pangolin.conf
# Test Pangolin install
Plotter
# Should output a usage message like this:
# Usage: Plotter [options] file1.csv [fileN.csv]*
# -h, --help
# Print usage information and exit.
# Done with Pangolin
cd ..
# Build ORB_SLAM3
./build.sh
# Test ORB_SLAM3 build
./Examples/Monocular/mono_euroc
# Should output a help message like:
# Usage: ./mono_euroc path_to_vocabulary path_to_settings path_to_sequence_folder_1 path_to_times_file_1 (path_to_image_folder_2 path_to_times_file_2 ... path_to_image_folder_N path_to_times_file_N) (trajectory_file_name)
# Download Euroc machine hall dataset from this link https://www.research-collection.ethz.ch/entities/researchdata/bcaf173e-5dac-484b-bc37-faf97a594f1f
curl https://www.research-collection.ethz.ch/server/api/core/bitstreams/7b2419c1-62b5-4714-b7f8-485e5fe3e5fe/content >machine_hall.zip
# Extract MH01 dataset
mkdir -p Datasets/euroc/machine_hall/MH01_easy
unzip -p machine_hall.zip 'machine_hall/MH_01_easy/MH_01_easy.zip' >foo.zip
unzip -o foo.zip -d Datasets/euroc/machine_hall/MH01_easy
# Run example program (Machine Hall 1 (easy))
./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml Datasets/euroc/machine_hall/MH01_easy Examples/Monocular/EuRoC_TimeStamps/MH01.txt
And get a live video feed with SLAM data. Attached screenshot.