Cyberbotics機器人課程/入門
本章的第一部分(實踐部分說明)解釋瞭如何使用本文件。它介紹了實踐部分的形式化,即術語、使用的圖示等。
以下部分將幫助您配置環境。為了儘可能地利用本文件,您需要Webots、一個e-puck以及它們之間的藍牙連線。但是,如果您沒有e-puck,您仍然可以練習很多練習。在開始練習之前,您需要設定這些系統。因此,請參考以下部分
- e-puck頁面 在 使用者指南 中提供了關於e-puck在Webots中使用的許多補充資訊。
- 部分 獲取Webots並安裝 描述瞭如何在您的電腦上安裝Webots。
- 部分 藍牙安裝和配置 描述瞭如何在您的電腦和e-puck之間建立藍牙連線。
- 部分 開啟Webots 描述瞭如何啟動Webots。
- 部分 E-puck先決條件 描述瞭如何更新e-puck的韌體。
- 教程章節 在 使用者指南 中描述瞭如何使用Webots建模您自己的世界。
如果您想進一步瞭解Webots,您可以參考線上使用者指南 使用者指南 或 參考手冊。
在實踐部分中,您會發現不同的符號。它們具有以下含義
: 當出現此符號時,歡迎您回答問題。這些問題與當前練習或更一般的主題相關。它們由一個具有以下形式的數字引用:“[Q.+問題編號+]”。例如,練習的第三個問題將具有[Q.3]編號。
: 當出現此符號時,將邀請您進行練習。例如,您將必須對您的機器人進行程式設計以獲得特定的行為。它們由一個具有以下形式的數字引用:“[P.+問題編號+]”。
: 當出現此符號時,僅邀請使用Linux作業系統的使用者閱讀以下內容。請注意,本課程是使用Ubuntu Linux編寫的。
: 同上適用於Windows作業系統。請注意,本課程也使用Windows XP編寫。
本文件的每個部分對應一個練習。每個練習標題以方括號中的級別結尾(例如: [新手])。當練習標題、問題編號或實踐部分編號由星號包圍(例如:*[Q.5]*),則表示此部分是可選的,即此部分對於問題的整體理解不是必要的,但建議用於積累您的知識。它們也可以後跟[挑戰]標籤。此標籤表示此部分比其他部分更難,並且是可選的。
獲取Webots最簡單的方法是訪問以下網站
https://www.cyberbotics.com/doc/guide/installing-webots
在那裡,您將找到關於Webots及其安裝的所有資訊。
如果您的Webots版本為6.1.3或更高版本,則課程包含在Webots安裝中。您可以在此目錄中找到它
(WEBOTS_HOME)/projects/samples/curriculum
首先,您的電腦需要一個藍牙裝置才能與您的e-puck通訊。這種裝置通常整合在現代筆記型電腦中。此裝置的安裝不在本文件的範圍內。但是,需要正確安裝它。因此,請參閱其安裝手冊或製造商的網站。本文件僅解釋了您的電腦和e-puck之間藍牙連線的配置。此連線模擬序列連線。請參閱您的相應作業系統
首先,您的Linux作業系統需要一個較新的核心。此外,必須安裝以下軟體包bluez-firmware, bluez-pin和bluez-utils[1]
命令lsusb(或lspci根據您的藍牙硬體)和hciconfig通知安裝是否成功。
開啟您的e-puck(使用ON-OFF開關)並執行以下命令
> hcitool scan Scanning ... 00:13:11:52:DE:A8 PowerBook G4 12" 08:00:17:2C:E0:88 e-puck_0202
最後一行對應您的e-puck。它顯示了它的MAC地址(08:00:17:2C:E0:88)和它的名稱(e-puck_0202)。e-puck的編號(0202)應與其貼紙上的編號一致。
編輯/etc/bluetooth/hcid.conf並將安全引數從“auto”更改為“user”。
編輯/etc/bluetooth/rfcomm.conf配置檔案並新增以下條目(或修改現有的rfcomm0條目)
rfcomm0 {
bind yes;
device 08:00:17:2C:E0:88;
channel 1;
comment "e-puck_0202";
}
rfcomm0是連線的名稱。如果使用了多個e-puck,則按條目輸入(rfcomm0, rfcomm1等),與機器人的數量一致。device標籤必須對應e-puck的MAC地址,comment標籤必須對應e-puck的名稱。rfcomm0是此連線的名稱。
執行以下命令
> /etc/init.d/bluez-utils restart > rfcomm bind rfcomm0
嘗試建立連線時,將要求您輸入PIN(個人識別碼)(由bluez-pin)。此PIN是一個4位數字,對應於e-puck的名稱(或ID),即,如果您的e-puck名為“e-puck_0202”,則PIN為0202。
您的連線將在Webots中命名為“rfcomm0”。
此部分[2] 是使用Windows XP編寫的。其他版本的Windows可能存在一些差異。
安裝藍牙裝置後,您的桌面上會出現一個名為“我的藍牙位置”的圖示。如果沒有,請右鍵單擊系統托盤中的藍牙圖示,然後選擇“開始使用藍牙”。雙擊“我的藍牙位置”圖示。如果您第一次使用“我的藍牙位置”,此操作將開啟一個嚮導。按照此嚮導的說明操作,直到到達嚮導第一個圖中顯示的視窗。如果您已經使用過“我的藍牙位置”,請單擊“藍牙設定嚮導”項。此操作將開啟此視窗。

