> For the complete documentation index, see [llms.txt](https://idminer.gitbook.io/robotis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://idminer.gitbook.io/robotis/part-1-turtlebot3/13.-autonomous-driving-zi-dong-jia-shi/13.2.-tb3-autorace-tiao-zhan-sai-jiao-cheng/13.2.5.-jiao-cheng-5-jie-ge-bie-ren-wu/13.2.5.1.-jiao-cheng-5.1-che-dao-jian-ce-lane-detection.md).

# 13.2.5.1. 教程 5.1：車道檢測 Lane Detection

1\. 將 TB3 機器人放在車道上。如果正確放置，黃線應在機器人的左側，白線應在機器人的右側。 需確認 turtlebot3\_bringup 套件的 turtlebot3\_robot 節點尚未啟動。如果它已經啟動，機器人將會突然的在軌道上運行。

2\. **\[Remote PC 端]** 開新的 terminal 視窗，輸入

```
 $ export AUTO_DT_CALIB=calibration
 $ roslaunch turtlebot3_autorace_detect turtlebot3_autorace_detect_lane.launch
```

3\. **\[Remote PC 端]** 開新的 terminal 視窗，輸入

```
$ rqt
```

點擊在視窗上方的 plugins -> visualization -> Image view，會產生一個新的攝影機視角圖視窗。用相同方式在 rqt 平板產生額外 3 個新視窗。然後在這 3 個新視窗，分別選擇 /detect/image\_yellow\_lane\_marker/compressed ， /detect/image\_lane/compressed 和 /detect/image\_white\_lane\_marker/compressed 的 topics。如果一切正常，左側和右側螢幕將顯示黃線和白線的過濾影像，中央螢幕將顯示機器人應該走的車道。在校準模式下，左右螢幕會顯示白色，並且中央螢幕可能會顯示異常結果。此時，您應該調整過濾器參數，以顯示正確的車道線和方向。

4\. **\[Remote PC 端]** 開新的 terminal 視窗，輸入

```
$ rosrun rqt_reconfigure rqt_reconfigure
```

然後調整 /camera/image\_projection 和 /camera/image\_compensation\_projection中，可對影像進行視覺修改的參數值。參數 image\_projection 會改變 /camera/image\_extrinsic\_calib/compressed 影像的紅色矩形的形狀。內部攝影機校準將轉換被紅色矩形所包圍的影像，並會顯示從車道上方看到的影像。之後，將每個值覆寫到 turtlebot3\_autorace\_detect/param/lane/ 中的 lane.yaml 檔。這會使攝影機在下次啟動時，就會使用你所設置的參數。

{% hint style="info" %}
Tip：由於你的實際環境(包括房間內的光線亮度等)，車道線顏色過濾的校準過程有時會非常困難。因此，你應該有耐心地執行此過程。要快速完成所有操作，請將 turtlebot3\_autorace\_detect/param/lane/lane.yaml 的值放在 reconfiguration 參數上，然後開始校準。首先校準 hue(色調) low – high 值。(1) Hue(色調)值表示顏色，每種顏色(如黃色，白色)都有自己的色調值區域(請參閱 hsv 圖)。然後校準 saturation(飽和度) low – high值。(2) 每種顏色也有其自己的飽和範圍。最後，校準 lightness(亮度)的 low – high 值。(3)然而在原始碼中，因具有自動調整功能，因此校準lightness(亮度)的 low 值是沒有意義的。只需將 lightness(亮度)的 high 值設置為 255。明確已過濾後的車道線影像，會給你提供清晰的車道結果。
{% endhint %}

5\. **\[Remote PC 端]** 在覆寫了校準檔案後，可結束 rqt\_rconfigure 及 turtlebot3\_autorace\_detect\_lane，然後輸入

```
 $ export AUTO_DT_CALIB=action
 $ roslaunch turtlebot3_autorace_detect turtlebot3_autorace_detect_lane.launch
```

6\. 如要檢查是否輸出的結果正確，請在\[Remote PC 端]及\[TB3 SBC 端]分別各自輸入：

&#x20;**\[Remote PC 端]**&#x20;

```
 $ roslaunch turtlebot3_autorace_control turtlebot3_autorace_control_lane.launch
```

**\[TB3 SBC 端]**&#x20;

```
 $ roslaunch turtlebot3_bringup turtlebot3_robot.launch
```

在輸入這些指令後，TB3 機器人將啟動運行。
