welcom ! Handel home

2025年3月18日 星期二

(ROS)source /opt/ros/noetic/setup.bash 作用與說明

 

🔍 source /opt/ros/noetic/setup.bash 作用與說明

在 ROS (Robot Operating System) 環境中,執行:

bash
source /opt/ros/noetic/setup.bash

可以讓 ROS 環境變數生效,確保你可以正常使用 roscorerosrunroslaunch 等指令


🚀 1️⃣ source 指令的作用

📌 source 是 Linux Shell 的內建指令,用來執行 腳本 (script) 並載入環境變數

執行:

bash
source /opt/ros/noetic/setup.bash

✅ 讓 ROS 設定的環境變數 (ROS_PACKAGE_PATHROS_MASTER_URIROS_VERSION 等) 生效
✅ 可以使用 ROS 指令,如 roscorerosrunroslaunch
✅ 在 bash 內部直接影響環境變數,而不需要重新開啟終端機

❌ 如果不執行,可能會遇到 command not found 錯誤,例如:

bash
roscore bash: roscore: command not found

🚀 2️⃣ setup.bash 內的環境變數

📌 查看 setup.bash 內部內容

bash
cat /opt/ros/noetic/setup.bash

✅ 內容包含:

bash
export ROS_ROOT=/opt/ros/noetic/share/ros export ROS_PACKAGE_PATH=/opt/ros/noetic/share export PATH=$ROS_ROOT/bin:$PATH export PYTHONPATH=/opt/ros/noetic/lib/python3/dist-packages:$PYTHONPATH

這些變數確保:

  • ROS_ROOT 設定為 /opt/ros/noetic/share/ros
  • ROS_PACKAGE_PATH 設定為 /opt/ros/noetic/share
  • PATH 變數中包含 ROS 可執行檔
  • PYTHONPATH 讓 Python 可以找到 ROS 套件

🚀 3️⃣ 如何讓 source 自動執行

每次開機後,若要 自動加載 ROS 環境變數,可以將 source /opt/ros/noetic/setup.bash 加入 ~/.bashrc

📌 讓 ROS 環境變數永久生效

bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc

✅ 之後每次開啟終端機都會自動載入 ROS 環境!


🚀 4️⃣ 其他 setup.bash 位置

當你建立 自訂的 ROS 工作空間 (Catkin Workspace),也需要 source 對應的 setup.bash

bash
source ~/catkin_ws/devel/setup.bash

📌 如果要讓 ROS 找到你的工作空間,可將這行加入 ~/.bashrc

bash
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc

🚀 5️⃣ 總結

指令作用
source /opt/ros/noetic/setup.bash讓 ROS 環境變數 生效
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc自動載入 ROS 環境 (永久生效)
source ~/catkin_ws/devel/setup.bash載入自訂的 Catkin 工作空間
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc自動載入 Catkin 工作空間

🚀 這樣就不用每次手動 source,ROS 環境會自動載入! 🚀

沒有留言: