LeRobot 文件

SO-100

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

SO-100

在以下步驟中,我們將說明如何組裝 SO-100 機械手臂。

取得零件

請遵循此 README。其中包含物料清單 (BOM)、零件採購連結,以及 3D 列印零件的說明。如果您是第一次列印或沒有 3D 印表機,請參考相關建議。

安裝 LeRobot 🤗

若要安裝 LeRobot,請遵循我們的 安裝指南

除了這些說明之外,您還需要安裝 Feetech SDK

pip install -e ".[feetech]"

配置馬達

注意:與 SO-101 不同,SO-100 在組裝完成後將難以觸及馬達接頭,因此必須事先完成配置步驟。

1. 找出與每支手臂相關聯的 USB 連接埠

若要為每個匯流排伺服馬達轉接器找到連接埠,請執行此腳本

lerobot-find-port
Mac
Linux

輸出範例

Finding all available ports for the MotorBus.
['/dev/tty.usbmodem575E0032081', '/dev/tty.usbmodem575E0031751']
Remove the USB cable from your MotorsBus and press Enter when done.

[...Disconnect corresponding leader or follower arm and press Enter...]

The port of this MotorsBus is /dev/tty.usbmodem575E0032081
Reconnect the USB cable.

其中找到的連接埠為:/dev/tty.usbmodem575E0032081,這對應到您的主控 (leader) 或從屬 (follower) 機械手臂。

2. 設定馬達 ID 和傳輸速率 (Baudrate)

每個馬達在匯流排上都有一個唯一的 ID。全新馬達通常預設 ID 為 1。為了讓馬達與控制器之間能正常通訊,我們首先需要為每個馬達設定一個唯一且不同的 ID。此外,資料在匯流排上的傳輸速度由鮑率決定。為了互相溝通,控制器和所有馬達必須配置為相同的鮑率。

為此,我們首先需要透過控制器單獨連接到每個馬達以進行設定。由於我們將把這些參數寫入馬達內部記憶體 (EEPROM) 的非揮發性區域,因此我們只需執行此操作一次。

如果您是從其他機器人轉用馬達,則可能也需要執行此步驟,因為馬達的 ID 和傳輸速率很可能不匹配。

從屬 (Follower)

將 USB 線從電腦連接到從動手臂 (Follower arm) 的控制器板,並接上電源。接著,執行以下指令,或使用上一步中取得的連接埠執行 API 範例。您還需要使用 id 參數為您的主動手臂 (Leader arm) 命名。

關於如何設定馬達 ID 的視覺化參考,請參閱此影片,我們在該影片中示範了 SO101 手臂的設定過程。

指令
API 範例
lerobot-setup-motors \
    --robot.type=so100_follower \
    --robot.port=/dev/tty.usbmodem585A0076841  # <- paste here the port found at previous step

您應該會看到以下說明

Connect the controller board to the 'gripper' motor only and press enter.

依照指示,插入夾爪馬達。請確保它是唯一連接到控制器板的馬達,並且馬達本身尚未與任何其他馬達菊花鏈 (daisy-chained) 連接。當您按下 [Enter] 時,腳本會自動為該馬達設定 ID 和鮑率。

疑難排解

如果在該點發生錯誤,請檢查您的線材,確保它們已正確插好

  • 電源
  • 電腦與控制器板之間的 USB 線
  • 從控制器板到馬達的 3 針腳線材

如果您使用的是 Waveshare 控制器板,請確保兩個跳線 (jumper) 都設定在 B 通道 (USB)。

接著您應該會看到以下訊息

'gripper' motor id set to 6

隨後是下一條說明

Connect the controller board to the 'wrist_roll' motor only and press enter.

您可以將 3 針接頭從控制器板上斷開,但可以將其保持連接到另一端的夾爪馬達,因為它已經位於正確位置。現在,插入另一條 3 針線到手腕旋轉馬達並連接到控制器板。與之前的馬達一樣,確保它是唯一連接到板上的馬達,且該馬達本身沒有連接到任何其他馬達。