在此第一個視窗中,選擇第二個專案:“我想查詢特定的藍牙裝置並配置這臺計算機如何使用其服務。”。使用ON/OFF開關開啟您的e-puck。e-puck上的綠色LED燈應亮起。單擊“下一步”按鈕。
第二個視窗將搜尋所有可見的藍牙裝置。一段時間後,必須出現一個代表您的e-puck的圖示。選擇它並單擊“下一步”按鈕。

此操作將開啟安全視窗。在這裡,您必須選擇四個數字來確保連線安全。選擇與您的e-puck相同的數字(如果您的e-puck名為“e-puck_0202”,則選擇0202作為PIN)並單擊“開始配對”按鈕。

開啟的視窗(也在圖中)使您能夠選擇要使用的服務。選擇COM1(新增勾選)。如果沒有服務,可能是因為電池電量過低。此操作將開啟一個新視窗(請參見下圖)。在這裡,您可以選擇用於通訊的埠。例如,選擇“COM6”。

最後,單擊“完成”按鈕。

最後,在“我的藍牙位置”視窗(也在圖中顯示)中,右鍵單擊“e-puck_0202 COM1”圖示並選擇“連線”項。

您的連線將在Webots中命名為“COM6”。
如果您已正確安裝藍牙裝置,則系統偏好設定中應該會出現一個藍牙圖示。單擊此圖示,然後單擊“已配對裝置”選項卡。開啟您的e-puck。e-puck上的綠色LED燈應亮起。然後,單擊“新建...”按鈕。它應該開啟一個新視窗,掃描可見的藍牙裝置。一段時間後,您的e-puck名稱應該出現在此列表中。在列表中選擇e-puck,然後單擊“配對”按鈕。系統會要求輸入金鑰。它是e-puck上編碼的4位數字。例如,如果您的e-puck在貼紙上標有數字43,則金鑰為0043。輸入金鑰,然後單擊“確定”按鈕。
配對完成後,您需要指定一個序列埠以便與Webots通訊。因此,單擊“序列埠”選項卡。透過“新建...”按鈕,建立一個名為COM1的輸出埠。最後,退出藍牙視窗。
您的連線將在Webots中命名為“COM1”。
開啟Webots
本節說明如何啟動Webots。當然,這取決於您的環境。因此,請參閱您相應的作業系統
開啟終端並執行以下命令
> webots &
您應該會看到模擬窗口出現在螢幕上。
從“開始”選單中,轉到Program Files | Cyberbotics選單,然後單擊Webots(+版本)選單項。您應該會看到模擬窗口出現在螢幕上。
開啟解壓縮Webots軟體包的目錄,然後雙擊webots圖示。您應該會看到模擬窗口出現在螢幕上。
E-puck先決條件
E-puck有一個嵌入其硬體中的計算機程式(稱為韌體)。此程式定義了機器人啟動時的行為。
使用Webots和e-puck有三種可能的方式
- 模擬:透過使用Webots庫,您可以編寫程式,編譯它並在虛擬3D環境中執行它。
- 遠端控制會話:您可以編寫相同的程式,像以前一樣編譯它,並透過藍牙連線在真實的e-puck上執行它。
- 交叉編譯:您可以編寫相同的程式,為e-puck處理器交叉編譯它,並將其上傳到真實的機器人上。在這種情況下,以前的韌體將被您的程式替換。在這種情況下,您的程式不依賴於Webots,並且可以在e-puck重啟後繼續執行。
在遠端控制會話的情況下,您的機器人需要特定的韌體才能與Webots通訊。
要將最新的韌體(或其他程式)上傳到真實的e-puck上,請選擇選單工具 | 上傳到e-puck機器人...如圖所示。然後,一個訊息框要求您選擇要使用的藍牙連線。選擇與e-puck連結的連線,然後單擊“確定”按鈕。e-puck上的橙色LED將亮起。然後,一個新的訊息框要求您選擇要上傳的檔案。選擇以下檔案,然後單擊“確定”按鈕
...webots_root/transfer/e-puck/firmware/firmware-X.Y.Z.hex
其中X.Y.Z是韌體的版本號。然後,如果韌體(或舊版本)尚未安裝在e-puck上,則在顯示圖中所示的視窗時,必須重置e-puck。

