LeRobot 文件
Koch v1.1
並獲得增強的文件體驗
開始使用
Koch v1.1
在以下步驟中,我們將解釋如何組裝 Koch v1.1 機器人。
訂購併組裝零件
請遵循這份 README 中提供的採購和組裝說明。這將指導您設定從動臂和主控臂,如下圖所示。
有關組裝過程的影片演示,您可以參考此影片教程。
自該影片製作以來,我們簡化了配置階段。因此,有兩點與該影片中的說明不同:
安裝 LeRobot 🤗
要安裝 LeRobot,請遵循我們的安裝指南
除了這些說明之外,您還需要安裝 Dynamixel SDK
pip install -e ".[dynamixel]"
配置電機
1. 找到與每個機械臂關聯的 USB 埠
要查詢每個匯流排伺服介面卡的埠,請執行此指令碼
lerobot-find-port
示例輸出
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
,對應於您的主控臂或從動臂。
2. 設定電機 ID 和波特率
每個電機都透過總線上的唯一 ID 進行識別。全新電機通常帶有一個預設 ID 1
。為了使電機和控制器之間能夠正常通訊,我們首先需要為每個電機設定一個唯一的、不同的 ID。此外,總線上的資料傳輸速度由波特率決定。為了相互通訊,控制器和所有電機都需要配置相同的波特率。
為此,我們首先需要單獨連線每個電機和控制器來設定這些引數。由於我們會將這些引數寫入電機內部儲存器的非易失性部分(EEPROM),所以我們只需要做一次。
如果您正在重新使用來自另一臺機器人的電機,您可能也需要執行此步驟,因為 ID 和波特率可能不匹配。
從動臂
將 USB 電纜從您的電腦連線到從動臂的控制器板,並連線 5V 電源。然後,執行以下命令或使用上一步獲得的埠執行 API 示例。您還需要使用 id
引數為主控臂命名。
有關如何設定電機 ID 的影片參考,請參閱此影片,我們在其中演示了為 SO101 機械臂設定的過程。
lerobot-setup-motors \
--robot.type=koch_follower \
--robot.port=/dev/tty.usbmodem575E0031751 # <- paste here the port found at previous step
您應該會看到以下說明。
Connect the controller board to the 'gripper' motor only and press enter.
按照指示,插入夾爪的電機。確保它是唯一連線到控制器板的電機,並且該電機本身尚未透過菊花鏈連線到任何其他電機。當您按下 [Enter]
鍵時,指令碼將自動為該電機設定 ID 和波特率。
故障排除
如果此時出現錯誤,請檢查您的電纜並確保它們已正確插入。
- 電源
- 電腦和控制器板之間的 USB 電纜
- 從控制器板到電機的 3 針電纜
如果您使用的是 Waveshare 控制器板,請確保兩個跳線都設定在 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 的“肩部平移”電機)的電纜連線到控制器板,控制器板現在可以安裝到機械臂的底座上。
主控臂
對主控臂執行相同的步驟,但相應地修改命令或指令碼。
lerobot-setup-motors \
--teleop.type=koch_leader \
--teleop.port=/dev/tty.usbmodem575E0031751 \ # <- paste here the port found at previous step
校準
接下來,您需要校準您的機器人,以確保主控臂和從動臂在處於相同物理位置時具有相同的位置值。校準過程非常重要,因為它允許在一個機器人上訓練的神經網路在另一個機器人上工作。
從動臂
執行以下命令或 API 示例來校準從動臂
lerobot-calibrate \
--robot.type=koch_follower \
--robot.port=/dev/tty.usbmodem58760431551 \ # <- The port of your robot
--robot.id=my_awesome_follower_arm # <- Give the robot a unique name
我們為大多數機器人統一了校準方法。因此,此 Koch 臂的校準步驟與 SO100 和 SO101 的步驟相同。首先,我們必須將機器人移動到每個關節都在其活動範圍中間的位置,然後我們按 Enter
。其次,我們讓所有關節在其完整的運動範圍內移動。有關此過程為 SO101 製作的影片參考可以在此處找到。
主控臂
執行相同的步驟來校準主控臂,執行以下命令或 API 示例
lerobot-calibrate \
--teleop.type=koch_leader \
--teleop.port=/dev/tty.usbmodem58760431551 \ # <- The port of your robot
--teleop.id=my_awesome_leader_arm # <- Give the robot a unique name
恭喜 🎉,您的機器人已準備好自主學習任務。請按照本教程開始訓練它:真實世界機器人入門
如果你有任何問題或需要幫助,請在 Discord 上聯絡我們。