当前位置: 首页 > ds >正文

lerobot 工程笔记(一)——使用smolvla控制so101

第一次跑这个工程,记录些坑点

一、目录

在这里插入图片描述
在这里插入图片描述

二、核心文档解读

1、SmolVLA相关代码解读

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2、模拟器demo代码解读

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、实机测试/数据采集代码解读

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、模拟器运行

官方例子:pip install -e ".[pusht]
python 2_evaluate_pretrained_policy.py

理论上可以通过替换模型来使用smolal
如:
from lerobot.common.policies.smolvla.modeling_smolvla import SmolVLAPolicy
policy = SmolVLAPolicy.from_pretrained(“lerobot/smolvla_base”)

实际测试不行,mean会计算出inf或者nan
原因是模型的输入和输出不同,无法直接使用
在这里插入图片描述
在这里插入图片描述
弄一个模拟器对齐输入应该就可以了,用例不能直接替换。

四、实机测试

参考 https://huggingface.co/docs/lerobot/so101?calibrate_follower=Command

/dev/ttyACM0 /dev/ttyACM1
linux是自动分配的,先插入的为0,后面为1,…

1、python lerobot/find_port.py 找一下usb口是哪一个

2、设置电机号,已经做过了其实不用再在做一次
python -m lerobot.setup_motors --robot.type=so101_follower --robot.port=/dev/ttyACM0
python -m lerobot.setup_motors --teleop.type=so101_leader --teleop.port=/dev/ttyACM0

3、标定:
python -m lerobot.calibrate --robot.type=so101_follower --robot.port=/dev/ttyACM1 --robot.id=my_awesome_follower_arm
python -m lerobot.calibrate --teleop.type=so101_leader --teleop.port=/dev/ttyACM0 --teleop.id=my_awesome_leader_arm

4、遥控
python -m lerobot.teleoperate --robot.type=so101_follower --robot.port=/dev/ttyACM1 --robot.id=my_awesome_follower_arm --teleop.type=so101_leader --teleop.port=/dev/ttyACM0 --teleop.id=my_awesome_leader_arm

5、适配摄像头
python -m lerobot.find_cameras opencv

6、带摄像头的遥控
python -m lerobot.teleoperate --robot.type=so101_follower --robot.port=/dev/ttyACM1 --robot.id=my_awesome_follower_arm --teleop.type=so101_leader --teleop.port=/dev/ttyACM0 --teleop.id=my_awesome_leader_arm --display_data=true --robot.cameras=“{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 10}}”

7、使用 smolval 控制及及机械臂
python -m lerobot.record --robot.type=so101_follower --robot.port=/dev/ttyACM1 --robot.id=my_awesome_follower_arm --robot.cameras=“{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 10}}” --dataset.single_task=“Grasp a lego block and put it in the bin.” --dataset.repo_id=lerobot/eval_smolvla --dataset.episode_time_s=50 --dataset.num_episodes=10 --policy.path=lerobot/smolvla_base

尝试了几次都会报这个错误:
在这里插入图片描述
推测VLA 模型是没法之间迁移使用的,一定要在设备上finetune过,因为标定参数、相机的安装都不一样。后续继续尝试,如果理解错误请大佬指点。

http://www.xdnf.cn/news/14946.html

相关文章:

  • 【AI落地应用实战】AIGC赋能职场PPT汇报:从效率工具到辅助优化
  • Docker Compose 基础——AI教你学Docker
  • 链表的实现
  • Flink-1.19.0源码详解5-JobGraph生成-前篇
  • Node.js-http模块
  • Appium 简介
  • 大语言模型:是逐字生成还是一次多词?
  • GO Web 框架 Gin 完全解析与实践
  • 【NLP第二期中文分词技术:规则、统计与混合方法全解】
  • 笨方法学python-习题12
  • Disruptor架构哲学
  • 结构体实战:用Rust编写矩形面积计算器
  • MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么?
  • 8.Docker镜像讲解
  • 阿里巴巴 Qwen 系列大模型发展时间线与主要特性
  • 数字图像处理学习笔记
  • C#.Net筑基-优雅LINQ的查询艺术
  • 算法-每日一题(DAY12)最长和谐子序列
  • TypeScript 安装使用教程
  • 电子面单系统开发全解析
  • 深度学习进阶:自然语言处理的推荐点评
  • 杭州来未来科技 Java 实习面经
  • STM32——代码开发顺序
  • 模型部署与推理--利用python版本onnxruntime模型部署与推理
  • 【仿muduo库实现并发服务器】Acceptor模块
  • 微信小程序21~30
  • grom使用mysql快速上手
  • nginx配置websocket
  • 如何在电脑上完全抹去历史记录
  • Ubuntu 20.04 下 OpenVINO 2024 安装与配置