LeRobot 文件

OpenArm

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

OpenArm

OpenArm 是一款開源的 7 自由度(7DOF)人形手臂,專為實體 AI 研究與部署而設計。

若要獲取您的 OpenArm(組裝成品或 DIY 套件)並加入全球社群,請前往 openarm.dev 瀏覽全球經過驗證與認證的製造商。

有何特色?

  • 人類比例設計:OpenArm 採用類似人類的比例設計,適合身高約 160-165 公分的體型。這在實用觸及範圍與可控慣性之間取得了最佳平衡,確保操作既安全又靈敏。

  • 安全優先架構:OpenArm 內建 QDD 反驅動馬達與高順應性結構,在維持實際載重能力(峰值 6.0 公斤 / 標稱 4.1 公斤)以應對真實任務的同時,優先考量人類與機器人的互動安全。

  • 耐用設計:關鍵結構零件採用鋁材與不鏽鋼製造,確保在重複性資料收集與連續研究使用中具備強健的效能。

  • 完全開放且可自製:從 CNC 加工零件、3D 列印外殼到電路配線,所有組件皆設計為可供個別研究人員與實驗室採購與組裝,並提供完整的製造資料。

  • 實用且實惠:整套雙臂系統價格為 6,500 美元,以傳統人形機器人成本的一小部分,提供研究級的效能。

平台要求

**僅限 Linux**:OpenArm 目前僅支援 Linux。CAN 匯流排 USB 轉接器沒有 macOS 驅動程式,且尚未在 Windows 上經過測試。

安全指南

在操作 OpenArm 之前,請閱讀官方安全指南。重點摘要:

  • 穩固安裝:請使用螺絲或夾具將手臂固定於平坦、穩定的表面上。
  • 安全距離:操作時請確保身體部位與物體遠離手臂的運動範圍。
  • 防護裝備:務必配戴安全護目鏡;必要時使用額外的個人防護裝備 (PPE)。
  • 載重限制:請勿超過規定的載重限制(每支手臂峰值 6.0 公斤 / 標稱 4.1 公斤)。
  • 緊急停止:請熟悉緊急停止裝置的位置與操作方式。
  • 定期檢查:檢查是否有螺絲鬆動、機械限位損壞、異常噪音或配線破損。

硬體設置

請遵循官方的 OpenArm 硬體文件以了解:

  • 物料清單與採購
  • 3D 列印說明
  • 機械組裝
  • 電路配線

硬體儲存庫可於 github.com/enactic/openarm 取得。

CAN 匯流排設置

OpenArm 使用與 Damiao 馬達進行 CAN 匯流排通訊。一旦您將 CAN 匯流排 USB 轉接器插入 Linux PC,請參閱 Damiao 馬達與 CAN 匯流排指南以配置介面。

快速設置

# Setup CAN interfaces
lerobot-setup-can --mode=setup --interfaces=can0,can1

# Test motor communication
lerobot-setup-can --mode=test --interfaces=can0,can1

安裝 LeRobot 🤗

遵循我們的 安裝指南,然後安裝 Damiao 馬達支援套件。

pip install -e ".[damiao]"

使用方式

從動手臂(機器人)

指令
API 範例
lerobot-calibrate \
    --robot.type=openarm_follower \
    --robot.port=can0 \
    --robot.side=right \
    --robot.id=my_openarm_follower

主動手臂(遠端操作器)

主動手臂用於遠端操作——手動移動它來控制從動手臂。

指令
API 範例
lerobot-calibrate \
    --teleop.type=openarm_leader \
    --teleop.port=can1 \
    --teleop.id=my_openarm_leader

遠端操作

透過主從控制來遠端操作 OpenArm:

lerobot-teleoperate \
    --robot.type=openarm_follower \
    --robot.port=can0 \
    --robot.side=right \
    --robot.id=my_follower \
    --teleop.type=openarm_leader \
    --teleop.port=can1 \
    --teleop.id=my_leader

雙臂遠端操作

透過兩組主動手臂與兩組從動手臂來遠端操作雙臂 OpenArm 系統:

lerobot-teleoperate \
    --robot.type=bi_openarm_follower \
    --robot.left_arm_config.port=can0 \
    --robot.left_arm_config.side=left \
    --robot.right_arm_config.port=can1 \
    --robot.right_arm_config.side=right \
    --robot.id=my_bimanual_follower \
    --teleop.type=bi_openarm_leader \
    --teleop.left_arm_config.port=can2 \
    --teleop.right_arm_config.port=can3 \
    --teleop.id=my_bimanual_leader

資料錄製

在遠端操作期間錄製資料集:

lerobot-record \
    --robot.type=openarm_follower \
    --robot.port=can0 \
    --robot.side=right \
    --robot.id=my_follower \
    --teleop.type=openarm_leader \
    --teleop.port=can1 \
    --teleop.id=my_leader \
    --repo-id=my_hf_username/my_openarm_dataset \
    --fps=30 \
    --num-episodes=10

配置選項

從動手臂配置

參數 預設 說明
port - CAN 介面(例如:can0
side None 手臂側邊:"left" (左)、"right" (右);或使用 None 以設定自訂限制
use_can_fd True 啟用 CAN FD 以獲得更高的資料傳輸速率
can_bitrate 1000000 標稱位元率 (1 Mbps)
can_data_bitrate 5000000 CAN FD 資料位元率 (5 Mbps)
max_relative_target None 相對目標位置的安全限制
position_kp 各關節參數 位置控制比例增益 (Proportional Gain)
position_kd 各關節參數 位置控制微分增益 (Derivative Gain)

主動手臂配置

參數 預設 說明
port - CAN 介面(例如:can1
manual_control True 停用轉矩以進行手動移動
use_can_fd True 啟用 CAN FD 以獲得更高的資料傳輸速率
can_bitrate 1000000 標稱位元率 (1 Mbps)
can_data_bitrate 5000000 CAN FD 資料位元率 (5 Mbps)

馬達配置

OpenArm 使用 Damiao 馬達,其預設配置如下:

關節 馬達型號 傳送 ID (Send ID) 接收 ID (Recv ID)
joint_1 (肩部平移) DM8009 0x01 0x11
joint_2 (肩部升降) DM8009 0x02 0x12
joint_3 (肩部旋轉) DM4340 0x03 0x13
joint_4 (肘部彎曲) DM4340 0x04 0x14
joint_5 (腕部翻轉) DM4310 0x05 0x15
joint_6 (腕部俯仰) DM4310 0x06 0x16
joint_7 (腕部旋轉) DM4310 0x07 0x17
夾爪 (gripper) DM4310 0x08 0x18

疑難排解

馬達無回應

  1. 檢查電源連接。
  2. 確認 CAN 配線 (CAN-H, CAN-L, GND)。
  3. 執行診斷:lerobot-setup-can --mode=test --interfaces=can0
  4. 詳細資訊請見 Damiao 故障排除指南

找不到 CAN 介面

請確保已配置 CAN 介面。

ip link show can0

資源

在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.