如何从0搭建具身智能Lerobot SO-ARM100机械臂并完成自定义抓取任务

如何从0搭建具身智能Lerobot SO-ARM100机械臂并完成自定义抓取任务

SO-100ARM 是由 TheRobotStudio 发起的完全开源的机器手臂项目。它包括了从动手臂和主动机器手臂,还提供了详细的3D打印文件和操作指南。Lerobot 致力于提供样例、数据集和工具,以实现基于PyTorch的调教和强化学习。该 框架目标是降低机器人的入门门槛,使人们可以进行数据分享和预训练模型。

从零搭建Lerobot机械臂:结果展示

规格参数

本教程硬件由矽递科技Seeed Studio提供

规格 标准版 专业版
自由度 6 6
最大扭矩 19.5kg.cm @7.4V 30kg.cm @12V
伺服电机 STS3215总线伺服 STS3215总线伺服
电源 5.5mm*2.1mm DC 5V4A 5.5mm*2.1mm DC 12V1A
角度传感器 12位磁性编码器 12位磁性编码器
推荐工作温度范围 0℃~40℃ 0℃~40℃
通信方式 UART UART
控制方式 电脑 电脑

材料清单(BOM)

部件 数量 是否包含
STS3215伺服电机 12
电机控制板 2
USB-C线缆(2条) 1
电源适配器 2
桌面夹具 1
手臂的3D打印部件 1

3D打印部件和桌面夹具未包含在产品中。然而,我们提供了详细的3D打印STL文件

3D打印指南

各种3D打印机均可用于打印从动和主动手臂所需的部件。按照以下步骤确保良好的打印质量:

  1. 选择打印机: 提供的STL文件可直接在多种FDM打印机上打印。以下为测试和建议设置,其他设置也可能有效:

    • 材料: PLA
    • 喷嘴直径和精度: 0.4mm喷嘴直径,层高0.2mm;或0.6mm喷嘴直径,层高0.4mm。
    • 填充密度: 13%
  2. 获取3D打印文件: 从动和主动手臂的所有部件均包含在单个文件中,并以Z轴向上正确定向,最小化支撑需求。

    对于打印床尺寸为220mm x 220mm(如Ender)的打印机,打印:

    对于打印床尺寸为205mm x 250mm(如Prusa/Up)的打印机,打印:

    为方便下载,我们已将所有文件打包至Makerworld平台,包括桌面夹具的文件。

安装Lerobot

在你的reComputer Nvidia Jetson上:

  1. 安装Miniconda:

    mkdir -p ~/miniconda3
    cd ~/miniconda3
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
    chmod +x Miniconda3-latest-Linux-aarch64.sh
    ./Miniconda3-latest-Linux-aarch64.sh
    
  2. 重新启动Shell或执行 source ~/.bashrc

  3. 创建并激活一个新的conda环境:

    conda create -y -n lerobot python=3.10 && conda activate lerobot
    
  4. 克隆Lerobot仓库:

    git clone https://github.com/huggingface/lerobot.git ~/lerobot
    
  5. 安装Lerobot及依赖:

    cd ~/lerobot &
Robotframework⼊门教程(⼀) 最近⼯作中⽤Robot Framework框架来做⾃动化,所以,花时间学习了⼀下,⽹上好的⽂档不多,⼤多都是复制粘贴如何安装环境。要么就是介绍了⼀堆RIDE 的界⾯,活活把这么强⼤的⼀个⼯具讲成了个photoshop,我⽬前⽤了1个多⽉,这个⼯具很强⼤,简单写两句。 ==安装== ⾸先其实RIDE是个好⼯具,但是安装起来真⼼费劲,当时我的MAC上安装的时候google了两天,⼀个问题接⼀个问题。 我这边呢就不⽤RIDE了,想⽤呢⾃⼰想辙安去。 安装命令: pip install robotframework ==第⼀个testcase== RF的特点什么的就不多说了,⽹上有的是,撸起袖⼦就是⼲。 新建demo.robot⽂件,内容如下。 *** Test Cases *** First Case Log Hello World! warn Second Case ${res} Evaluate 1+2+3 Should Be Equal ${res} 6 Third Case ${res} Evaluate 'i'*3 Length Should Be ${res} 运⾏ robot demo.robot。将得到如下 上⾯的例⼦有三条case,第⼀条调⽤内置关键字Log, 第⼀个参数是"Hello World! " ,第⼆个参数是"warn"。就是简单打印⼀条log,后⾯的是log的等级,默 认输出info以上的log到console,截图中可以看到first case中打印了 Hello World!等级为WARN。 第⼆条case,调⽤内置关键字Evaluate,参数是"1+2+3",结果赋值给变量res(RF的语法是⽤$和⼤括号代表标量变量,还有其他类型的变量以后再说)然后调 ⽤Should Be Equal校验结果是否等于6,因为默认是字符串格式,所以second case 执⾏结果是FAIL。 第三条case,和第⼆条类似,同样调⽤Evalutate 赋值给变量res为"iii",校验变量长度为3,执⾏结果为PASS。 最后三⾏显⽰这次执⾏结果⽣成的⽂件,output.xml,log.html,report.html。打开log⽂件如下,结果报告有什么优点就不说了,⾃⼰去看。output.xml先放放以后 再说。 前⾯说过RF中默认的都是格式是String,那么怎么给关键字传其他的类型,答案是⽤变量。修改second case如下: Second Case ${res} Evaluate 1+2+3 Should Be Equal ${res} ${6} 再次执⾏robot demo.robot 这次的结果
要对STS3215舵机进行建模,首先需要了解舵机的工作原理和特性。 STS3215舵机是一种微型舵机,常用于模型飞机、机器人等的控制系统中。它采用了开环控制系统,输入控制信号后,通过内部的电机、减速器和角度传感器等部件实现转动的功能。 舵机的建模可以分为两个主要方面:模型的机械部分和电控部分。 首先,对于机械部分的建模,可以考虑舵机的力-位移特性和速度-位移特性。在给定输入控制信号时,通过测试得到舵机的转角与控制信号之间的关系,可以建立力-位移和速度-位移的关系曲线。可以使用曲线拟合或者数学建模方法,确定转角与输入信号的关系。 其次,对于电控部分的建模,需要考虑舵机的电机特性和电子控制器的影响。可以通过测试舵机的静态电流、空载电流、启动电流等数据,了解其电机的特性。同时,还可以分析舵机的响应时间、增益等动态特性,以及电子控制器对舵机控制的影响。根据这些数据和特性,可以建立电机和电子控制器的数学模型,用于舵机系统的建模与仿真。 最后,通过组合机械部分和电控部分的建模结果,可以得到完整的STS3215舵机模型。该模型可以用于控制系统的设计、参数调节和性能优化等方面,提高系统的控制精度和稳定性。 综上所述,对于STS3215舵机的建模,需要考虑机械部分和电控部分的特性,通过测试和分析得到相应的数据,建立数学模型,以便于系统设计和性能优化。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值