☰
XLeRobot 视觉伺服机器人怎么上手:$660 双臂移动机器人用 YOLO 抓取指南
2026/9/30 7:06:43 网站建设 项目流程

XLeRobot 视觉伺服机器人怎么上手:$660 双臂移动机器人用 YOLO 抓取指南

【免费下载链接】XLeRobotXLeRobot: Practical Dual-Arm Mobile Home Robot for $660项目地址: https://gitcode.com/GitHub_Trending/xl/XLeRobot

先说结果

用$660(基础版,不含 3D 打印与运费)组装出一台带双 SO101 机械臂的移动机器人,让它用摄像头里的 YOLO 检测实时追着物体动——控制循环50Hz,从检测框到关节指令全链路解析式计算,不用训练任何模型,装好就能跑。这就是 XLeRobot 的核心玩法:一个基于 LeRobot、SO-101、LeKiwi、Bambot 等成熟开源件拼出来的低成本具身智能平台,官方宣称总装配时间不到 4 小时。

1. XLeRobot 是什么:一句话定位

它是一台可自主干家务的双臂移动机器人:万向轮底盘(也有差速双轮版)+ 头部相机 + 两条 6 自由度 SO101 手臂,全部软件开源(Apache 2.0),目标就是让普通人花得起、装得动、玩得明白。

硬参数速览(数据均出自仓库 README 与代码):

项目数值说明
基础成本约 $660 / ¥3999用你自己笔记本 + 单目头部相机
双目 RGB 升级+$30立体视觉
换 RealSense RGBD+$220深度相机,可选
加树莓派(独立主机)+$79不用笔记本也能跑
总装配时间<4 小时官方口径
手臂2× SO-101,6 自由度来自 TheRobotStudio 开源臂
控制链路50Hz P 控制视觉伺服闭环

没有真机也能先在仿真里过一遍:仓库自带 ManiSkill / MuJoCo / Isaac Sim / Gazebo 资产(见 simulation/),社区还把它做进了 Gazebo Sim:

2. 原理拆解:一个像素偏移量是怎么变成关节角的

先给结论:XLeRobot 的视觉抓取不需要深度信息。它用的是最朴素的"像素误差伺服"——目标框中心偏离画面中心多少,机械臂就朝对应方向动多少。

整条链路只有 4 站(对应 software/examples/3_so100_yolo_ee_follow.py 的实现):

  1. 检测:YOLO11 对摄像头每帧跑一次前向,输出目标框(默认追 COCO 类目标,脚本里默认是mouse,可改成bottle等)。
  2. 像素误差:dx = 框中心 x − 画面宽/2,dy同理。误差就是"手臂偏了多远"的代理量。
  3. 映射到动作:横向误差dx直接转成肩关节偏航(shoulder_pan)增量;纵向误差dy转成末端目标位置y的增量。映射系数是手调增益,代码里叫K_pan和K_y。
  4. 解析逆运动学:y目标变化后,用余弦定理求二连杆的肘/肩关节角——上臂 0.1159m、下臂 0.1350m,都是写死的几何常量。如果目标点超出可达圆,先等比例缩回边界,保证不炸。

整个闭环的伪代码(真实逻辑,≤10 行):

ret, frame = cap.read() # 1. 取帧 boxes = model(frame).boxes # 2. YOLO 检测 cx, cy = box.center # 3. 目标框中心 dx, dy = cx - w//2, cy - h//2 # 4. 像素误差 target_pan += -K_pan * dx # 5. 横向误差 -> 肩偏航 current_y += -K_y * dy # 纵向误差 -> 末端 y j2, j3 = inverse_kinematics(x, y) # 6. 余弦定理解析 IK robot.send_action(action) # 7. 50Hz P 控制下发

为什么不用手眼标定 + 深度解算?因为 2D 伺服本身就能把物体"拉到"手臂下方,标定误差被反馈环吸收掉了一大半,成本从"买深度相机 + 写标定脚本"降到"调两个系数"。这是整个项目最省心的设计决策,后面 §5 会展开。

3. 最短上手路径:从克隆到看到手臂追鼠标

前提:一台能跑 Ubuntu 的电脑(或树莓派),手臂按 docs/en/source/hardware/getting_started/assemble.md 组装完成。以下命令均可在仓库文档 docs/en/source/software/getting_started/install.md 找到对应步骤。

第 1 步:拿代码

git clone https://gitcode.com/GitHub_Trending/xl/XLeRobot cd XLeRobot

