まずはA-LOAMのプロジェクトURLを参照してください。
https://github.com/HKUST-Aerial-Robotics/A-LOAM
A-LOAM
は LOAM の高度な実装です
A-LOAM は LOAM (J. Zhang および S. Singh. LOAM: Lidar Odometry and Mapping in Real-time) の高度な実装であり、Eigen および Ceres ソルバーを使用してコード構造を簡素化します。 。このコードは LOAM と LOAM_NOTED から変更されています。このコードは簡潔かつ明確であり、複雑な数学的導出や冗長な演算はありません。SLAM初心者にとっては良い学習教材です。
1. 前提条件
1.1 Ubuntu と ROS
Ubuntu 64 ビット 20.04
ROS
のインストール
公式 Web サイトの Linux インストール チュートリアルの手順に従ってインストールします。
まず、すべての依存関係をインストールします。
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
sudo apt-get install libsuitesparse-dev
1.2. セレスソルバー
次に、Ceres をビルド、テスト、インストールします。
(ファイルceres-solver-2.1.0.tar.gz はここにあります。
公式 Web サイト http://ceres-solver.org/ceres-solver-2.1.0 から指定された最新の安定バージョンのアドレスを手動でダウンロードする必要がある場合があります
。 tar.gz
ただし、ここで必要なのはバージョン 2.0.0
http:ceres-solver.org/ceres-solver-2.0.0.tar.gzである必要があります。
wget を使用してダウンロードできます
)
tar zxf ceres-solver-2.1.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.1.0
make -j3
make test
# Optionally install Ceres, it can also be exported using CMake which
# allows Ceres to be used without requiring installation, see the documentation
# for the EXPORT_BUILD_DIR option for more information.
make install
make test
makeが成功したかどうかをテストできます
1.3. PCL
github で提供されている PCL の URL は有効期限が切れているため、チュートリアルを自分で探す必要があります
Ubuntu20.04 インストール PCL ライブラリ チュートリアル
著者のインストール手順は次のとおりです
まず、インストールされる ros には、あるバージョンの PCL が付属している必要があることを説明しますが、別のバージョンの PCL を同時にインストールする必要があります。
1.3.1 依存関係のインストール
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libeigen3-dev #这个需要自己下载正确版本安装,我的是3.3.7
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7.1p-qt
sudo apt-get install libvtk7.1p
sudo apt-get install libvtk7-qt-dev #(按照错误提示一步一步安装所需要的东西)
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install openjdk-8-jdk openjdk-8-jre
著者は上記のコードに従ってインストールしましたが、エラーは発生しませんでした
インターネット上で見つかった Ubuntu のインストールと以前のバージョンの違いを挿入します。以下を参照してください。
sudo apt-get install libflann1.9 libflann-dev 版本不同
sudo apt-get install libvtk7.1p-qt
sudo apt-get install libvtk7.1p
sudo apt-get install libvtk7-qt-dev
sudo apt-get install qt-sdk UBuntu18.04 该命令已省略
1.3.2 PCLのダウンロード
- 最新バージョンの PCL をダウンロードします。
git clone https://github.com/PointCloudLibrary/pcl.git
作成者は git を直接使用して、最新バージョンのコード ディレクトリのクローンを作成します。
- PCL ファイルの以前のバージョンをダウンロードする場合は、以下の Web サイトにログインし、対応するファイルを見つけて解凍します:
https://github.com/PointCloudLibrary/pcl/releases
1.3.3 コンパイル
cd pcl
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr ..
make #(如果速度太慢用 make -j8 ;默认使用单核make,-j8启用8核)
sudo make install
1.3.4 PCL がインストールされているかどうかをテストする
1. コマンドを入力し
、Tab キーを押して完了結果を表示します。pcl_vfh_estimation、pcl_viewer などの出力が表示されるはずです。
pcl_v
2. ファイルの表示
/usr/include、/usr/lib、/usr/bin などのディレクトリには、pcl に関連するヘッダー ファイル、ライブラリ、および実行可能プログラムが表示されます。
- コードテスト:
PCLのインストールは以下のブログのテストコードubuntu20.04を参考にしてください。
2. A-LOAM を構築する
リポジトリと catkin_make のクローンを作成します。
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
3.ベロダイン VLP-16 の例
NSH 屋内屋外を YOUR_DATASET_FOLDER にダウンロードします。
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
rosbag play
YOUR_DATASET_FOLDER/nsh_indoor_outdoor.bag
4. KITTI の例 (Velodyne HDL-64)
KITTI オドメトリ データセットを YOUR_DATASET_FOLDER にダウンロードし、kitti_helper.launch ファイルに dataset_folder および sequence_number パラメータを設定します。また、kitti_helper.launch で適切なパラメータを設定することで、使いやすいように KITTI データセットを Bag ファイルに変換することにも注意してください。
roslaunch aloam_velodyne aloam_velodyne_HDL_64.launch
roslaunch aloam_velodyne kitti_helper.launch
5. ドッカーのサポート
この作品は作者が実際に操作したわけではないので後ほど追記します。