SO-ARM101安装与开发学习

发布于:2025-09-11 ⋅ 阅读:(15) ⋅ 点赞:(0)

0. LeRobot介绍

https://github.com/huggingface/lerobot

LEROBOT:通过端到端学习使机器人技术更容易访问AI

面向现实世界机器人技术的先进机器学习

🤗 LeRobot 旨在使用 PyTorch 提供面向现实世界机器人技术的模型、数据集和工具。其目标是降低机器人技术的入门门槛,让每个人都能贡献力量,并从共享数据集和预训练模型中受益。

🤗 LeRobot 包含已被证明可迁移到现实世界的先进方法,重点是模仿学习和强化学习。

🤗 LeRobot 已经提供了一系列预训练模型、包含人工收集演示的数据集以及模拟环境,方便每个人都能快速上手。

🤗 LeRobot 在 LeRobot HuggingFace 页面上托管预训练模型和数据集。

前提准备

为了满足预训练模型和数据集的高性能需求,这边是准备一台性能比较好的主机。

  • X86 Ubuntu 22.04 台式机,个人编写的双系统安装教程参考
  • 4070tis显卡

1.安装LeRobot环境

  1. X86 Ubuntu 22.04 安装 Miniconda
mkdir -p ~/miniconda3
cd miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
source ~/miniconda3/bin/activate
conda init --all

2.创建并激活一个新的 conda 环境用于 lerobot,并且需要注意一点:后续打开终端都要激活lerobot虚拟环境conda activate lerobot

conda create -y -n lerobot python=3.10 && conda activate lerobot

3.使用 miniconda 时,在环境中安装 ffmpeg:

conda install ffmpeg -c conda-forge

由于-c conda-forge(官方 Anaconda) 仓库拉取包,国内访问速度会比较慢,所以会在 Collecting package metadata 那里卡很久。

请添加图片描述

临时指定清华镜像源

conda install ffmpeg -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

请添加图片描述

4.克隆 Lerobot 仓库:

有两种安装Lerobot,有源码编译或者是直接PyPi下载,下面介绍源码编译下载,想看PypI下载方式的看官方文档

git clone https://github.com/huggingface/lerobot.git ~/lerobot
cd lerobot

安装Lerobot 仓库

pip install -e .

同样pip下载默认是国外下载源,国内访问速度很慢。可以改为下面指令

pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

5.安装带有 feetech 电机依赖的 LeRobot:

pip install -e ".[feetech]"

6.python虚拟环境搭建好了,验证如下

请添加图片描述

2. 采购SO-101零件

SO-101 是 SO-100 机械臂的下一代版本,最初由 RobotStudio 与 Hugging Face 合作设计。它改进了接线,更易于组装(无需拆卸齿轮),并且为引臂使用更新的电机。

https://huggingface.co/docs/lerobot/so101

请添加图片描述

请添加图片描述

https://github.com/TheRobotStudio/SO-ARM100

有两个选择:获得您自己的 SO-101,爱折腾的就自己动手搭建。 怕麻烦直接从淘宝供应商那里购买。下面以专业版进行搭建。

2.1 专业版双臂物料清单

物料清单 数量 Unit Cost (RMB) Buy CN
STS3215 Servo 7.4V, 1/345 gear (C001) 1 ¥97.72 TaoBao
STS3215 Servo 7.4V, 1/191 gear (C044) 2 ¥97.72 TaoBao
STS3215 Servo 7.4V, 1/147 gear (C046) 3 ¥97.72 TaoBao
STS3215 Servo 12V, 1/345 gear (C018) 6 ¥108.19 TaoBao
总线舵机驱动板 2 ¥27 TaoBao
USB-C 数据线 2 ¥23.9 TaoBao
12V 5A电源适配器 1 ¥19.21 TaoBao
5V 4A电源适配器 1 ¥22.31 TaoBao
木工夹子固定器 4 ¥5.2 TaoBao
螺丝刀套装 1 ¥14.9 TaoBao
主从3D打印件(没3D打印机的情况下) 1 ¥186.19 TaoBao

2.2 使用3D 打印零件

2.2.1 有3D 打印机

步骤一:

提供的STL文件可以在许多FDM打印机上打印。 以下是经过测试和建议的设置,尽管其他设置可能有效。

1.材料:PLA+,关于耗材资料,关于常用的3D打印材料优缺点

2.喷嘴直径和精度:0.4mm的喷嘴直径在0.2mm层高度或0.6毫米喷嘴处的0.4mm层高度。

3.填充密度:15%

4.3D打印机选购

步骤二:

调试使用的3D打印机,该步骤省略

步骤三:

检查你3D打印机精度,该步骤省略

步骤四:

开始打印

根据3D打印机,机床尺寸来确定打印件。

  • 对于220mmx220mm的打印机床尺寸(例如Ender),请打印以下文件:
  • 对于205mm x 250mm的打印机床尺寸(例如prusa/up):
    1. Follower
    2. Leader
各个部分文件

Common Parts

