feat(slam): add rtabmap_ros
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# cd rtabmap
|
||||
# docker build -t rtabmap_frontiers -f docker/frontiers2022/Dockerfile .
|
||||
FROM nvcr.io/nvidia/pytorch:22.08-py3
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libsqlite3-dev \
|
||||
libpcl-dev \
|
||||
git \
|
||||
cmake \
|
||||
libyaml-cpp-dev \
|
||||
software-properties-common \
|
||||
pkg-config \
|
||||
wget \
|
||||
libsuitesparse-dev \
|
||||
pybind11-dev
|
||||
|
||||
# g2o (removing config because cs.h not found error: https://github.com/introlab/rtabmap/issues/835)
|
||||
RUN git clone https://github.com/RainerKuemmerle/g2o.git && \
|
||||
cd g2o && \
|
||||
git checkout 20201223_git && \
|
||||
mkdir build && \
|
||||
cd build && \
|
||||
cmake -DBUILD_LGPL_SHARED_LIBS=ON -DG2O_BUILD_APPS=OFF -DBUILD_WITH_MARCH_NATIVE=OFF -DG2O_BUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release .. && \
|
||||
make -j$(nproc) && \
|
||||
make install && \
|
||||
cd /workspace && \
|
||||
rm -rf g2o /usr/local/lib/cmake/g2o
|
||||
|
||||
# GTSAM
|
||||
RUN add-apt-repository ppa:borglab/gtsam-release-4.0 && \
|
||||
apt install -y libgtsam-dev libgtsam-unstable-dev
|
||||
|
||||
|
||||
# OpenCV with xfeatures2d and nonfree modules
|
||||
RUN git clone https://github.com/opencv/opencv_contrib.git && \
|
||||
git clone https://github.com/opencv/opencv.git && \
|
||||
cd opencv_contrib && \
|
||||
git checkout tags/4.2.0 && \
|
||||
cd /workspace && \
|
||||
cd opencv && \
|
||||
git checkout tags/4.2.0 && \
|
||||
mkdir build && \
|
||||
cd build && \
|
||||
cmake -DOPENCV_EXTRA_MODULES_PATH=/workspace/opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DOPENCV_ENABLE_NONFREE=ON .. && \
|
||||
make -j$(nproc) && \
|
||||
make install && \
|
||||
cd /workspace && \
|
||||
rm -rf opencv opencv_contrib
|
||||
|
||||
# Copy current source code
|
||||
COPY . rtabmap
|
||||
|
||||
RUN cp -r rtabmap/archive/2022-IlluminationInvariant/scripts scripts && \
|
||||
chmod +x scripts/*.sh
|
||||
|
||||
# Superpoint model
|
||||
RUN cd scripts && \
|
||||
wget https://github.com/magicleap/SuperPointPretrainedNetwork/raw/master/superpoint_v1.pth && \
|
||||
wget https://raw.githubusercontent.com/magicleap/SuperPointPretrainedNetwork/master/demo_superpoint.py && \
|
||||
python trace.py && \
|
||||
rm superpoint_v1.pth demo_superpoint.py
|
||||
|
||||
# Superglue
|
||||
RUN cd scripts && \
|
||||
git clone https://github.com/magicleap/SuperGluePretrainedNetwork && \
|
||||
cp /workspace/rtabmap/corelib/src/python/rtabmap_superglue.py SuperGluePretrainedNetwork/.
|
||||
|
||||
# Build RTAB-Map
|
||||
RUN cd rtabmap && \
|
||||
cd build && \
|
||||
cmake -DTorch_DIR=/opt/conda/lib/python3.8/site-packages/torch/share/cmake/Torch -DWITH_TORCH=ON -DWITH_PYTHON=ON -DWITH_QT=ON .. && \
|
||||
make -j$(nproc) && \
|
||||
make install && \
|
||||
cd /workspace && \
|
||||
rm -rf rtabmap
|
||||
|
||||
|
||||
Reference in New Issue
Block a user