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过,因为标定参数、相机的安装都不一样。后续继续尝试,如果理解错误请大佬指点。