如果你將 STL 迷宮(例如 ros_maze_house.stl
)載入 Gazebo 後發現尺寸過大,
可以透過以下幾種方式調整:
✅ 方法一:修改 model.sdf
中的 <scale>
參數
這是最常見也是推薦的做法:
🔍 說明:
-
<scale>x y z</scale>
會將 STL 模型在 Gazebo 中縮放為原本的幾倍 -
STL 本身單位常是 mm,而 Gazebo 預設是 meter
-
所以如果你的 STL 是以「毫米」建立,應縮放為
0.001 0.001 0.001
-
✅ 方法二:直接重新縮放 STL 模型(在 Blender / FreeCAD)
若你偏好調整原始 STL 模型尺寸:
-
開啟 STL 模型(如在 Blender)
-
進入編輯模式,縮放為 1:10 或更小
-
匯出時確保單位為「meter」或按實際比例轉換
-
重新匯出
.stl
檔案並替換原本模型
✅ 方法三:Gazebo GUI 手動縮放(不建議)
雖然 Gazebo GUI 可以手動縮放模型,但不會保存在 .world
或 .sdf
裡,無法版本控制與重現,因此不推薦。
✅ 建議數值參考
STL 模型單位 | 建議縮放比 | scale 值 |
---|---|---|
毫米(mm) | 轉換為米(1/1000) | 0.001 0.001 0.001 |
公分(cm) | 轉換為米(1/100) | 0.01 0.01 0.01 |
已為米(m) | 無需縮放 | 1.0 1.0 1.0 |
✅ 修改範例(完整 model.sdf
)
✅ 縮放後要注意:
-
collision
和visual
的 scale 必須一致 -
若你的機器人在地面下或浮空,可能是 STL 原點不在底部中心(可在 Blender 修正)
-
若模型未正確套用縮放,請
清除 Gazebo 模型快取
再重新啟動:
Scale size for STL model
沒有留言:
張貼留言