7天学会plc加机器视觉关于运动控制部份,配套视频在bib

利用ai 高效学习,通常半个月能学会plc 加机器视觉

以下是运动控制这么份,大家主要是先会采集数据,标记数据就好,至于训练和使用这些都 可交给ai 来完成
以下主要是搭环境,我是任何技术的入门必做,
详细操作可以bibi 上查对应视频
LingBot-VLA(灵波 VLA)完整使用 + 微调训练教程

LingBot-VLA 是蚂蚁灵波开源 VLA 具身模型(视觉 - 语言 - 动作) ,基座 4B,只需要 150 条真机示教数据就能微调适配新机械臂(SO100 / 乐聚 / 自研臂) ,分:环境安装→权重下载→推理使用→数据集制作→后训练微调→真机部署五大步骤。

硬件底线:单卡≥24G 显存(3090/4090/A6000);推荐 4090 (24G) 起步;系统优先 Ubuntu22.04/24.04,Windows 可用 WSL2。

为了录这个课我先买了一张显卡,后面我们还会续更新

一、新建 Conda 环境 & 安装依赖(固定 Python3.12,别用 3.8/3.10,会依赖冲突)

打开 Anaconda Prompt / 终端,逐条执行:

bash

复制代码
# 1.创建专属环境
conda create -n lingbotvla python=3.12 -y
conda activate lingbotvla

# 2.拉取源码
git clone https://github.com/Robbyant/lingbot-vla.git
cd lingbot-vla

# 3.一键安装全依赖(含torch2.8、CUDA12.8、flash-attn、lerobot)
bash install.sh

坑点:install.sh编译flash-attn2.8.3 很慢,编译失败就手动装预编译包:pip install flash-attn --no-build-isolation

二、下载模型权重(国内优先魔搭 ModelScope,避开 HF 翻墙)

需要两个权重:LingBot-VLA-4B 基座 + Qwen2.5-VL-3B-Instruct(视觉语言底座)

1、安装下载工具

bash

复制代码
pip install modelscope huggingface_hub -i https://pypi.tuna.tsinghua.edu.cn/simple

2、魔搭一键下载(推荐)

bash

复制代码
# 1)下载LingBot-VLA-4B主模型
modelscope download --model Robbyant/LingBot-VLA-4B --local-dir ./lingbot-vla-4b

# 2)下载Qwen2.5-VL基座
modelscope download --model Qwen/Qwen2.5-VL-3B-Instruct --local-dir ./Qwen2.5-VL-3B-Instruct

下载完成目录结构:

plaintext

复制代码
lingbot-vla/
├─ lingbot-vla-4b/   # VLA主权重
├─ Qwen2.5-VL-3B-Instruct/ # 多模态底座

三、快速使用:本地推理(仿真 / 单步测试,不用机器人硬件)

方式 1:命令行单指令测试(输入文字指令 + 图片,输出机器人动作)

bash

复制代码
python infer_single.py \
--model_path ./lingbot-vla-4b \
--tokenizer_path ./Qwen2.5-VL-3B-Instruct \
--image_path ./test.jpg \
--prompt "把红色方块夹到盒子里"

输出:关节动作序列(6/7/14 维机械臂关节值)

方式 2:RoboTwin 仿真部署(无实体机械臂,软件仿真运行)

bash

复制代码
# 启动仿真服务端
bash run_server.sh
# 新开终端启动仿真客户端,自动加载VLA控制虚拟机械臂
bash run_robotwin_client.sh

打开可视化界面,输入自然语言:拿起水杯放到桌面右侧,虚拟机械臂自动执行。

方式 3:真机硬件部署(SO100 / 乐聚机械臂)

采用WebSocket C/S 架构

  1. 服务端:bash run_server.sh(跑 VLA 大模型,GPU 端)
  2. 机械臂客户端:在机械臂控制器运行驱动脚本,自动采集摄像头画面 + 发送指令,接收模型动作控制电机。

四、训练(核心:后训练微调,不用从零预训练,只用少量自有示教数据)

LingBot-VLA不做全参数预训练 ,官方只开放后训练 (Post-training 微调),150 条演示数据即可适配新任务 / 新机械臂。

步骤 1:采集 & 制作数据集(必须 LeRobot 数据集格式)

两种采集方案:

  1. 真机示教采集(推荐):手动拖动机械臂复现任务(如夹取、堆叠),相机录画面 + 同步记录关节数据,工具自动打包为 LeRobot 数据集;
  2. 仿真采集 :RoboTwin 仿真内录制轨迹生成数据集。数据集目录示例:./data/my_task_data/(内含 episode 录像 + 关节 json)

步骤 2:配置机器人 yaml(适配自己机械臂关节维度)

复制模板修改:

bash

复制代码
cp configs/robot_configs/robotwin.yaml configs/robot_configs/my_arm.yaml

修改 yaml:关节数量、观测维度、动作归一化范围(关键!训练前必须算数据均值方差)

步骤 3:数据集统计归一化(必做,模型读取数据前提)

bash

复制代码
python tools/compute_norm_stats.py \
--dataset_path ./data/my_task_data \
--robot_cfg configs/robot_configs/my_arm.yaml

生成norm_stats.json放到数据集目录。

步骤 4:启动微调训练(单卡 / 多卡 FSDP 分布式)

单卡 4090 训练命令(最常用)

bash

复制代码
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
bash train.sh tasks/vla/train_lingbotvla.py ./configs/vla/finetune_single.yaml \
--model.model_path ./lingbot-vla-4b \
--model.tokenizer_path ./Qwen2.5-VL-3B-Instruct \
--data.train_path ./data/my_task_data \
--data.robot_config configs/robot_configs/my_arm.yaml \
--train.output_dir ./output/my_finetune_model \
--train.micro_batch_size 2
多卡分布式(2/4/8 卡 A6000,FSDP 自动分片)

bash

复制代码
torchrun --nproc_per_node=4 tasks/vla/train_lingbotvla.py ...(同上参数)

出现Doing Post Training即正式开始微调,训练完权重保存在output/my_finetune_model

步骤 5:离线评估 & 导出微调后模型

bash

复制代码
# 离线测试数据集成功率
python eval_vla.py --ckpt ./output/my_finetune_model --eval_data ./data/my_task_data
# 导出可用推理权重
python export_ckpt.py --input_ckpt ./output/my_finetune_model --save_dir ./my_final_vla

五、常用避坑总结,

  1. 版本锁死:Python=3.12、CUDA=12.8、Pytorch=2.8,不要混用你之前 labelImg 的 py3.8 环境;
  2. 显存不足 :调小micro_batch_size=1,开启--train.gradient_checkpointing true
  3. 动作跑偏 :90% 原因是yaml 关节配置错误 / 没做 norm 归一化,重新跑 compute_norm_stats;
  4. 国内下载慢:全程用 ModelScope 替代 HuggingFace 下载权重。
相关推荐
金銀銅鐵2 小时前
n^5 和 n 的个位数是否总相等?
python·数学
aqi006 小时前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵6 小时前
借助 Pygame 探索最大公约数的规律
python·数学·游戏
郝学胜_神的一滴6 小时前
CMake 30:循环语法全解|foreach_while双循环精讲、迭代技巧与实战避坑指南
c++·cmake
ServBay1 天前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队
后端·python
用户8356290780511 天前
如何使用 Python 添加和管理 Excel 批注(完整示例)
后端·python
用户8356290780511 天前
使用 Python 管理 Excel 工作表:创建、复制、删除与重命名
后端·python
荣码1 天前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python
Patrick_Wilson2 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js