使用 Xbox 控制器控制機器人

前言大綱

Xbox 控制器示例允許用戶通過 Xbox 控制器控制 Spot 機器人。該範例使用 Xbox 360 有線控制器進行了測試。按鈕映射為:

按鈕組合 功能
A 步行
B 站立
X
Y 樓梯
LB + : D-pad up/down 行走高度
LB + : D-pad left 換電池姿勢
LB + : D-pad right 自行站起來
LB + : Y 慢跑
LB + : A 緩行
LB + : B 爬行
LB + : X
站立模式下左搖桿 + : X 沿滾動軸roll axis旋轉身體
站立模式下左搖桿 + : Y 控制高度
站立模式下右搖桿 + : X 在偏航軸yaw axis上轉動身體
站立模式下右搖桿 + : Y 沿俯仰軸pitch axis轉動身體
左搖桿 移動
右搖桿 轉動
LB + RB + B 急停E-Stop
Start 電機電力和控制
Back 退出Exit

用戶指南

安裝

為獲得最佳學習體驗,請使用 SDK 的 docs/python 目錄中的 快速入門指南 Quickstart Guide。這將幫助您正確設置 Python 編程環境。

操作系統特定的相依性

  • 此範例具有與 XBox 控制器通信的外部相依性,這是特定於操作系統的相依性。
  • Ubuntu:在 Ubuntu 18.04 上,示例使用 xboxdrv 驅動程序與控制器通信,因此請通過執行以下命令安裝驅動程序:
    • sudo apt-get install xboxdrv
  • Windows:在 Windows 上,該範例使用 XInput-Python 套件,該包通過下面的 pip 命令自動安裝。 XInput 套件正式支持 Xbox360 控制器,但較新的控制器也適用於 Windows 上的此範例。
  • MacOS:MacOS 不支持此範例。

安裝說明

  • 要在 Ubuntu 18.04 和 Windows 上安裝此範例,請按照以下說明操作:
  • 按照本 快速入門指南 virtualenv 部分中的描述創建虛擬環境
  • 安裝依賴:python3 -m pip install -r requirements.txt
  • 使用下一節中的說明運行範例
  • 要退出虛擬環境,請運行deactivate

執行

此範例遵循預期參數的常見模式。它需要用於配置 SDK 和連接到 Spot 的常用參數:

  • –username
  • –password
  • 主機名作為最後一個參數傳遞
    • 1) 該範例需要作為 sudo 運行。要在虛擬環境中以 sudo 身份運行 python 程序,您需要在 virtualenv 文件夾中指定 python 可執行文件:
      • sudo venv/bin/python xbox_controller.py --user USER --password PASSWORD ROBOT_IP
    • 2)連接控制器後,範例打印狀態窗口:
      • E-Stop Control Motors On Mode
    • 3) 接下來,按下組合鍵 Left Button + Right Button + B 打開 E-Stop:
      • E-Stop Control Motors On Mode
      • X
    • 4) 接下來,按“指南Guide”按鈕以獲取此 Spot 的租約:
      • E-Stop Control Motors On Mode
      • X       X
    • 5)接下來,按下 "啟動Start" 按鈕打開電機:
      • E-Stop Control Motors On Mode
      • X       X       X
    • 6) 現在可以控制 Spot。
    • 7) 任何時候要急停點,按下急停按鈕組合(LB + RB + B)
    • 8) 要退出並關閉 Spot,請按返回按鈕 Back


參考資料

特色、摘要,Feature、Summary:

關鍵字、標籤,Keyword、Tag:

留言

這個網誌中的熱門文章

Ubuntu 常用指令、分類與簡介

iptables的觀念與使用

網路設定必要參數IP、netmask(遮罩)、Gateway(閘道)、DNS

了解、分析登錄檔 - log

Python 與SQLite 資料庫

Blogger文章排版範本

Pandas 模組

如何撰寫Shell Script

查詢指令或設定 -Linux 線上手冊 - man

下載網頁使用 requests 模組