Part Link
Base_motor_holder_SO101.stl Base_motor_holder_SO101.stl
Base_SO101.stl Base_SO101.stl
Motor_holder_SO101_Base.stl Motor_holder_SO101_Base.stl
Motor_holder_SO101_Wrist.stl Motor_holder_SO101_Wrist.stl
Under_arm_SO101.stl Under_arm_SO101.stl
Upper_arm_SO101.stl Upper_arm_SO101.stl
Rotation_Pitch_SO101.stl Rotation_Pitch_SO101.stl
Wrist_Roll_Pitch_SO101.stl Wrist_Roll_Pitch_SO101.stl
WaveShare_Mounting_Plate_SO101.stl WaveShare_Mounting_Plate_SO101.stl

Leader‑Specific Parts

Part Link
Handle_SO101.stl Handle_SO101.stl
Trigger_SO101.stl Trigger_SO101.stl
Wrist_Roll_SO101.stl Wrist_Roll_SO101.stl

Follower‑Specific Parts

Part Link
Moving_Jaw_SO101.stl Moving_Jaw_SO101.stl
Wrist_Roll_Follower_SO101.stl Wrist_Roll_Follower_SO101.stl

步骤五:

将打印的零件从3D打印机中取下来,去除掉支撑件。

2.2.2 没有3D 打印机

  • LeRobot 在github文档中,说明可以使用PCBWay进行3D打印机。不推荐,要附加进口税,成本约95美元,约680元。

  • 从供应商的淘宝购买组装好的臂或零件套件。成本:186.19元。

3 组装SO-101 Pro

3d打印后的零件如下:

请添加图片描述

参考链接

3.1 固定舵机的id和串口波特率

需要注意SO101的Leader机械臂的前三个关节减速比与SO100不同,所以需要仔细区分并校准。建议方便起见,在每个电机上做好标记,注明是 Follower(用 F 表示)还是 Leader(用 L 表示),以及对应的编号从 1 到 6(例如 F1…F6 和 L1…L6)。后续我们用F1-F6来代表Follower机械臂的1到6的关节舵机,L1-L6来代表Leader机械臂从1到6的关节舵机,对应的舵机型号关节及减速比信息如下。

舵机型号 减速比 对应机械臂关节
ST-3215-C044(7.4V) 1:191 L1
ST-3215-C001(7.4V) 1:345 L2
ST-3215-C044(7.4V) 1:191 L3
ST-3215-C046(7.4V) 1:147 L4–L6
ST-3215-C018(12V) 1:345 F1–F6

在开始组装前,建议先固定舵机的id和串口波特率,参考该链接

请添加图片描述

拿出一个总线舵机驱动板、通过type-c接到电脑上。对于linux电脑来说,这款串口芯片会识别成/dev/ttyACM*设备。

请添加图片描述

ls /dev/tty*

会多出/dev/ttyACM0串口设备

请添加图片描述

先给ttyACM*设置规则文件,防止插拔过程出现权限不够的情况。

sudo vim /etc/udev/rules.d/99-myserial.rules

串口规则文件编写如下,填写自己的用户名,GROUP=用户名。(ttyACM*只适用于Linux主机哦)

KERNEL=="ttyACM*",SUBSYSTEM=="tty",GROUP="lanni",MODE="0777"

然后保存串口规则,然后在终端重载规则并重启。后续怎么插拔设备,都是有权限的。

sudo  udevadm control --reload

请添加图片描述

3.1.1 固定Leader舵机的id和串口波特率

Leader舵机的总线舵机驱动板
需要接入5V的电源适配器。
需要接入5V的电源适配器。
需要接入5V的电源适配器。

请添加图片描述

终端输入指令

lerobot-setup-motors \
    --teleop.type=so101_leader \
    --teleop.port=/dev/ttyACM0

请添加图片描述

先从L6舵机开始固定id,将3PIN端子线接在舵机上。

请添加图片描述

L6舵机接完线后,在终端敲下回车。
弹出Connect the controller board to the 'gripper' motor only and press enter.后回车,'gripper' motor id set to 6就是设置了舵机L6

请添加图片描述

然后接线,接到舵机L5

请添加图片描述

继续终端输入回车,‘wrist_roll’ motor id set to 5就是设置了舵机L5

请添加图片描述

然后重复流程,完成设置L4、L3、L2、L1舵机。

请添加图片描述

3.1.2 固定Follower舵机的id和串口波特率

Follower舵机的总线舵机驱动板
需要接入12V的电源适配器。
需要接入12V的电源适配器。
需要接入12V的电源适配器。

请添加图片描述

先从F6舵机开始固定id,将3PIN端子线接在舵机上。

请添加图片描述

lerobot-setup-motors \
    --robot.type=so101_follower \
    --robot.port=/dev/ttyACM0

弹出Connect the controller board to the 'gripper' motor only and press enter.后回车,'gripper' motor id set to 6就是设置了舵机F6

请添加图片描述

然后接线,接到舵机F5

请添加图片描述

继续终端输入回车

请添加图片描述

