使用LeKiwi机器人配合LeRobot框架的完整指南
概述
本文将详细介绍如何在LeRobot框架下使用LeKiwi移动机械臂系统。LeKiwi是一款开源的移动机械臂平台,结合LeRobot框架可以实现机器人控制、数据采集、模型训练等完整流程。我们将从硬件组装、软件配置到实际应用场景,逐步讲解整个使用流程。
硬件准备
部件清单
LeKiwi机器人主要由以下部件组成:
- 两个SO100机械臂(一个作为主控臂,一个作为执行臂)
- 移动底盘(包含三个驱动轮)
- 树莓派或其他计算设备
- 摄像头模块
- 电机控制板
- 3D打印结构件
建议按照官方提供的物料清单准备所有部件,并确保3D打印件的精度和质量。
软件安装
树莓派端配置
-
操作系统安装:
- 使用Raspberry Pi Imager工具安装Raspberry Pi OS或Ubuntu系统
- 建议选择轻量级版本以减少资源占用
-
SSH配置:
- 启用SSH服务以便远程访问
- 配置静态IP地址方便后续连接
-
LeRobot环境搭建:
# 安装Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-armv7l.sh
bash Miniconda3-latest-Linux-armv7l.sh
# 创建LeRobot环境
conda create -y -n lerobot python=3.10
conda activate lerobot
# 安装LeRobot及依赖
git clone https://github.com/huggingface/lerobot.git ~/lerobot
cd ~/lerobot && pip install -e ".[feetech]"
电脑端配置
电脑端配置与树莓派端类似,主要区别在于:
- 无需配置SSH
- 根据操作系统选择对应的Miniconda版本
硬件组装
电机配置
-
机械臂电机ID设置:
- 肩部平移电机:ID 1
- 肩部升降电机:ID 2
- 肘部电机:ID 3
- 腕部电机:ID 4
- 腕部旋转电机:ID 5
- 夹爪电机:ID 6
-
移动底盘电机ID设置:
- 左轮电机:ID 7
- 后轮电机:ID 8
- 右轮电机:ID 9
端口识别
使用以下脚本识别电机控制板的USB端口:
python lerobot/scripts/find_motors_bus_port.py
脚本会指导你断开连接并重新连接USB设备,最终输出设备对应的端口号。
配置校准
执行臂校准
执行臂需要手动移动到三个特定位置进行校准:
- 零位姿势:所有关节处于初始位置
- 旋转姿势:各关节旋转一定角度
- 休息姿势:机械臂自然下垂位置
校准命令:
python lerobot/scripts/control_robot.py \
--robot.type=lekiwi \
--robot.cameras='{}' \
--control.type=calibrate \
--control.arms='["main_follower"]'
主控臂校准
主控臂校准流程与执行臂类似,同样需要移动到三个特定位置。
远程操作
配置完成后,可以使用键盘远程控制LeKiwi机器人:
- W/S:前进/后退
- A/D:左移/右移
- Z/X:左转/右转
- R/F:加速/减速
- Q:退出控制模式
数据采集与训练
数据集录制
使用LeRobot框架可以方便地录制机器人操作数据:
python lerobot/scripts/record_episodes.py \
--robot.type=lekiwi \
--output_dir=./my_dataset
模型训练
使用采集的数据训练控制策略:
python lerobot/scripts/train.py \
--policy.type=diffusion \
--dataset.path=./my_dataset
策略评估
训练完成后可以评估策略性能:
python lerobot/scripts/eval.py \
--policy.path=./my_policy
常见问题
-
USB端口权限问题:
sudo chmod 666 /dev/ttyACM*
-
网络连接问题:
- 确保树莓派和电脑在同一网络
- 检查网络设置
-
电机响应异常:
- 检查电源供应是否充足
- 确认电机ID设置正确
结语
通过LeRobot框架,我们可以完整地实现从LeKiwi机器人控制到算法开发的整个流程。这套系统非常适合机器人学习、控制算法研究和实际应用开发。随着使用深入,可以尝试更多高级功能如多模态感知、强化学习等,充分发挥LeKiwi平台的潜力。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考