你会看到什么:hardware/是 3D 打印件(STL/STEP),software/是控制代码,simulation/是仿真资产。

第 2 步:装 LeRobot 并把 XLeRobot 的文件"搬"进去

git clone https://github.com/huggingface/lerobot && cd lerobot pip install -e . # 然后按 install.md:把 IK 求解器、xlerobot 配置、示例脚本 # 复制到 lerobot/lerobot 下的 model / robots / examples 目录

你会看到什么:LeRobot 安装完成后多出一个可被 Python 直接 import 的包,3_so100_yolo_ee_follow.py出现在 examples 目录里。

第 3 步:给串口子放权(Ubuntu 必做)

sudo chmod 666 /dev/ttyACM0 sudo chmod 666 /dev/ttyACM1

你会看到什么:无报错即成功;两条手臂各占一个串口,这一步不做后面会直接报 Permission denied。

第 4 步:跑视觉跟随 demo

python examples/3_so100_yolo_ee_follow.py

你会看到什么:弹出一个标着 "YOLO11 Live" 的窗口,画面里出现目标(默认 COCO 的 mouse 类)被框住;你把目标左右移动,手臂的肩关节会实时跟着转、肘部伸屈去够它。按q退出视觉模式,按键可手动接管。

⚠️ 两个容易踩的点:

  • 3_so100_yolo_ee_control.py和3_so100_yolo_ee_follow.py长得像但不是同一个东西:前者窗口里只画框、不控制机器人(视频流与控制独立);后者才是真正让手臂跟着目标走的版本。想抓东西请用 follow 版。
  • 电机数不对时(报need 9 motors, but 8 detected),按 docs/en/source/software/getting_started/XLeRobot_teleop.md 的 FAQ 互换两个端口名即可。

没有硬件?走仿真线:simulation/Maniskill/run_xlerobot_sim.py 可在约 15 分钟内起一个带键盘/Xbox/Joycon/VR 遥操的仿真环境,链路和真机一致,适合先把 demo 逻辑摸熟。

4. 实测口径:代码里能确认的闭环参数

先坦白:仓库没有发布标准化基准报告,下表只整理代码里可查证的控制参数,方便你复现时对齐口径(全部来自3_so100_yolo_ee_follow.py与 software/readme.md 中"Real-time test on YOLO-based control"的实测说明):

参数代码中的取值含义
控制频率50Hz(control_freq=50)P 控制主循环,周期 20ms
视觉横移增益K_pan−0.006 rad/px每像素横向误差转肩偏航量
纵移增益K_y0.00004 m/px每像素纵向误差转末端 y 位移
肩偏航死区±0.1误差太小不响应,防抖
y 轴限幅±0.005 m,±0.001 内归零纵向单步动作封顶
比例增益kp0.5P 控制强度
连杆长度0.1159 / 0.1350 m解析 IK 几何常量,最大可达 0.2509m
回位判据总误差 <2° 即停回零/回起点阈值

三条现场观察(来自仓库自述与代码逻辑):

  1. 50Hz 的控制节奏由 P 控制环决定,视觉是"按需更新"——检测跑多快、控制环就按 20ms 一拍拍地下发目标位置,所以摄像头帧率波动不会直接抖动手臂。
  2. 死区设计是刻意的:dx映射结果小于 0.1 就置 0、dy小于 0.001 就置 0,这两个 if 就是"手臂到位后不再微动"的来源,是实测里防抖的主要手段。
  3. IK 自带工作空间钳制:目标圆超出 l1+l2 时先缩放到边界再解算,脚本注释里也写明角度被夹在 URDF 限位内——这是"目标跑太远时手臂不抽风"的保证。

5. 关键选型:这几个决定为什么这么下

选型替代方案XLeRobot 的选择与理由
视觉方案手眼标定 + 深度解算(买 RealSense + 写标定)2D 像素伺服 + YOLO 分类:免标定、免训练,误差靠反馈环兜底;RealSense 只是 +$220 的可选项
逆运动学数值迭代 IK(通用但每帧要迭代)解析 IK(余弦定理,O(1)):SO-101 二连杆平面问题有闭式解,50Hz 下零开销,解唯一、行为可预期,代码见 software/src/model/SO101Robot.py
控制环每帧全量重规划P 控制 + 目标位置增量:视觉只改目标,控制环独立 50Hz 跑,两者解耦后帧率波动不传导到电机
底盘只上万向轮万向轮 / 差速双轮可选:双轮版(2025-12 发布)更便宜、更稳、定位更准,默认舵机、可选小电机电机
软件底座自写驱动站在 LeRobot 肩膀上:电机驱动、观测/动作格式、数据集记录全是现成的,XLeRobot 只加配置和 IK

