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 上联系我们。