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/
目錄下的腳本 (.py
和 myrobot_key
) 可能需要更改權限,執行:
bashchmod +x src/myrobot_control/scripts/myrobot_key
chmod +x src/myrobot_gazebo/scripts/*.py
✅ 2. 安裝相依套件
在 ROS 中,確保所有相依套件已安裝:
bashrosdep install --from-paths src --ignore-src -r -y
✅ 3. 測試啟動文件
測試你的 Gazebo 模擬 和 RViz 視覺化 是否正常運作:
bashroslaunch 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 內的運動腳本)?
沒有留言:
張貼留言