welcom ! Handel home

2025年2月4日 星期二

ROS workspace / src package 介紹

ROS  workspace / src  package 介紹  


└── src

    ├── CMakeLists.txt -> /opt/ros/noetic/share/catkin/cmake/toplevel.cmake

    ├── myrobot_control

    │   ├── CMakeLists.txt

    │   ├── launch

    │   │   └── keyboard_teleop.launch

    │   ├── package.xml

    │   └── scripts

    │       └── myrobot_key

    ├── myrobot_description

    │   ├── CMakeLists.txt

    │   ├── launch

    │   │   └── myrobot_rviz.launch

    │   ├── package.xml

    │   ├── src

    │   └── urdf

    │       ├── macros.xacro

    │       ├── materials.xacro

    │       ├── myrobot.gazebo

    │       ├── myrobot.urdf

    │       └── myrobot.xacro

    └── myrobot_gazebo

        ├── CMakeLists.txt

        ├── launch

        │   ├── empty_world.launch

        │   ├── myrobot_gazebo_full.launch

        │   └── myrobot_world.launch

        ├── package.xml

        ├── scripts

        │   ├── circle_mode.py

        │   └── square_mode.py

        ├── src

        │   └── square_mode.cpp

        └── worlds

            └── myrobot.world


📂 專案目錄結構分析

1️⃣ myrobot_control(機器人控制)

  • 功能:提供鍵盤遙控機器人的功能。
  • 主要檔案
    • keyboard_teleop.launch(啟動鍵盤控制)
    • myrobot_key(鍵盤控制腳本)

2️⃣ myrobot_description(機器人描述文件)

  • 功能:定義機器人的 URDF/Xacro 模型,並在 RViz 進行視覺化。
  • 主要檔案
    • myrobot.urdf / myrobot.xacro(機器人模型)
    • myrobot_rviz.launch(RViz 啟動檔)
    • myrobot.gazebo(Gazebo 相關設定)

3️⃣ myrobot_gazebo(Gazebo 模擬)

  • 功能:在 Gazebo 模擬機器人運行環境。
  • 主要檔案
    • myrobot.world(自訂的模擬環境)
    • myrobot_gazebo_full.launch(完整啟動 Gazebo)
    • circle_mode.py / square_mode.py(控制機器人運動的腳本)

🔧 建議與優化

✅ 1. 確保腳本可執行

你的 scripts/ 目錄下的腳本 (.pymyrobot_key) 可能需要更改權限,執行:

bash
chmod +x src/myrobot_control/scripts/myrobot_key chmod +x src/myrobot_gazebo/scripts/*.py

✅ 2. 安裝相依套件

在 ROS 中,確保所有相依套件已安裝:

bash
rosdep install --from-paths src --ignore-src -r -y

✅ 3. 測試啟動文件

測試你的 Gazebo 模擬RViz 視覺化 是否正常運作:

bash
roslaunch myrobot_gazebo myrobot_world.launch roslaunch myrobot_description myrobot_rviz.launch

✅ 4. 組織啟動文件

目前 launch/ 內的 keyboard_teleop.launch 屬於 myrobot_control,建議放在 myrobot_control/launch/ 內。

✅ 5. 加入 README 文件

專案根目錄 建立 README.md,記錄:

  • 如何安裝
  • 如何啟動機器人
  • 鍵盤控制指令
  • Gazebo/RViz 測試方式

🚀 下一步

你是否需要:

  • 修改 URDF/Xacro(例如:增加感測器、調整關節)?
  • 調整機器人控制方式(例如:加入自動導航)?
  • 測試特定功能(Gazebo 內的運動腳本)?

沒有留言: