若您已讀完本篇想要了解更多本次 Duckietown 系列的操作,請參考 :
- Duckietown – Duckiebot DB21M 小鴨車專案 Jetson-Nano 版平台組裝與操作環境設定介紹
- Duckietown 專案 – Duckiebot DB21M 基礎操作(二) – differential drive configuration的使用
一、前言
在上一篇文章「Duckietown – Duckiebot DB21M 小鴨車專案 Jetson-Nano 版平台組裝與操作環境設定介紹」中,我們成功地將小鴨車的映像檔設定完成,讓小鴨車能夠連接上自行設定的WIFI router;也將操作主機的操作環境設定完成,並能夠執行 duckietown-shell 的指令。接下來,本篇文章就請大家和我們一起開始進入 Duckiebot 的基本操作!
二、操作前的準備
請注意,接下來的操作都在操作主機上執行,而不是在 duckiebot上執行。
在操作前,我們需要確保已達成下列事項:
.擁有 Duckietown token
.操作主機能夠與 Duckiebot 進行遠端通訊
.duckietown-shell 可以正常執行
2-1 Duckietown 與 Docker 帳戶申請
Duckietown token 只需要擁有 Duckietown 的帳戶即可取得,Duckietowm帳戶可以至Duckietown官網註冊。
Docker 的帳戶可到 Docker 的官網申請。
2-2 操作主機與Duckiebot 的遠端通訊
為了確保操作主機能夠確實地透過 Wifi 與 Duckiebot 進行遠端通訊連線。因此,我們將操作主機的網路連線,連線至與 Duckiebot 相同的 WIFI router 後,便可以使用 $ ping hostname.local 指令測試連線。請注意,上述指令中的 hostname 是小鴨車的實體機器名稱,請不要照實打出 hostname.local,並且小鴨車需要處於啟動狀態。
此處的hostname 即上一篇文章「Duckietown – Duckiebot DB21M 小鴨車專案 Jetson-Nano 版平台組裝與操作環境設定介紹」中「初始化 Duckiebot 的Micro-SD 卡」所輸入的 hostname。
2-3 正常執行duckietown-shell
測試 duckietown-shell 能否正常執行非常簡單,在Terminal 中輸入指令 $ dts 後,若無發生任何紅字錯誤訊息,表示 duckietown-shell 可正常執行。若想退出duckietown-shell,可按下【ctrl】+【c】按鍵退出。
三、Duckiebot的基礎操作
在本次的基礎操作中,我們將實現下列的功能 :
1. 搜尋 Duckiebot
2. 使用 Dashboard 查看 Duckiebot 的相關資訊
3. 使用鍵盤遙控 Duckiebot!
若操作前的準備已確實完成後,我們便可以開始操作 Duckiebot囉!
3-1 搜尋 Duckiebot
在開始使用 Duckiebot 之前,我們需要先找到在同一個區域網路中,有多少台可以使用的 Duckiebot。
可以輸入指令 $ dts fleet discover 來找尋。
在搜尋到的 Duckiebot中,請確認「Status」與「Dashboard」的狀態皆處於可以運行的狀態(綠底)。
3-2 使用 Dashboard 查看 Duckiebot
在上一步驟中,我們查找了可以使用的 Duckiebot後,接著我們可以直接使用 Dashboard來監控Duckiebot的狀態。
請直接開啟網頁瀏覽器,輸入網址: http://hostname.local,其中 hostname 是 Duckiebot 的機器名稱,請不要直接輸入 「hostname」。在初次登入後,會有初始值的設定,請依照指示一步一步設定。圖六為初始值設定完成後,選擇左邊選項的【ROBOT】介面。
在【ROBOT】選項中,可以選擇想監控的資訊: 「Info」、「Mission Control」、「Health」、「Architecture」、與「Settings」。
在「Mission Control」的監控資訊中,我們可以監控Duckiebot 的攝影鏡頭畫面。
在左邊的 【LOGIN】選項中,可以使用先前取得的Duckietown token 登入,以便與 Duckietown 團隊所進行的活動進行互動,例如AI-DO競賽。
3-3 使用鍵盤遙控 Duckiebot
接著是最讓人興奮的時候了 – 遙控 Duckiebot !
我們可以使用鍵盤上的方向鍵,來遙控 Duckiebot,請輸入指令 $ dts duckiebot keyboard_control hostname。請注意,hostname 指的是 Duckiebot的實體機器名稱,請不要直接輸入 hostname,本範例是使用「edu」。
若能夠成功執行,會出現一個方向鍵的視窗,請在此視窗中按下方向鍵,即可遠端遙控 Duckiebot相對應的移動方向。
若要取消執行中的遙控程式,請在 Terminal 視窗中按下【ctrl】+【c】即可。
本次的 Duckiebot 基礎操作便到這邊結束囉!下一篇文章我們將會持續介紹 Duckiebot 更多的基礎操作喔!請各位多多關注與分享我們的文章喔!