一句话:每个选型都在往"少买硬件、少写代码"上靠,这正是 $660 能成立的根本原因。

6. 调优清单:5 个即插即用的旋钮

都在3_so100_yolo_ee_follow.py顶部,改完重跑即可。

  1. 手臂追不上 / 追过头→ 调K_pan(±0.006 起步)→ 收益:横向跟随速度与稳定性平衡。
  2. 手臂原地小抖→ 扩大死区(abs(d_current_x) < 0.1的 0.1、dy的 0.001)→ 收益:到位后真正"静止"。
  3. 动作太软、收敛慢→ 提高kp(默认 0.5)→ 收益:响应变快;过高会振荡,建议 0.5→0.7 小步试。
  4. 关节有系统偏差(每次启动都偏)→ 改JOINT_CALIBRATION的零位偏移与缩放(如 shoulder_lift 的 2.0/0.97)→ 收益:消除装配公差带来的固定偏差。
  5. 想追别的物体→ 改target_objects(默认["mouse"],换成["bottle"]等 COCO 类)→ 收益:同一套代码换目标不换逻辑。

7. 排障手册:症状 → 根因 → 处理

症状根因处理
Permission denied: /dev/ttyACM*Ubuntu 串口权限插板后执行sudo chmod 666 /dev/ttyACM0和ttyACM1(每次重插后)
need 9 motors, but 8 detected左右臂串口名接反用python lerobot/find_port.py确认,互换配置里的端口名
chmod 后仍检测不到电机供电/接线问题重插电源线再试(官方 FAQ 原话)
YOLO 窗口有框但手臂不动跑成了 control 版脚本换成3_so100_yolo_ee_follow.py;control 版只画框不控制
手臂朝反方向追K_pan符号/映射方向反了翻转增益符号(K_pan默认就是负值,别改成正的)
目标太远时手臂抽风/顶死超出可达工作空间解析 IK 已自动缩放钳制;仍异常则检查 URDF 限位设置
Joycon 连接不稳系统蓝牙守护缺失sudo apt install joycond && sudo systemctl enable --now joycond

更多细节(键盘/Xbox/Joycon/VR 遥操)见 docs/en/source/software/getting_started/XLeRobot_teleop.md。

8. 适用边界:这套东西能干什么、不能干什么

适合你,如果:

  • 你是学生/研究者,要一台真机做遥操、数据集采集(software/src/record.py 支持录制)或 VLA/RL 训练验证(docs/en/source/software/getting_started/ 下有 RL、VLA_smol、VLA_ACT、pi05、LLM agent 全套教程);
  • 预算敏感,$660 起步、树莓派 +$79 就能脱离笔记本;
  • 愿意花半天打印 + 4 小时以内装配(hardware/ 全部结构件开源)。

不适合你,如果:

  • 想要产线级抓取——SO-101 是舵机级轻负载手臂,负载与刚度都不面向工业;
  • 想要开箱即用的"全自动家务"——仓库给的是平台 + demo,自主策略要你自己接(VLA 教程是目前最近的现成路径);
  • 完全不想动手——3D 打印、走线、电机校准都是你自己来(官方也卖 Wowrobo 组装套件作为替代,非仓库内容)。

能力上限速记:视觉只认 COCO 类目标(换目标 = 改字符串);抓取靠像素伺服把目标"喂"到手臂下方,不是 6D 位姿级精确对位;双目/RGBD 是升级项而非前提。

收尾

XLeRobot 的真正价值不是 $660 本身,而是它把"检测 → 伺服 → 解析 IK → 50Hz 闭环"这条链路的每一环都放到了你能一行行读懂的开源文件里——你调一个K_pan,手臂就真的按你的理解动。

下一步就一件事:git clone仓库,打开 software/examples/,先跑3_so100_yolo_ee_follow.py;跑不通就先读 software/readme.md,没有硬件就去 simulation/ 里把同一套链路在仿真中跑一遍。

【免费下载链接】XLeRobotXLeRobot: Practical Dual-Arm Mobile Home Robot for $660项目地址: https://gitcode.com/GitHub_Trending/xl/XLeRobot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询