File size: 10,048 Bytes
87fc638 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | <div align="center">
<h1 align="center">LeTools-Learning</h1>
[](LICENSE)
[](https://www.python.org/)
[](https://github.com/huggingface/lerobot)
[](http://wiki.ros.org/noetic)
[](https://www.lejurobot.com/zh)
📖 [完整文档](https://www.letools.lejurobot.com)
</div>
---
## 🚀 News
- **[2026-05-30]** : 支持lerobot0.5.2内置的10种模型与原版模型(lingbotvla, pi0, pi0fast, pi05, gr00tN1.7)
- **[2026-06-13]** : 新增离线推理、异步推理与RTC
- **[2026-07-09]** : 新增LingbotVLA-v2模型
## ✨ 核心特性
| 特性 | 说明 |
|:---:|:---|
| 📦 **数据转换** | Rosbag → LeRobot Dataset v3 格式 |
| 🧠 **lerobot集成** | 模仿学习(ACT、DPT、Multi-task DIT)+ VLA(PI0、PI0_FAST、PI0.5、GR00T N1.5、WALL-X、XVLA、SmolVLA)|
| 🔌 **外部模型** | Pi0 / Pi0.5 / GR00T N1.7 / LingbotVla / LingbotVla-v2 |
| 🚀 **仿真&真机** | Kuavo 仿真与真机部署评测流程 |
| 🦾 **多平台支持** | Kuavo 4 Pro · Kuavo 5 · Kuavo 5W |
---
## 📋 环境要求
推荐环境:
- Ubuntu 20.04
- Python 3.12
- ROS Noetic
- 支持 CUDA 的 NVIDIA GPU(训练需要)
- Conda / Miniforge
- Docker 与 NVIDIA Container Toolkit(仿真或容器化 ROS 工作流需要)
---
## 🛠️ 安装
**1. 克隆仓库**
```bash
git clone https://github.com/LejuRobotics/LeTools-Learning.git
cd LeTools-Learning
```
**2. 创建环境**
```bash
conda create -n letools python=3.12
conda activate letools
```
**3. 一键安装依赖**
```bash
source /opt/ros/noetic/setup.bash
chmod +x setup_env.sh
bash setup_env.sh
```
> 📘 完整安装步骤见 [安装指南](https://www.letools.lejurobot.com/docs.html#get_started/installation.md)
---
## 🚀 快速开始
### 📊 Step 1 — 数据转换:Rosbag → LeRobot
编辑 `configs/data/KuavoRosbag2Lerobot.yaml`:
```yaml
rosbag:
mode: normal
rosbag_dir: /path/to/rosbags
target_dir: /path/to/output_parent
dataset:
platform_type: "4pro" # 4pro, 5, or 5w
eef_type: leju_claw # leju_claw, rq2f85, or qiangnao
which_arm: both # left, right, or both
task_description: "Pick and Place"
```
```bash
python kuavo_data/CvtRosbag2Lerobot.py
```
> 输出目录:`/path/to/output_parent/lerobot` · 详情见 [数据准备](https://www.letools.lejurobot.com/docs.html#tutorials/data_preparation.md)
---
### 🧠 Step 2 — 策略训练
编辑配置文件,例如 `configs/train/lerobot/act.yaml`:
```yaml
dataset:
repo_id: "lerobot/your_dataset" # 标识名,可任意起
root: /path/to/your/lerobot # 本地 lerobot 数据集目录
training:
resume: false
output_dir: "outputs/train/act"
job_name: "act"
batch_size: 32
steps: 100000
save_freq: 20000
num_workers: 8
seed: 1000
```
```bash
python kuavo_model/train.py --policy act
```
<details>
<summary>📝 常用训练参数</summary>
| 参数 | 说明 |
|:---|:---|
| `--policy` | **必填**,支持:`act` `diffusion` `pi0` `pi0_fast` `pi05` `gr00t` `smolvla` `xvla` `multi_task_dit` `wall_x` |
| `--mode simple` | 默认模式,先读 `total/<policy>_total.yaml`,再用 `<policy>.yaml` 覆盖常用字段 |
| `--mode total` | 只读取完整配置 |
| `--launcher python` | 默认,单机单卡 |
| `--launcher accelerate` | 单机多卡,需先配置 `configs/accelerate/accelerate_config.yaml` |
| `--dry-run` | 只打印解析后的命令和配置,不真正启动训练 |
| `--no-timestamp` | 不为输出目录追加时间戳 |
</details>
> 📘 更多说明见 [LeRobot 模型训练](https://www.letools.lejurobot.com/docs.html#tutorials/lerobot_training.md) · [原生模型训练](https://www.letools.lejurobot.com/docs.html#tutorials/model_training.md)
---
### 🚁 Step 3 — 推理部署
编辑 `configs/deploy/deploy.yaml`:
```yaml
env:
inference_env: sim # sim=仿真, real=真机
platform_type: "4pro"
which_arm: both
eef_type: rq2f85
ros_rate: 10
inference:
policy_type: act # 策略名称
pretrained_path: /path/to/checkpoint # 权重路径
task_prompt: "robot manipulation" # VLA 策略需指定 prompt
```
```bash
python kuavo_deploy/eval.py
```
<details>
<summary>🔌 外部模型部署</summary>
外部模型位于 `kuavo_model/external_models/`,当前集成:
- `openpi` · `gr00tn1d7` · `lingbot-vla` · `lingbot-vla-v2`
均可通过 `kuavo_server` adapter 接入统一部署流程。使用外部模型时:
1. 先启动模型服务器
2. 在部署配置中设置 `inference.policy_type: client`
</details>
> 📘 详情见 [推理与部署](https://www.letools.lejurobot.com/docs.html#tutorials/inference.md)
---
## 🗂️ 项目结构
```text
.
├── configs/ # 数据、训练、部署、平台配置
│ ├── data/ # Rosbag -> LeRobot 数据转换配置
│ ├── train/lerobot/ # LeRobot simple/total 训练配置
│ ├── deploy/ # 仿真 / 真机部署配置
│ ├── platform/ # Kuavo 平台关节与机器人映射
│ └── accelerate/ # 多卡训练配置
├── kuavo_data/ # 数据转换与数据处理工具
├── kuavo_model/ # 训练入口与外部模型目录
├── kuavo_deploy/ # ROS 部署、评测、仿真/真机环境
├── kuavo_server/ # 标准化模型服务 adapter
├── third_party/ # LeRobot 等第三方子模块
├── lerobot_patches/ # 上游兼容补丁
└── outputs/ # 训练与评测输出
```
## 📚 文档导航
| 主题 | 文档 |
| ------------ | ------------------------------------------------------------------------------------------------ |
| 项目介绍 | [查看文档](https://www.letools.lejurobot.com/docs.html#get_started/intro.md) |
| 安装指南 | [查看文档](https://www.letools.lejurobot.com/docs.html#get_started/installation.md) |
| 快速开始 | [查看文档](https://www.letools.lejurobot.com/docs.html#tutorials/quick_start.md) |
| 数据准备 | [查看文档](https://www.letools.lejurobot.com/docs.html#tutorials/data_preparation.md) |
| LeRobot 模型训练 | [查看文档](https://www.letools.lejurobot.com/docs.html#tutorials/lerobot_training.md) |
| 外挂模型训练 | [查看文档](https://www.letools.lejurobot.com/docs.html#tutorials/model_training.md) |
| 推理与部署 | [查看文档](https://www.letools.lejurobot.com/docs.html#tutorials/inference.md) |
| 新策略拓展 | [查看文档](https://www.letools.lejurobot.com/docs.html#tutorials/bring_policies.md) |
## 💬 支持与反馈
我们鼓励通过 GitHub 渠道反馈问题,使之可被搜索、归档,也方便后来者复用。
| 我想要... | 推荐渠道 |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------- |
| 报告 Bug 或运行时报错 | [GitHub Issues](https://github.com/LejuRobotics/LeTools-Learning/issues/new?labels=bug)(请附环境信息、复现步骤、完整 traceback) |
| 提交新功能建议 / 模型接入需求 | [GitHub Issues](https://github.com/LejuRobotics/LeTools-Learning/issues/new?labels=enhancement) | |
| 国内用户交流群 | QQ 群 / 微信群入群方式见 [社区交流](https://www.letools.lejurobot.com/docs.html#troubleshooting/community.md) |
| 项目合作 / 企业级支持 | [lejurobot@lejurobot.com](mailto:lejurobot@lejurobot.com) |
**提交 Issue 前请先:**
1. 搜索 [已有 Issues](https://github.com/LejuRobotics/LeTools-Learning/issues?q=is%3Aissue) 和 [常见问题 FAQ](https://www.letools.lejurobot.com/docs.html#troubleshooting/faq.md),避免重复。
2. 阅读 [贡献指南](https://github.com/LejuRobotics/LeTools-Learning/blob/main/CONTRIBUTING.md) 了解分支策略与 PR 流程。
3. 使用对应的 [Issue 模板](https://github.com/LejuRobotics/LeTools-Learning/issues/new/choose),填全环境与复现信息。
**响应预期:** 本项目由乐聚机器人算法团队在工作时间维护。我们会尽力响应所有公开渠道的反馈,但**不对修复时间作正式 SLA 承诺**;如需企业级保障,请走商业合作邮箱。
**乐聚内部成员:内部沟通渠道**(外部用户可忽略)
内部沟通流程不公开维护在本仓库,请通过以下入口:
- **KDC 用户群**(飞书):日常使用答疑
- **飞书表格**:缺陷提报 / 意见反馈 填入飞书表格,将会按严重等级流转(严重缺陷 → 紧急修复;普通缺陷 → 算法部临时方案 + 正式版本修复;意见建议 → 评审后纳入计划)
- **飞书项目**:如需新增全新的功能(如新模型接入)走正式需求流程
详细流程请见公司内部 Wiki。
## 🙏 致谢
本项目构建在以下开源项目和生态之上:
- [LeRobot](https://github.com/huggingface/lerobot)
- [OpenPI](https://github.com/Physical-Intelligence/openpi)
- [NVIDIA Isaac GR00T](https://github.com/NVIDIA/Isaac-GR00T)
- [Lingbot-VLA](https://github.com/robbyant/lingbot-vla)
- Kuavo 人形机器人软件生态
## 📄 许可证
本仓库基于 [GNU General Public License v3.0](LICENSE) 开源。
|