依照指示對每個馬達重複上述操作。

在按下 Enter 鍵前,請在每個步驟檢查您的接線。例如,當您操作控制板時,電源線可能會斷開。

完成後,腳本將會結束,此時馬達已準備就緒。現在您可以將每個馬達的 3 針腳線材串聯起來,並將第一個馬達(ID=1 的「肩部水平旋轉」馬達)的線材連接到控制器板,該控制器板現在可以安裝在手臂基座上。

主控 (Leader)

對主動手臂執行相同的步驟。

指令
API 範例
lerobot-setup-motors \
    --teleop.type=so100_leader \
    --teleop.port=/dev/tty.usbmodem575E0031751  # <- paste here the port found at previous step

逐步組裝說明

拆除 6 個主動馬達的齒輪

拆除齒輪影片

請依照影片指示拆除齒輪。您需要拆除主動手臂馬達上的齒輪。如此一來,您將僅使用馬達的位置編碼並減少摩擦力,以便更輕鬆地操作主動手臂。

清潔零件

移除 3D 列印零件上的所有支撐材料。最簡單的方法是使用小螺絲起子深入支撐材料下方進行清理。

額外指南

手臂組裝影片

注意:此影片提供了組裝手臂的視覺指導,但並未詳細說明何時或如何進行接線。提前插入纜線比事後再做要簡單得多。第一支手臂的組裝時間可能需要 1 小時以上,但一旦熟悉了,您可以在 1 小時內組裝好第二支手臂。


第一個馬達

步驟 2:插入線材

  • 將兩條線插入第一個馬達。

步驟 3:安裝至底座

  • 將第一個馬達放入底座中。

步驟 4:固定馬達

  • 用 4 顆螺絲固定馬達。底部 2 顆,頂部 2 顆。

步驟 5:安裝馬達支架

  • 套上第一個馬達支架,並用兩顆螺絲(每側一顆)將其固定。

步驟 6:安裝馬達搖臂 (Motor Horns)

  • 安裝兩個馬達搖臂,並用螺絲固定頂部搖臂。安裝搖臂時盡量不要移動馬達位置,對於已拆除齒輪的主動手臂尤其重要。
新增馬達搖臂影片

步驟 7:安裝肩部零件

  • 將一條線引導至機器人後方,另一條線引導至左側或朝向您(參見照片)。
  • 安裝肩部零件。

步驟 8:固定肩部

  • 用 4 顆頂部螺絲和 4 顆底部螺絲鎖緊肩部零件(轉動肩膀以接觸底部螺絲孔)。

第二個馬達組裝

步驟 9:安裝馬達 2

  • 從上方滑入第二個馬達,並將馬達 1 的線連接到馬達 2。

步驟 10:安裝肩部支架

  • 加上肩部馬達支架。
  • 確保從馬達 1 到馬達 2 的線位於支架後方,而另一條線則向上引導(參見照片)。
  • 此部件可能組裝較緊,您可以使用如圖所示的工作台或類似的裝置將零件推入馬達周圍。

步驟 11:固定馬達 2

  • 用 4 顆螺絲固定第二個馬達。

步驟 12:安裝馬達搖臂

  • 將兩個馬達搖臂安裝到馬達 2 上,同樣使用搖臂螺絲。

步驟 13:安裝底座

  • 使用 2 顆螺絲安裝底座配件。

步驟 14:安裝上臂

  • 在每側用 4 顆螺絲固定上臂。

第三個馬達組裝

步驟 15:安裝馬達 3

  • 將馬達電纜從馬達 2 經由電纜支架引導至馬達 3,然後用 4 顆螺絲固定馬達 3。

步驟 16:安裝馬達搖臂

  • 將兩個馬達搖臂安裝到馬達 3 上,並再次使用搖臂螺絲固定其中一個。

步驟 17:安裝前臂

  • 在每側用 4 顆螺絲將前臂連接到馬達 3。