然后重复流程,完成设置F6、F5、F4、F3、F2、F1舵机。

请添加图片描述

3.2 开始组装Leader机械臂舵机

lerobot安装视频参考链接

推荐安装参考 seeed 组装视频

  1. Joint1
  • 将L1电机(减速比1:191)放入底座。
  • 安装两侧的金属舵盘,用一颗 M3x6mm 舵盘螺钉固定顶部金属舵盘。
  • 用 4 颗 M2x6mm 螺钉(最小螺钉)固定电机。顶部两颗,底部两颗。
  • 将第一个电机支架滑入底座,并用两颗 M2x6mm 螺钉(左右各一颗)固定。
  • 安装肩部打印件。
  • 用顶部 4 颗 M3x6mm 螺钉和底部 4 颗 M3x6mm 螺钉拧紧肩部。
  • 安装肩部电机支架。

请添加图片描述

  1. Joint 2
  • 从顶部安装第二个电机(L2减速比1:345)。
  • 用 4 颗 M2x6mm 螺钉固定第二个电机。
  • 将两个金属舵盘连接到 2 号电机上,同样使用 M3x6mm 舵盘螺钉固定。
  • 用 4 颗 M3x6mm 螺钉分别固定上臂两侧。

请添加图片描述

  1. Joint 3
  • 插入电机 3 (L3减速比1:191)并使用 4 颗 M2x6mm 螺钉固定。
  • 将两个金属舵盘连接到电机 3 上,并用一颗 M3x6mm 舵盘螺钉固定一个。
  • 将前臂连接到电机 3,每侧各使用 4 颗 M3x6mm 螺钉。

请添加图片描述

  1. Joint 4
  • 安装电机支架打印件。
  • 插入电机 4(L4减速比1:147)。
  • 用 4 颗 M2x6mm 螺钉固定电机 4,并使用 M3x6mm 舵盘螺钉安装其电机金属舵盘。

请添加图片描述

  1. Joint 5
  • 将电机 5 (L5减速比1:147)插入腕托,并用 2 颗 M2x6mm 前螺钉固定。
  • 在腕托电机上仅安装一个带齿轮金属舵盘,并用一颗 M3x6mm 舵盘螺钉固定。
  • 使用两侧各 4 颗 M3x6mm 螺钉将腕托固定到电机 4 上。

请添加图片描述

  1. Joint 6
  • 将前导线固定器安装到手腕上,并用 4 颗 M3x6mm 螺钉固定。
  • 使用 1 颗 M2x6mm 螺钉将手柄连接到 6 号电机(L6减速比1:147)。
  • 插入夹持电机,在两侧各用 2 颗 M2x6mm 螺钉固定,并使用 1 颗 M3x6mm 螺钉安装电机舵盘。
  • 使用 4 颗 M3x6mm 螺钉固定跟舵扳机。

请添加图片描述

意外

发现驱动板的这个3d打印版本,并不适配,只能用502胶水粘上去了。

请添加图片描述

3.3 开始组装Follower机械臂舵机

前五个步骤一样

F1~F5关节安装
  1. Joint6
  • 将L1电机(减速比1:191)放入底座。
  • 安装两侧的金属舵盘,用一颗 M3x6mm 舵盘螺钉固定顶部金属舵盘。
  • 用 4 颗 M2x6mm 螺钉(最小螺钉)固定电机。顶部两颗,底部两颗。
  • 将第一个电机支架滑入底座,并用两颗 M2x6mm 螺钉(左右各一颗)固定。
  • 安装肩部打印件。
  • 用顶部 4 颗 M3x6mm 螺钉和底部 4 颗 M3x6mm 螺钉拧紧肩部。
  • 安装肩部电机支架。

请添加图片描述


目前还在边看论文边学习实操中,待更新。。。

参考

lerobot官网文档

https://huggingface.co/docs/lerobot/so101

https://github.com/TheRobotStudio/SO-ARM100

huggingface/lerobot
https://github.com/huggingface/lerobot

SmolVLA: Efficient Vision-Language-Action Model trained on Lerobot Community Data
https://huggingface.co/blog/zh/smolvla#meet-smolvla
论文:https://huggingface.co/papers/2506.01844

seeed文档

如何从0搭建具身智能最新版Lerobot SO-ARM100和SO-ARM101机械臂并完成自定义抓取任务
https://wiki.seeedstudio.com/cn/lerobot_so100m_new/

https://wiki.seeedstudio.com/cn/lerobot_so100m/

Seeed-Projects/lerobot
https://github.com/Seeed-Projects/lerobot

硬件资料

Bus Servo Adapter (A)
https://www.waveshare.net/wiki/Bus_Servo_Adapter_(A)

飞特舵机
https://www.feetech.cn/

aloha

huggingface/gym-aloha
https://github.com/huggingface/gym-aloha

论文

SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
https://arxiv.org/abs/2506.01844

ACT or ALOHA
https://tonyzhaozh.github.io/aloha/


网站公告

今日签到

点亮在社区的每一天
去签到