Kartographer-Installation, Ros-Version Noetic+Ununtu20.04

Das Kartographen-Funktionspaket wurde in ROS integriert, es wurde jedoch noch kein binäres Installationspaket bereitgestellt, sodass es durch Kompilierung des Quellcodes installiert werden muss. Um keinen Konflikt mit vorhandenen Funktionspaketen zu verursachen, erstellen Sie am besten einen Arbeitsbereich speziell für Kartographen. Hier erstellen wir einen neuen Arbeitsbereich catkin_google_ws und verwenden dann die folgenden Schritte, um den Quellcode herunterzuladen und die Kompilierung abzuschließen. Informationen zur Installation finden Sie unter https://google-cartographer-ros .readthedocs.io/en/latest/compilation.html.

Installationswerkzeuge:

wstool ist ein Tool zum Verwalten von ROS-Arbeitsbereichen. Es gibt die Konfiguration des Arbeitsbereichs über die .rosinstall-Datei an.
Ninja ist ein geschwindigkeitsorientiertes Build-Tool, das von einem Google-Programmierer gestartet wurde. Im Allgemeinen werden Programme unter Unix/Linux über make/makefile erstellt und kompiliert, und Ninja verbessert die Build-Geschwindigkeit erheblich, indem es Kompilierungsaufgaben parallel organisiert.

1. Installieren Sie zunächst einige Abhängigkeiten

sudo apt-get install -y python-wstool python-rosdep ninja-build
sudo apt-get install -y clang cmake g++ git google-mock libboost-all-dev libcairo2-dev libcurl4-openssl-dev libeigen3-dev \
                          libgflags-dev libgoogle-glog-dev liblua5.2-dev libsuitesparse-dev lsb-release ninja-build stow
sudo apt-get install -y \
    cmake \
    g++ \
    git \
    google-mock \
    libboost-all-dev \
    libcairo2-dev \
    libeigen3-dev \
    libgflags-dev \
    libgoogle-glog-dev \
    liblua5.2-dev \
    libsuitesparse-dev \
    libwebp-dev \
    ninja-build \
    protobuf-compiler \
    python-sphinx

2. Bauen Sie den Arbeitsbereich auf

 mkdir cartographer_ws
cd cartographer_ws
wstool init src
cd src
git clone https://github.com/googlecartographer/cartographer_ros.git
git clone https://github.com/googlecartographer/cartographer.git
git clone https://github.com/ceres-solver/ceres-solver.git

3. Installieren Sie protobuf3 und deinstallieren Sie proto2, das mit ROS geliefert wird.

Außerdem muss der Befehl VERSION="v3.4.3" eingegeben werden. Diese Version ist sehr wichtig. Gemeldete Fehler beziehen sich fast immer auf diese Version. Deinstallieren Sie zunächst das mit dem Computer gelieferte Proto und installieren Sie es erneut, um das Problem zu beheben.

$ VERSION="v3.4.3"
$ git clone protocolbuffers/protobuf
$ cd protobuf
$ git checkout tags/${
    
    VERSION}
$ mkdir build
$ cd build
$ cmake -G Ninja \
    -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -Dprotobuf_BUILD_TESTS=OFF \
    ../cmake
$ ninja
$ sudo ninja install

3. Installieren Sie Ceres-Solver

$ VERSION="1.13.0"
$ git clone ceres-solver/ceres-solver
$ cd ceres-solver
$ git checkout tags/${
    
    VERSION}
$ mkdir build
$ cd build
$ cmake .. -G Ninja -DCXX11=ON
$ ninja
$ CTEST_OUTPUT_ON_FAILURE=1 ninja test
$ sudo ninja install

4. Installieren Sie abseil-cpp

$ cd abseil-cpp
$ git checkout d902eb869bcfacc1bad14933ed9af4bed006d481
$ mkdir build
$ cd build
$ cmake -G Ninja \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
    -DCMAKE_INSTALL_PREFIX=/usr/local/stow/absl \
    ..
$ ninja
$ sudo ninja install
$ cd /usr/local/stow
$ sudo stow absl

5. Kompilieren Sie den Kartographen

cd cartographer_ws
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=melodic -y
 
cd cartographer
mkdir build
cd build
cmake .. -G Ninja
ninja//需要很长时间
ninja test
sudo ninja install

6. Kompilieren und installieren

cd cartographer_ws
catkin_make_isolated --install --use-ninja//需要很长时间(下次编译会很快完成)
source install_isolated/setup.bash

7. Testen

Laden Sie das 2D-Datenpaket herunter und führen Sie die Demo aus

wget -P ~/cartographer_ws/dataset https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
source ~/cartographer_ws/install_isolated/setup.bash
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${
    
    HOME}/cartographer_ws/dataset/cartographer_paper_deutsches_museum.bag

Supongo que te gusta

Origin blog.csdn.net/m0_63715549/article/details/131936777
Recomendado
Clasificación