第四個馬達組裝

步驟 18:安裝馬達 4

  • 滑入馬達 4,連接馬達 3 的線,並用一顆螺絲將電纜固定在支架中。

步驟 19:安裝馬達支架 4

  • 安裝第四個馬達支架(組裝較緊)。確保一條線向上引導,而來自馬達 3 的線向下引導(參見照片)。

步驟 20:固定馬達 4 並安裝搖臂

  • 用 4 顆螺絲固定馬達 4 並安裝其馬達搖臂,其中一個需使用搖臂螺絲。

手腕組裝

步驟 21:安裝馬達 5

  • 將馬達 5 插入手腕支架,並用 2 顆前部螺絲固定。

步驟 22:安裝手腕

  • 將來自馬達 4 的線連接至馬達 5。並預先插入用於夾爪的另一條線。
  • 用每側 4 顆螺絲將手腕固定至馬達 4。

步驟 23:安裝手腕搖臂

  • 僅在手腕馬達上安裝一個馬達搖臂,並用搖臂螺絲固定。

從動裝置配置

步驟 24:安裝夾爪

  • 將夾爪安裝到馬達 5 上。

步驟 25:安裝夾爪馬達

  • 插入夾爪馬達,連接從馬達 5 到馬達 6 的電纜,並用每側 3 顆螺絲固定。

步驟 26:安裝夾爪搖臂與爪子

  • 安裝馬達搖臂,同樣使用搖臂螺絲。
  • 安裝夾爪並用每側 4 顆螺絲固定。

步驟 27:安裝控制器

  • 將馬達控制器安裝到機器人後方。

組裝完成 – 繼續進行主動手臂的組裝。


主動裝置配置

對於主動裝置配置,請執行 步驟 1–23。確保您已從馬達上拆除了馬達齒輪。

步驟 24:安裝主動支架

  • 將主動支架安裝到手腕上,並用一顆螺絲固定。

步驟 25:安裝把手

  • 用 4 顆螺絲將把手安裝到馬達 5 上。

步驟 26:安裝夾爪馬達

  • 插入夾爪馬達,用每側 3 顆螺絲固定,使用搖臂螺絲安裝馬達搖臂,並連接馬達電纜。

步驟 27:安裝扳機

  • 用 4 顆螺絲安裝從動扳機。

步驟 28:安裝控制器

  • 將馬達控制器安裝到機器人後方。

校正

接下來,您需要校正您的機器人,以確保主控和從屬手臂在相同物理位置時具有相同的位置數值。校正過程非常重要,因為它能讓在一個機器人上訓練的神經網路在另一個機器人上運作。

從屬 (Follower)

執行以下指令或 API 範例來校正從屬手臂

指令
API 範例
lerobot-calibrate \
    --robot.type=so100_follower \
    --robot.port=/dev/tty.usbmodem58760431551 \ # <- The port of your robot
    --robot.id=my_awesome_follower_arm # <- Give the robot a unique name

我們統一了大多數機器人的校準方法。因此,這款 SO100 手臂的校準步驟與 Koch 和 SO101 相同。首先,我們必須將機器人移動到每個關節處於其運動範圍中間的位置,然後按下 Enter 鍵。其次,我們將所有關節移動過其完整的運動範圍。有關相同過程的 SO101 參考影片,請參閱這裡

主控 (Leader)

對主控手臂執行相同的校正步驟,執行以下指令或 API 範例

指令
API 範例
lerobot-calibrate \
    --teleop.type=so100_leader \
    --teleop.port=/dev/tty.usbmodem58760431551 \ # <- The port of your robot
    --teleop.id=my_awesome_leader_arm # <- Give the robot a unique name

恭喜 🎉,您的機器人已準備就緒,可以自行學習任務了。請依照此教學開始訓練它:開始使用真實世界機器人

如果您有任何問題或需要協助,請在 Discord 上聯繫我們。

在 GitHub 上更新

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