2D LiDAR Navigation
此範例示範在 AMR 上搭配 2D LiDAR 與 Nav2 進行導航與避障。

安裝
目標系統需符合:研華平台、剩餘空間 ≥ 3 GB、Ubuntu 英文介面、可連網。
- 依照安裝程式說明選擇並安裝 2D LiDAR Navigation 後,可在以下位置找到
2d-nav2-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 版本而有所不同。
- 2D LiDAR Navigation 會自動顯示:

第一次執行此程式時,系統可能需要下載或準備必要檔案,因此可能需要一些時間。
設定指南
本範例示範以 2D LiDAR 為基礎的導航基本工作流程,包含:
- 安裝於 AMR 上的 2D LiDAR
- 使用 Nav2 作為導航 Stack
- 使用 RViz 進行視覺化與操作
本範例的目的是協助您了解整體導航流程,以及主要 Nav2 元件如何彼此配合,而不是提供一套可以不經修改就直接套用到任何 AMR 或環境的設定。
使用方式
在 Advantech Robotic Suite 中,Nav2 已預先安裝於 Host 環境,因此不需要額外進行安裝。 本範例主要作為概念與設定參考,並使用符合內部範例配置的預先定義 Robot Setup 與 Map。由於大多數使用者會使用不同的 AMR 硬體,且實際操作環境也不同,因此不應預期可以:
- 在不修改設定的情況下,直接將此範例執行於自己的 AMR 上,或
- 只啟動此 Demo,就能在自己的實際環境中看到真實機器人移動。
您可以改為使用此範例來:
-
在 RViz 中觀察典型的 Nav2 Bring-up,包括 Map、Robot Pose、Costmap 與 Planned Path。
-
了解 Nav2 所需的主要 Topic 與 Frame,例如:
/map– 靜態地圖/scan– 2D LiDAR 資料/tf–map、odom、base_link與 Sensor Frame 之間的座標轉換/odom– Odometry 資訊(若有提供)/cmd_vel– Nav2 傳送至 Robot Base 的速度指令
執行範例後:
- RViz 會依照範例設定載入地圖。
- Nav2 會透過 Planner、Controller 與 Costmap 計算 Global Path 並模擬導航行為,您可以在 RViz 中觀察整個過程。
若要將相同概念套用至自己的 AMR,需要:
- 提供自己的 Robot Description、TF Tree 與 Sensor Setup。
- 確認 Topic(
/scan、/odom、/tf等)與 Frame 符合 Nav2 的需求。 - 依照自己的機器人與環境調整 Nav2 參數,例如 Costmap、Planner 與 Controller。
此範例設定主要作為了解各元件如何整合的「範本」,而不是可直接套用到任意硬體的即用型設定。
如需詳細的參數說明與進階設定,請直接參考官方 Nav2 文件與教學。
適用情境
在以下情況下,可以使用此範例:
- 剛開始接觸 Nav2,希望了解完整的 2D LiDAR 導航流程
- 想了解實際 Nav2 Launch 與 RViz 設定的典型樣貌
- 需要了解必要的 Topic、Frame 與主要元件,例如 Map Server、Localization、Planning、Control 與 Behavior Tree
本範例著重於以下概念流程:
- 載入 2D 地圖並啟動 Nav2 Stack
- 在地圖上定位機器人,例如使用 AMCL
- 在 RViz 中送出導航目標
- 觀察 Nav2 如何計算路徑,並利用 2D LiDAR 進行障礙物迴避
後續可在此基礎上進一步:
- 將 Nav2 設定(Robot Model、Costmap、Planner、Controller)調整為適合自己的 AMR。
- 使用由「2D LiDAR Mapping」範例或自己的 Mapping Pipeline 所建立的地圖。
- 整合其他 Sensor,例如 IMU、Wheel Encoder,以改善定位與導航效能。
GitHub
詳細的配置可以參考Robotic suite GitHub