跳轉到內容

Cyberbotics機器人課程/入門

來自Wikibooks,開放世界中的開放書籍

本章的第一部分(實踐部分說明)解釋瞭如何使用本文件。它介紹了實踐部分的形式化,即術語、使用的圖示等。

以下部分將幫助您配置環境。為了儘可能地利用本文件,您需要Webots、一個e-puck以及它們之間的藍牙連線。但是,如果您沒有e-puck,您仍然可以練習很多練習。在開始練習之前,您需要設定這些系統。因此,請參考以下部分

如果您想進一步瞭解Webots,您可以參考線上使用者指南 使用者指南參考手冊

實踐部分說明

[編輯 | 編輯原始碼]

在實踐部分中,您會發現不同的符號。它們具有以下含義

 : 當出現此符號時,歡迎您回答問題。這些問題與當前練習或更一般的主題相關。它們由一個具有以下形式的數字引用:“[Q.+問題編號+]”。例如,練習的第三個問題將具有[Q.3]編號。

 : 當出現此符號時,將邀請您進行練習。例如,您將必須對您的機器人進行程式設計以獲得特定的行為。它們由一個具有以下形式的數字引用:“[P.+問題編號+]”。

 : 當出現此符號時,僅邀請使用Linux作業系統的使用者閱讀以下內容。請注意,本課程是使用Ubuntu Linux編寫的。

 : 同上適用於Windows作業系統。請注意,本課程也使用Windows XP編寫。

 : 同上適用於Mac OS X作業系統。

本文件的每個部分對應一個練習。每個練習標題以方括號中的級別結尾(例如: [新手])。當練習標題、問題編號或實踐部分編號由星號包圍(例如:*[Q.5]*),則表示此部分是可選的,即此部分對於問題的整體理解不是必要的,但建議用於積累您的知識。它們也可以後跟[挑戰]標籤。此標籤表示此部分比其他部分更難,並且是可選的。

獲取Webots並安裝

[編輯 | 編輯原始碼]

獲取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-pinbluez-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”。

服務選擇

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

配置COM埠

最後,在“我的藍牙位置”視窗(也在圖中顯示)中,右鍵單擊“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。

上傳程式到e-puck的工具位置
當此窗口出現時,必須透過按下其頂部的藍色按鈕來重置e-puck


註釋

華夏公益教科書