基于 LeRobot 的手机 AR 机器人远程控制实现
本文介绍如何利用 LeRobot 项目,通过智能手机实现专业级机器人远程控制。
为什么选择手机 AR 控制机器人?
传统机器人控制需要专用手柄、编程软件或复杂的控制面板,而手机 AR 控制技术彻底颠覆了这一模式:
- 零成本投入:利用现有手机,无需购买额外设备
- 直观操作:AR 界面让机器人控制像玩游戏一样简单
- 跨平台兼容:支持 iOS 和 Android 系统
- 专业精度:实现 6 自由度精准控制,满足工业级需求
快速入门:搭建手机控制环境
第一步:环境准备
确保你的设备满足以下要求:
- 机器人:SO100 机械臂或兼容 URDF 模型的机器人
- 手机:iOS 设备(安装 HEBI Mobile I/O 应用)或 Android 设备(支持 WebXR)
- 网络:手机与控制电脑在同一 WiFi 网络
第二步:软件安装
git clone https://github.com/facebookresearch/lerobot
cd lerobot
pip install -r requirements-ubuntu.txt
第三步:快速配置
编辑配置文件,设置机器人通信端口:
# 在 examples/phone_to_so100/teleoperate.py 中修改端口配置
robot_config = SO100FollowerConfig(
port="/dev/tty.usbmodem5A460814411", # 根据实际设备修改
use_degrees=True
)
核心技术揭秘:手机如何成为机器人遥控器
传感器数据采集
手机内置的陀螺仪、加速度计和 AR 摄像头协同工作,实时捕捉你的手部动作和空间位置。这些数据通过 src/lerobot/teleoperators/phone/phone_processor.py 中的算法进行处理,将手机姿态转换为机器人能够理解的指令。
坐标系映射算法
这是整个系统的核心!通过 src/lerobot/teleoperators/phone/teleop_phone.py 中的校准函数,实现手机坐标系到机器人坐标系的精准转换:
- 初始校准:按住手机应用中的校准按钮
- 坐标对齐:手机顶部对准机器人前进方向
- 实时映射:移动手机时,机器人同步响应
逆运动学求解
系统自动将末端执行器的目标位置转换为各个关节的角度,整个过程对用户完全透明,你只需要专注于控制机器人的动作即可。
实战操作:从零开始控制机器人
校准流程详解
启动系统后,按照以下步骤完成校准:
python examples/phone_to_so100/teleoperate.py
校准要点:
- 手机屏幕朝上,顶部指向机器人前方
- iOS 用户长按 B1 按钮,Android 用户触摸移动完成校准
- 系统自动验证安全范围,确保操作无风险
基础控制技巧
- 平移控制:前后左右移动手机,控制机器人末端位置
- 旋转控制:倾斜手机角度,调整机器人姿态
- 夹爪操作:使用手机界面按钮控制抓取动作
高级功能探索
想要更精准的控制?调整 examples/phone_to_so100/teleoperate.py 中的 end_effector_step_sizes 参数,实现毫米级精确定位!
性能优化与安全指南
确保操作安全
系统内置多重保护机制:
- 关节限位检测:自动防止超出安全范围
- 速度限制:最大步长控制,避免突然动作
- 使能机制:必须持续按住控制按钮才能操作
提升控制体验
- 降低延迟:设置 FPS 为 30-60Hz,确保实时响应
- 网络优化:使用 5GHz WiFi 网络,减少传输延迟
- 视觉反馈:结合
src/lerobot/cameras/中的相机配置,获得更好的操作视野
常见问题快速解决
Q: 校准后机器人不响应? A: 检查手机与控制电脑的网络连接,确保在同一局域网
Q: 控制精度不够? A: 调整控制参数,使用慢速模式进行精细操作
Q: 如何记录操作轨迹? A: 启用 Rerun 可视化工具,自动保存所有运动数据
总结与进阶方向
通过 LeRobot 项目的手机 AR 控制技术,我们成功打破了传统机器人操作的门槛。这套方案不仅成本低廉,而且操作直观,特别适合教育、科研和小型工业应用。
下一步学习建议:
- 探索
src/lerobot/policies/中的强化学习算法 - 学习多机器人协同控制技术
- 深入研究视觉引导的自主抓取系统
机器人控制不再遥不可及!从今天开始,用你的手机开启机器人控制的新篇章。

