reComputer上でA-LOAM 3D SLAMを実行する方法
A-LOAMの紹介
A-LOAMは、J. ZhangとS. Singhによる元のLOAM(Lidar Odometry and Mapping)アルゴリズムの高度な実装です。A-LOAMの主な特徴は以下の通りです:
- リアルタイムLiDARオドメトリとマッピング
- EigenとCeres Solverを使用した簡素化されたコード構造
- 多様な環境での高性能と堅牢性
A-LOAMは自動運転、ロボティクス、3Dマッピングなど様々なアプリケーションに使用できます。
このwikiでは、RoboSense RS32 LiDARセンサーを使用してreComputer Jetsonシリーズ上でA-LOAM(Advanced LOAM)アルゴリズムをセットアップし、実行するための詳細な手順を提供します。A-LOAMは、効率的でリアルタイムなマッピングと位置推定のためにEigenとCeres Solverを利用するLOAM(Lidar Odometry and Mapping in Real-time)の高度な実装です。

前提条件
-
RoboSense RS32 Lidar
note- reComputerがJetpack 5.xで動作していることを確認してください。Ubuntu 20.04とROS Noeticでのみテストしています。このガイドで説明されているreComputer用ROS1インストールに従って、ROS環境のセットアップを完了してください。
- チュートリアルに従ってreComputer上でRoboSense RS32 LiDARをROSで起動し、点群データの可視化に成功していることを確認してください。

はじめに
環境セットアップ
-
ステップ1: gflags、google-glog、suitesparse、cxsparse3、cxsparseをインストールします。
sudo apt-get install libgflags-dev libgoogle-glog-dev
sudo apt-get install libsuitesparse-dev libcxsparse3 libcxsparse-dev -
ステップ2: PCL(Point Cloud Library)をインストールします。
sudo apt install libpcl-dev
-
ステップ 3: Ceresをインストールします。
wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
tar xvf ceres-solver-1.14.0.tar.gz
cd ceres-solver-1.14.0
mkdir build
cd build
cmake ..
make -j4
sudo make install -
Step 4: Clone the A-LOAM code into the src directory of your workspace (~/catkin_ws/src).
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
設定ファイルとソースコードの修正
-
ステップ 1: A-LOAMアルゴリズムは点群タイプが XYZIRT である必要がありますが、RS32 LiDARのデフォルト出力は XYZI です。そのため、~/catkin_ws/src/rslidar_sdk/ ディレクトリの CMakeLists.txt ファイルの 8 行目を修正し、XYZI を XYZIRT に変更する必要があります。
-
ステップ 2: A-LOAMがサブスクライブするデフォルトの点群トピックは /velodyne_points ですが、RS32 LiDARのデフォルト出力トピックは /rslidar_points です。そのため、~/catkin_ws/src/rslidar_sdk/config/config.yaml ファイルの26行目のトピック名を /velodyne_points に修正します。
-
ステップ 3: C++14を使用している場合は、~/catkin_ws/src/A-LOAM/ ディレクトリにある CMakeLists.txt ファイルの 5 行目を修正し、C++11 を C++14 に変更します。
-
ステップ 4: OpenCV 4.x を使用している場合は、~/catkin_ws/src/A-LOAM/src ディレクトリにある scanRegistration.cpp ファイルの 44 行目のOpenCVヘッダーファイル参照を更新する必要があります(OpenCV 3.xを使用している場合はこのステップをスキップできます)。
コードを置換
#include <opencv/cv.h>
を
#include <opencv2/opencv.hpp>
-
ステップ 5: ~/catkin_ws/src/A-LOAM/src/kittiHelper.cpp の 91 行目と 93 行目で、CV_LOAD_IMAGE_GRAYSCALE を cv::IMREAD_GRAYSCALE に変更します
-
ステップ 6: tf2 を使用している場合は、~/catkin_ws/src/A-LOAM/src/ ディレクトリ内のすべての .cpp ファイル (kittiHelper.cpp, laserMapping.cpp, laserOdometry.cpp, scanRegistration.cpp) を修正し、frame_id=/camera_init を frame_id=camera_init に変更して、'/' 記号のみを削除します。
パッケージのコンパイル
-
ステップ 1: ワークスペースに戻り、機能パッケージを再コンパイルして環境を再読み込みします。
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
3D SLAMの開始
-
ステップ1: ライダーコードの実行
roslaunch rslidar_sdk start.launch
-
ステップ 2: A loam コードの実行
roslaunch aloam_velodyne aloam_velodyne_HDL_32.launch
技術サポート & 製品ディスカッション
私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルをご用意しています。