# 10.4. Tuning 微調指南

對不同的機器人，Navigation stack 有許多參數可來改變其效能。你可以在 [**ROS Wiki**](http://wiki.ros.org/navigation) 網頁了解全部的參數，或參考 ROS Robot Programming 書的 Chapter 11 章。

本調整指南提供一些提示，供您配置重要參數。如果你想改變效能則會取決於你的環境，這個提示可能會幫助你並節省你的時間。

**inflation\_**_**radius**_&#x20;

* turtlebot3\__navigation/param/costmap\_common\_param\__$(model).yaml
* 這個參數可把障礙放大到膨脹半徑的區域。路徑將會被規劃，而不會穿過膨脹區域。將其值設置為比機器人半徑大是允許的。要了解更多訊息，請參閱[**costmap\_2d wiki**](http://wiki.ros.org/costmap_2d#Inflation) 網頁。

![](https://3058168660-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LkXc5k_SFaP9gK2gsU8%2F-LkxB2a4WNdjMbeCd-Qa%2F-LkxMG4KqmgibkoeX71K%2Ftuning_inflation_radius.png?alt=media\&token=2758993d-6683-4c87-b170-544c628ca205)

_**cost\_scaling\_factor**_&#x20;

* _turtlebot3\_navigation/param/costmap\_common\_param\__$(model).yaml
* 此因子會乘以 cost value。因為它是一個相互影響的因素，所以如這個參數增加，cost 就會降低。

![](https://3058168660-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LkXc5k_SFaP9gK2gsU8%2F-LkxB2a4WNdjMbeCd-Qa%2F-LkxMhh84jcToYFz2vHZ%2Ftuning_cost_scaling_factor.png?alt=media\&token=97932a20-d1c1-4d49-8c74-99f87e0ed96a)

最好的路徑是讓機器人穿過障礙物之間的中心。 將此因子設置得較小以遠離障礙物。

_**max\_vel\_x**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 此因子被設定為平移速度的最大值。

_**min\_vel\_x**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 此因子被設定為平移速度的最小值。如果設為負值，機器人可以向後移動。

**max\_**_**trans\_vel**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 最大平移速度的實際值。機器人不能比這更快。

**min\_**_**trans\_vel**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 最小平移速度的實際值。機器人不能比這還慢。

**max\_**_**rot\_vel**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 最大旋轉速度的實際值。機器人不能比這更快。&#x20;

**min\_**_**rot\_vel**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 最小旋轉速度的實際值。機器人不能比這還慢。

**acc\_**_**lim\_x**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 平移加速度限制的實際值。

**acc**_\_**lim\_theta**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 旋轉加速度限制的實際值。

**xy\_**_**goal\_tolerance**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 機器人到達目標方位時所允許的 x，y 距離。

**yaw\_**_**goal\_tolerance**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 當機器人達到其目標方位時所允許的 yaw 偏航角度。

**sim\_**_**time**_

* _turtlebot3\_navigation/param/dwa\_local\_planner\_params\__$(model).yaml
* 此因子是以秒為單位設定前向模擬(forward simulation)。值太低，會沒有足夠時間來通過狹窄地區。值太高則不允許快速轉動。您可以在下圖中看到黃線長度的偏差。

![](https://3058168660-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LkXc5k_SFaP9gK2gsU8%2F-LkxB2a4WNdjMbeCd-Qa%2F-LkxPO7OE9DndRBaBhoW%2Ftuning_sim_time.png?alt=media\&token=9e44a0f5-14c7-489c-9d9b-067252fd8960)

參考資源&#x20;

* [**Basic Navigation Tuning Guide (ROS Wiki)** ](http://wiki.ros.org/navigation/Tutorials/Navigation%20Tuning%20Guide)
* [**ROS Navigation Tuning Guide by Kaiyu Zheng**](http://kaiyuzheng.me/documents/navguide.pdf)
