3D LiDAR Mapping
本範例使用安裝於 AMR 上的 3D LiDAR,搭配 lidarslam_ros2 示範如何建立 3D 地圖。

安裝
請確認目標系統符合以下條件:
- 研華平台
- 至少 9 GB 的可用磁碟空間
- 需要可正常使用的網路連線
- Ubuntu OS 請使用英文語系環境
- 依照安裝程式說明選擇並安裝 3D Mapping with LiDAR 後,可在以下位置找到
3d-slam-ros2目錄:
/usr/local/Advantech/ros/container/ros-demokit/
- 進入範例目錄後,指定 ROS 2 distribution 啟動:
./launch.sh <ros_distro>
請將 <ros_distro> 替換為 Robotic Suite 安裝過程中偵測並安裝的 ROS 2 版本。
| ROS 2 版本 | 啟動指令 |
|---|---|
| ROS 2 Humble | ./launch.sh humble |
| ROS 2 Jazzy | ./launch.sh jazzy |
例如,若要啟動 ROS 2 Jazzy 環境:
./launch.sh jazzy
指定的 ROS 2 版本必須與 Robotic Suite 實際安裝的版本一致。實際版本可能會依目標系統所支援的 ROS 2 版本而有所不同。
- 3D Mapping with LiDAR 會自動顯示:

設定指南
本範例示範使用以下元件建立 3D 地圖的基本工作流程:
- 安裝於 AMR 上的 3D LiDAR
- lidarslam_ros2
- 使用 RViz 進行視覺化
本範例的目的是協助您了解系統中執行的元件,以及如何透過移動機器人來建立 3D 地圖。
此範例會啟動的元件
執行:
./launch.sh <ros_distro>
後,系統會啟動以下元件:
-
一份 ROS bag,發布所需的 Topic,例如:
/points/tf/odom(若有使用 Odometry)
-
一個
lidarslam_ros2Node,負責:- 訂閱 3D LiDAR 資料與 Odometry
- 估算機器人在 Map Frame 中的 Pose
- 建立 3D 地圖,例如 Point Cloud
-
一組 RViz 設定,用於視覺化:
- 3D LiDAR Point
- 估算的機器人軌跡
- 累積建立的 3D 地圖
使用方式
lidarslam_ros2 並未包含在 Advantech Robotic Suite 的安裝內容中。
使用者應依照官方 GitHub Repository 的說明,另外安裝 lidarslam_ros2。
本範例提供一個包含 lidarslam_ros2 及其相依套件的 Container Environment,執行範例時會自動啟動。
若要使用原生 lidarslam_ros2 建立 3D 地圖,基本上只需要:
-
3D LiDAR
-
正確連接的 ROS 2 Topic
- 3D LiDAR Point Cloud,例如
/points_raw或/lidar_points /tf/odom
- 3D LiDAR Point Cloud,例如
只要 3D LiDAR Point Cloud Topic、TF Tree,以及選用的 Odometry Topic 設定正確,並且與 lidarslam_ros2 參數一致,該 Node 就可以即時估算機器人 Pose 並建立 3D 地圖。
本範例已包含一份可直接使用的 ROS bag 檔案。
自2.1的版本開始,優化了 rosbag 數據,以減少檔案大小。
與先前的版本包含整個演示室的資料不同,現在僅包含部分錄製資料。
這顯著減小了 rosbag 檔案的整體大小。
執行範例時,ROS bag 會自動播放,因此即使沒有任何實體硬體,您仍可以觀察 lidarslam_ros2 建立 3D 地圖的過程。
如果您有自己的 3D LiDAR 與 AMR,可以使用相同的 Topic 錄製自己的 ROS bag,並替換本範例預設使用的 ROS bag。如此即可沿用相同的 ./launch.sh humble 工作流程,使用自己的資料快速驗證 Mapping 設定與參數調整結果。
或者,在無法使用實體硬體時,也可以持續使用提供的 ROS bag 作為「Golden Sample」,例如在可重複的條件下測試不同的 lidarslam_ros2 參數設定。
如需詳細的參數說明與進階設定,請直接參考官方 lidarslam_ros2 Repository。
適用情境
在以下情況下,可以使用此範例:
- 剛開始接觸基於 3D LiDAR 的 SLAM,希望了解一套簡單且可運作的 3D Mapping 設定
- 擁有搭載 3D LiDAR 的 AMR,並希望快速視覺化周圍環境的 3D 表示
- 想建立一份基準 3D 地圖,供後續導航或感知 Demo 使用
本範例著重於以下基本流程:
- 使用 3D LiDAR 啟動
lidarslam_ros2 - 在 RViz 中觀察 3D 地圖逐步建立
- 儲存完成的地圖
後續可在此基礎上進一步:
- 依照自己的機器人、Sensor 與環境調整
lidarslam_ros2參數 - 評估不同的 Odometry 或 IMU Fusion 策略(如適用)
- 將產生的 3D 地圖整合至更完整的導航或感知 Stack
GitHub
詳細的配置可以參考Robotic suite GitHub