使用LeRobot项目控制Moss v1机械臂的完整指南

使用LeRobot项目控制Moss v1机械臂的完整指南

lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch lerobot 项目地址: https://gitcode.com/gh_mirrors/le/lerobot

前言

LeRobot项目是一个专注于机器人控制的强大框架,本文将详细介绍如何使用LeRobot框架来控制Moss v1机械臂系统。Moss v1是一套开源的机械臂解决方案,由领导臂和跟随臂组成,适合进行机器人学习和控制研究。

准备工作

硬件准备

在开始之前,您需要准备以下硬件组件:

  • Moss v1机械臂套件(包括领导臂和跟随臂)
  • 3D打印的机械臂结构件
  • 6个Feetech STS3215伺服电机(每臂)
  • 必要的连接线和工具

软件环境配置

  1. 安装Miniconda: 建议使用Miniconda创建隔离的Python环境,避免与其他项目产生依赖冲突。
mkdir -p ~/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
~/miniconda3/bin/conda init bash
  1. 创建LeRobot专用环境
conda create -y -n lerobot python=3.10 && conda activate lerobot
  1. 安装FFmpeg
conda install ffmpeg -c conda-forge
  1. 安装LeRobot及Feetech电机依赖
pip install -e ".[feetech]"

电机配置

识别USB端口

在连接机械臂之前,需要确定每个机械臂对应的USB端口:

python lerobot/scripts/find_motors_bus_port.py

此脚本会引导您断开并重新连接每个机械臂,从而识别出对应的端口号。

电机ID设置

为每个电机分配唯一的ID(1-6):

python lerobot/scripts/configure_motor.py \
  --port /dev/tty.usbmodem58760432961 \
  --brand feetech \
  --model sts3215 \
  --baudrate 1000000 \
  --ID 1

重复此过程,为所有6个电机设置ID(1-6),对领导臂和跟随臂都需要执行此操作。

领导臂特殊处理

领导臂的电机需要移除齿轮以减少摩擦,仅使用其位置编码功能。这是实现精确控制的重要步骤。

机械臂组装

按照以下步骤组装机械臂:

  1. 将电机喇叭头安装到电机上
  2. 组装各个关节
  3. 连接电子线路
  4. 固定机械结构

建议先组装跟随臂,再组装领导臂,熟练后每个臂的组装时间可控制在1小时内。

校准过程

跟随臂校准

运行校准脚本并将跟随臂移动到三个特定位置:

python lerobot/scripts/control_robot.py \
  --robot.type=moss \
  --robot.cameras='{}' \
  --control.type=calibrate \
  --control.arms='["main_follower"]'

三个校准位置包括:

  1. 零位位置
  2. 旋转位置
  3. 休息位置

领导臂校准

同样需要移动到三个特定位置进行校准:

python lerobot/scripts/control_robot.py \
  --robot.type=moss \
  --robot.cameras='{}' \
  --control.type=calibrate \
  --control.arms='["main_leader"]'

远程操作

基本远程控制

python lerobot/scripts/control_robot.py \
  --robot.type=moss \
  --robot.cameras='{}' \
  --control.type=teleoperate

带摄像头显示的远程控制

python lerobot/scripts/control_robot.py \
  --robot.type=moss \
  --control.type=teleoperate

数据记录与训练

记录数据集

python lerobot/scripts/control_robot.py \
  --robot.type=moss \
  --control.type=record \
  --control.fps=30 \
  --control.single_task="Grasp a lego block and put it in the bin." \
  --control.repo_id=${HF_USER}/moss_test \
  --control.tags='["moss","tutorial"]' \
  --control.warmup_time_s=5 \
  --control.episode_time_s=30 \
  --control.reset_time_s=30 \
  --control.num_episodes=2 \
  --control.push_to_hub=true

训练控制策略

python lerobot/scripts/train.py \
  --dataset.repo_id=${HF_USER}/moss_test \
  --policy.type=act \
  --output_dir=outputs/train/act_moss_test \
  --job_name=act_moss_test \
  --policy.device=cuda \
  --wandb.enable=true

策略评估

python lerobot/scripts/control_robot.py \
  --robot.type=moss \
  --control.type=record \
  --control.fps=30 \
  --control.single_task="Grasp a lego block and put it in the bin." \
  --control.repo_id=${HF_USER}/eval_act_moss_test \
  --control.tags='["tutorial"]' \
  --control.warmup_time_s=5 \
  --control.episode_time_s=30 \
  --control.reset_time_s=30 \
  --control.num_episodes=10 \
  --control.push_to_hub=true \
  --control.policy.path=outputs/train/act_moss_test/checkpoints/last/pretrained_model

常见问题解决

  1. USB端口权限问题

    sudo chmod 666 /dev/ttyACM0
    sudo chmod 666 /dev/ttyACM1
    
  2. 电机响应异常

    • 检查电源供应是否充足
    • 确认电机ID设置正确
    • 验证波特率设置
  3. 校准不准确

    • 确保机械臂移动到精确的校准位置
    • 检查电机喇叭头安装是否牢固

进阶应用

掌握了基础操作后,您可以尝试:

  • 开发自定义控制算法
  • 集成更多传感器
  • 实现更复杂的任务
  • 进行多机械臂协同控制实验

通过LeRobot框架和Moss v1机械臂,您可以构建一个强大的机器人学习和控制平台,为各种机器人应用提供支持。

lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch lerobot 项目地址: https://gitcode.com/gh_mirrors/le/lerobot

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任铃冰Flourishing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值