快速入門(Quickstart)
前言大綱
本指南將幫助您設置編程環境,以使用 Spot Python SDK 成功下指令和控制波士頓動力公司的 Spot 機器人。本指南默認為 Linux 設置。
- 系統設置(System Setup)
- 系統要求(System Requirements)
- Python要求(Python Requirements)
- 套件安裝器(Pip Installation)
- 使用 virtualenv 管理多個 Python 環境(Manage Multiple Python Environments with virtualenv)
- 安裝套件(Install Spot Python Packages)
- 驗證套件安裝(Verify your Spot packages installation)
- 驗證你的命令與瀏覽機器人(Verify you can command and query Spot)
- 取得Spot機器人(Get a Spot Robot)
- 取得在Spot上的帳號(Get a user account on the robot)
- Ping Spot
- 請求Spot ID(Request Spot’s ID from Spot)
- 從github取得完整的SDK(Get a copy of the full SDK distribution from github)
- 執行Hello Spot並看到機器人移動(Run Hello Spot - let’s see the robot move!)
- 執行急停(Run an Independent E-Stop)
- 執行Hello Spot系列2 (Run Hello Spot - Take 2)
- 後續步驟 (Next Steps)
系統設置(System Setup)
系統要求(System Requirements)
- Linux Ubuntu 18.04 LTS
- Windows 10
- MacOS 10.14 (Mojave)
- 由於具有圖形的示例太多,因此不鼓勵使用 Windows WSL。
Python要求(Python Requirements)
可以在 https://www.python.org/ 找到有關安裝 Python 的下載和說明。
Python 3.6.8
Windows 用戶:在命令行上啟動 Python 解釋器有兩種常用方法。首先,啟動終端:開始 > 命令提示符。在命令提示符下,輸入:
或是
> py.exe
前者會直接調用PATH環境變量中優先級最高的python.exe。(請注意,您還可以提供完整路徑名 c:\path\to\install\python.exe 以直接調用可執行文件)。
- py.exe -2 (launches Python 2)
- py.exe -3 (launches Python 3)
- py.exe -3.6 (launches Python 3.6)
套件安裝器(Pip Installation)
Pip 是 Python 的軟件包安裝程序。 Spot SDK 及其許多編程示例使用的第三方軟件包均使用 pip 進行安裝。
通過請求其版本來檢查 pip 是否已安裝:
pip 19.2.1 from <PATH_ON_YOUR_COMPUTER>
Windows 用戶 :
> py.exe -3 -m pip --version
如果找不到 pip,則需要安裝它。有幾個選項:
- pip 預裝了從 python.org 下載的所有 Python 3 版本 >= 3.4
- 使用 get-pip.py 安裝腳本。
- 使用特定於操作系統的套件管理器(例如 Ubuntu 上的 python3-pip 套件)
- 權限被拒絕(Permission Denied):如果您不使用 virtualenv(如下所述),當您使用 pip 安裝軟件包時,您可能會收到 Permission Denied 錯誤,如果是這樣,請將 --user 選項添加到您的 pip 命令中。
使用 virtualenv 管理多個 Python 環境(Manage Multiple Python Environments with virtualenv)
擁有多個 python 版本、anaconda 等的用戶,負責分別維護這些之間的安裝。常見的失敗,包括使用錯誤版本的python,將python包安裝到錯誤的python,或使用與錯誤python相關的pip。提高 Spot 代碼和預先存在的 Python 代碼穩定性的一種方法是使用虛擬環境將它們分開。這裡有一些使用 virtualenv 的技巧。
創建一個 virtualenv,小心指向正確的 python 可執行文件。
激活虛擬環境 virtualenv。
$ python3 -m virtualenv my_spot_v2_0_env
$ source my_spot_v2_0_env/bin/activate
$ (install packages including Spot SDK, code, edit, execute, etc.)
Running virtualenv with interpreter /usr/bin/python2 ...
> py.exe -3 -m virtualenv my_spot_v2_0_env
> .\my_spot_v2_0_env\Scripts\activate.bat
> (install packages including Spot SDK, code, edit, execute, etc.)
安裝套件(Install Spot Python Packages)
安裝 bosdyn-client、bosdyn-choreography-client 和 bosdyn-mission 套件,也將安裝具有相同版本的 bosdyn-api 和 bosdyn-core 套件。上面的命令安裝最新版本的套件。要從 PyPI 安裝不同版本的套件,例如 2.2.0,請使用以下命令。
版本不兼容:
$ python3 -m pip install bosdyn-client bosdyn-mission
驗證您的 Spot 套件安裝
bosdyn-api 2.3.5
bosdyn-choreography-client 2.3.5
bosdyn-choreography-protos 2.3.5
bosdyn-client 2.3.5
bosdyn-core 2.3.5
bosdyn-mission 2.3.5
如果您在目標版本中沒有看到 4 個 bosdyn 套件,則說明安裝過程中出現問題。聯繫 support@bostondynamics.com 尋求幫助。
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import bosdyn.client
>>> help(bosdyn.client)
Help on package bosdyn.client in bosdyn:
NAME
bosdyn.client
DESCRIPTION
The client library package.
Sets up some convenience imports for commonly used classes.
PACKAGE CONTENTS
__main__
...
Traceback (most recent call last):
File "
ModuleNotFoundError: No module named 'bosdyn.client'
如果是這種情況,請再次運行 python -m pip list 以確保安裝了波士頓動力 Python 套件。
驗證你的命令與瀏覽機器人(Verify you can command and query Spot)
- 與您的套件版本相同的 Spot 機器人
- 機器人上的用戶帳戶
取得Spot機器人(Get a Spot Robot)
取得在Spot上的帳號(Get a user account on the robot)
以下示例將假設用戶名“user”和密碼“password”。
Ping Spot
Ping spot at 192.168.80.3
$ ping 192.168.80.3
請求Spot ID(Request Spot’s ID from Spot)
發出以下命令以獲取您的 Spot 機器人的 ID:
beta-BD-90490007 02-19904-9903 beta29 spot (V3)
Software: 2.3.4 (b11205d698e 2020-12-11 11:53:12)
Installed: 2020-12-11 15:06:57
如果這,成功!SUCCESS! 您現在已成功通過 Python 與 Spot 通信!請注意,返回的輸出會顯示您的 Spot 機器人的唯一序列號、暱稱和機器人類型(Boston Dynamics 有多個機器人)、軟件版本和安裝日期。
Could not contact robot with hostname "192.168.80.3"
機器人未啟動或無法訪問。返回並嘗試使用 ping。您還可以嘗試使用 -v 或 --verbose 來獲取更多信息來調試問題。
從github取得完整的SDK(Get a copy of the full SDK distribution from github)
Spot Python SDK 發行版可從 https://github.com/boston-dynamics/spot-sdk 獲得。
- git clone https://github.com/boston-dynamics/spot-sdk.git(推薦)
- 從網頁中選擇綠色框“克隆或下載Clone or download”。
- 選擇“下載 ZIP”。
- 將文件解壓縮到您的主目錄。
- 將最上級目錄 spot-sdk-master 重命名為 spot-sdk。 (僅用於與本文檔保持一致,也不是必需的)
執行Hello Spot並看到機器人移動(Run Hello Spot - let’s see the robot move!)
將您的工作目錄更改為發行版中的 hello_spot 範例。使用 requirements.txt 作為參數執行 pip install,以便安裝任何有相依性的套件。然後運行hello_spot:
$ python3 -m pip install -r requirements.txt # will install dependent packages
$ python3 hello_spot.py --username user --password password 192.168.80.3
Hello_spot 將失敗,因為沒有 E-Stop 端點。
如果您看到以下錯誤:
您的用戶名或密碼不正確。檢查您的拼寫並與您的機器人管理員核實您的憑據。
執行急停(Run an Independent E-Stop)
$ python3 -m pip install -r requirements.txt # 將安裝相依性的套件
$ python3 estop_nogui.py --username user --password password 192.168.80.3
現在嘗試運行 estop_gui 版本:
您現在應該在屏幕上顯示一個大的紅色 STOP 按鈕。你現在準備好了! (或在緊急情況下停下來!!)
執行Hello Spot系列2 (Run Hello Spot - Take 2)
好的,現在我們有一個急停。讓它繼續運行,打開第二個 python 窗口,再次運行 hello_spot:
$ python3 hello_spot.py --username user --password password 192.168.80.3
你的 Spot 機器人應該已經啟動了它的電機,站起來,擺了幾個姿勢,拍了一張照片,然後坐下。如果沒有,請務必檢查 Spot 背面的電機電源啟用按鈕是否已正確打開。
但是,如果您還想成為一名成熟的 Spot 程序員,則需要更多地了解 Spot 的工作原理。以下是我們建議的後續步驟:
後續步驟 (Next Steps)
閱讀我們的下一節,強烈推薦 Spot Programming !
嘗試對代碼進行簡單的修改。
注意:如果您使用 zipfile 安裝 SDK,請注意了解您所做的更改,因為用戶有時會無意中將錯誤注入 SDK 代碼。 Git 用戶可以簡單地使用 git diff 來了解他們所做的所有更改。
嘗試 wasd 編程範例 wasd programming example。 這是一個構建在 Python API 之上的更詳細的示例,它允許您使用開發機器上的鍵盤以交互方式控制 Spot。 它涵蓋了比本 快速入門quick start 更詳細的發出命令。 這很有趣!
通讀 協議緩衝區定義 protocol buffer definitions 和 Spot Python SDK 源代碼文檔source code documentation 以了解更多信息。
留言
張貼留言
Aron阿龍,謝謝您的留言互動!