简介
要基于端到端实现一个有双臂的轮足机器人, 可以基于语音控制关灯,捡东西丢垃圾桶里,把地上的东西放桌子上,叠衣服等。
曹志伟
搭建并维护 Agent-VLA-LLM 解耦协作框架,实现 VLA 服务接口、配置管理、Git 协作流程和本地联调测试。同时负责采集机器人任务数据、训练 SmolVLA 模型,并将训练好的模型接入框架,实现捡球、关灯等桌面机器人技能的可扩展部署。
第一周
week1
一、框架核心工作
本周完成了桌面端机器人 Demo 第一版的整体技术框架设计与基础代码搭建。目标是构建一个可扩展、可替换、便于多人协作开发的 Agent + VLA + LLM 解耦框架,使上层 Agent 可以根据用户自然语言输入,选择调用具身智能模型或通用大语言模型。
框架目录位于:
/home/czw1/ChenLong-Robot-Internship/agent_vla
整体架构设计如下:
用户输入
|
v
Agent API
|
+-- 机器人任务 -> VLA Service -> SmolVLA / LeRobot / 后续 Ascend NPU
|
+-- 通用问答 -> LLM Service -> OpenAI / Ollama / 本地大模型
本周实现了三个核心服务:
-
Agent API- 作为系统统一入口,接收用户输入。
- 根据用户输入判断是机器人任务还是通用问答。
- 将机器人任务映射为固定的
skill_id,例如ball_pick_v1。 - 根据路由结果调用 VLA Service 或 LLM Service。
-
VLA Service- 负责管理机器人技能。
- 提供
GET /v1/skills和POST /v1/execute接口。 - 当前实现了
mockprovider 和lerobot_rolloutprovider。 - 后续可以新增
ascend_vlaprovider,用于 Orange Pi AI Pro / Ascend NPU 推理。
-
LLM Service- 负责通用语言模型能力。
- 提供
POST /v1/generate接口。 - 当前实现了
mockprovider。 - 后续可以扩展 OpenAI、Ollama、Qwen、本地大模型等 provider。
当前核心代码结构如下:
agent_vla/
configs/
app.yaml # 全局配置:路由规则、技能、模型路径、服务地址
src/
common/ # 共享 schema、配置读取、HTTP 工具
agent_api/ # Agent 入口、意图路由、工具调用
vla_service/ # VLA 服务和 provider
llm_service/ # LLM 服务和 provider
scripts/
run_agent_api.sh
run_vla_service.sh
run_llm_service.sh
run_mock_stack_test.sh
smoke_test.sh
docs/
architecture.md
contracts.md
development_plan.md
框架中的核心解耦点是 src/common/schemas.py。Agent、VLA、LLM 三部分统一使用这里定义的请求和响应结构,包括:
UserRequest
AgentResponse
ToolCall
VLAExecuteRequest
VLAExecuteResponse
LLMGenerateRequest
LLMGenerateResponse
通过这种方式,Agent 不需要关心 VLA 底层是 LeRobot、PyTorch、ONNX、CANN 还是 Orange Pi NPU;也不需要关心 LLM 底层是 OpenAI、Ollama 还是本地模型。只要接口协议不变,底层 provider 可以独立替换。
本周还完成了 mock 栈测试:
cd /home/czw1/ChenLong-Robot-Internship/agent_vla
bash scripts/run_mock_stack_test.sh
测试结果:
- 输入“帮我把球捡起来”可以正确路由到
robot.pick_ball,并调用 VLA Service。 - 输入
pick ball可以正确路由到robot.pick_ball。 - 输入“北京有什么旅游景点”可以正确路由到
llm.general_qa,并调用 LLM Service。
整体来看,第一版框架已经具备以下能力:
- Agent、VLA、LLM 三方解耦。
- 支持通过配置注册机器人技能。
- 支持通过 provider 替换 VLA 或 LLM 后端。
- 支持 dry-run,便于在不控制真实机械臂的情况下联调接口。
- 为后续 Orange Pi AI Pro / Ascend NPU 部署预留了扩展位置。
二、模型核心工作
本周完成了 LeRobot / SmolVLA 相关环境调试、硬件链路验证、数据采集参数设计和训练部署方案设计。
当前硬件与环境约定如下:
系统环境:WSL2 Ubuntu 24.04
Python 环境:conda env lerobot
机器人框架:LeRobot
具身模型:SmolVLA
从臂:SO101 follower,/dev/ttyACM0
主臂:SO101 leader,/dev/ttyACM1
摄像头:USB Camera,/dev/video0
已完成的硬件链路验证包括:
- SO101 follower 从臂可以正常连接。
- SO101 leader 主臂可以正常连接。
- 主从臂 teleoperation 可以跑通。
- USB 摄像头可以被 OpenCV 识别。
- SmolVLA 相关依赖和 GPU 训练环境可用。
摄像头调试过程中确认了一个关键参数:摄像头实际回报 FPS 为 30。如果在 LeRobot 配置中写成 fps=10,会出现校验错误:
OpenCVCamera(0) failed to set fps=10 (actual_fps=30.0)
因此后续摄像头配置统一固定为:
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 160, height: 120, fps: 30, fourcc: MJPG} }"
这里选择 160x120 是为了保证 WSL2 + USB 摄像头 + SmolVLA 推理链路足够稳定。摄像头硬件 FPS 使用 30,而数据集保存频率使用 --dataset.fps=10,两者不是同一个参数。
第一版 SmolVLA 任务定义为:
Pick up the ball and place it in the target area.
也就是桌面静态捡球并放到目标区域。当前设计的数据集名称为:
czw1/so101_ball_pick_v1
正式采集命令设计如下:
source /home/czw1/miniforge3/etc/profile.d/conda.sh
conda activate lerobot
cd /home/czw1/lerobot
lerobot-record \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=follower \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 160, height: 120, fps: 30, fourcc: MJPG} }" \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=leader \
--dataset.repo_id=czw1/so101_ball_pick_v1 \
--dataset.single_task="Pick up the ball and place it in the target area." \
--dataset.fps=10 \
--dataset.episode_time_s=15 \
--dataset.reset_time_s=8 \
--dataset.num_episodes=60 \
--dataset.video=true \
--dataset.push_to_hub=false \
--display_data=false \
--resume=false
后续如果需要追加数据,保持同一个 dataset.repo_id,并将:
--resume=true
打开即可。
为了保证后续可迭代,本周还确定了数据集版本规则:
czw1/so101_ball_pick_v1 静态桌面捡球并放到目标区
czw1/so101_ball_pick_v2 增加球位置、光照、背景、起始姿态变化
czw1/so101_ball_handover_v1 人手递球,机械臂夹住后放置
czw1/so101_ball_roll_v1 慢速滚动球任务
czw1/so101_light_switch_v1 关灯任务
训练方面,由于当前只有一个真实摄像头,而 SmolVLA base 默认期望多个摄像头输入,因此训练时需要做两个处理:
--rename_map="{ observation.images.front: observation.images.camera1 }"
--policy.empty_cameras=2
其中 rename_map 用于把数据集中的 front 摄像头映射到 SmolVLA 期望的 camera1,empty_cameras=2 用于补齐另外两个空摄像头输入。
第一版训练命令设计如下:
source /home/czw1/miniforge3/etc/profile.d/conda.sh
conda activate lerobot
cd /home/czw1/lerobot
lerobot-train \
--policy.path=lerobot/smolvla_base \
--policy.repo_id=czw1/so101_ball_pick_smolvla_v1 \
--policy.push_to_hub=false \
--dataset.repo_id=czw1/so101_ball_pick_v1 \
--rename_map="{ observation.images.front: observation.images.camera1 }" \
--policy.empty_cameras=2 \
--batch_size=1 \
--steps=2000 \
--save_freq=500 \
--output_dir=outputs/train/so101_ball_pick_smolvla_v1 \
--job_name=so101_ball_pick_smolvla_v1 \
--policy.device=cuda \
--wandb.enable=false
如果效果不够,继续训练到 5000 steps:
lerobot-train \
--policy.path=lerobot/smolvla_base \
--policy.repo_id=czw1/so101_ball_pick_smolvla_v1 \
--policy.push_to_hub=false \
--dataset.repo_id=czw1/so101_ball_pick_v1 \
--rename_map="{ observation.images.front: observation.images.camera1 }" \
--policy.empty_cameras=2 \
--batch_size=1 \
--steps=5000 \
--save_freq=500 \
--output_dir=outputs/train/so101_ball_pick_smolvla_v1 \
--job_name=so101_ball_pick_smolvla_v1 \
--policy.device=cuda \
--wandb.enable=false \
--resume=true
部署测试方案使用 lerobot-rollout。考虑到当前链路推理速度较慢,先使用低频安全测试:
lerobot-rollout \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=follower \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 160, height: 120, fps: 30, fourcc: MJPG} }" \
--policy.path=/home/czw1/lerobot/outputs/train/so101_ball_pick_smolvla_v1/checkpoints/002000/pretrained_model \
--rename_map="{ observation.images.front: observation.images.camera1 }" \
--task="Pick up the ball and place it in the target area." \
--fps=1 \
--duration=15 \
--display_data=false \
--return_to_initial_position=false
这一部分的核心成果是:确定了第一版 SmolVLA 模型的任务、采集参数、训练参数、继续训练方式和部署测试方式,并且将这些参数与 agent_vla 框架中的 VLA Service 对接方式统一起来。训练完成后,只需要把 checkpoint 路径写入 configs/app.yaml,即可通过 Agent 调用 VLA 模型。
此外,本周还调研了可复用的“捡物块 / pick-place”基础模型方案。选择先从捡球、捡物块这类任务入手,主要是因为 pick-place 是桌面机器人最基础、最通用的动作单元,很多后续任务都可以拆解为类似能力:
捡球 -> 抓取物体 -> 移动到目标区域 -> 放下
放到桌子上 -> 抓取物体 -> 移动到桌面指定位置 -> 放下
整理桌面 -> 多次执行 pick-place
人手递物 -> 接近物体 -> 闭合夹爪 -> 移动到目标区
当前调研结论是:第一版不直接追求大而全的多任务模型,而是先训练一个稳定的 so101_ball_pick_smolvla_v1,把它作为可复用的桌面抓取基础模型。后续如果捡球效果稳定,再把数据扩展为更通用的捡物块模型,例如:
czw1/so101_pick_object_v1
该数据集可以逐步加入:
- 球
- 方块
- 小积木
- 轻量日用品
- 不同颜色和不同材质的小物体
对应的任务描述可以统一为:
Pick up the object and place it in the target area.
这样可以把模型从“只会捡球”扩展为“能捡常见小物体”,提高后续复用价值。对于 Agent 框架来说,这类能力可以注册成一个通用 VLA 技能:
pick_object_v1:
name: Pick up object
task_prompt: "Pick up the object and place it in the target area."
policy_path: /home/czw1/lerobot/outputs/train/so101_pick_object_smolvla_v1/checkpoints/...
后续 Agent 在理解用户指令时,可以把“捡球”“拿积木”“把这个东西放到目标区”等不同说法统一路由到同一个可复用的 pick_object_v1 技能,从而减少重复训练和重复开发成本。
三、下周主要工作
下周的主要目标是把当前框架从 mock 联调推进到真实模型闭环。
计划工作如下:
- 正式采集
czw1/so101_ball_pick_v1数据集,目标至少 60 条高质量演示。 - 使用 SmolVLA base 训练
so101_ball_pick_smolvla_v1,先训练 2000 steps。 - 使用
lerobot-rollout对捡球任务进行低频部署测试,统计基础成功率。 - 根据测试效果决定是否继续训练到 5000 steps 或补充采集数据。
- 将训练好的 checkpoint 路径写入
agent_vla/configs/app.yaml。 - 将 VLA Service 从
mockprovider 切换为lerobot_rolloutprovider。 - 让 Agent 通过
/v1/chat真实调用 VLA Service 执行捡球任务。 - 接入一个真实 LLM provider,例如 OpenAI、Ollama 或本地模型,用于替换当前 mock LLM。
- 优化 Agent 的意图识别方式,减少纯关键词匹配带来的误判。
- 在捡球任务稳定后,规划第二个技能,例如关灯或放到桌子上。
后续长期方向是将当前 WSL2 桌面端 Demo 逐步迁移到 Orange Pi AI Pro。初期可以让 Orange Pi 只运行 Agent,VLA 推理仍调用 WSL2 服务;等 SmolVLA 到 ONNX / Ascend NPU 的部署链路验证后,再新增 ascend_vla provider,使底层推理切换到 Orange Pi AI Pro / Ascend NPU,而 Agent 层接口保持不变。
宋红
学员主页/目录。侧边栏这一节是折叠的,点击名字展开/收起下面的题目。
基本信息
| 项 | 内容 |
|---|---|
| 姓名 | 宋红 |
| 方向 | AgentOS 编排层(意图识别、指令下发、反馈闭环、失败重试、多轮会话) |
| 项目 | 嘲风 — 桌面机器人 Agent + VLA + LLM Demo 框架 |
| 代码仓库 | agent-llm-vla/src/agent_api/ |
| 周期 | 2026-07-07 ~ |
题目目录
- AgentOS 编排层 — 架构设计、技术选型、开发方案
- 周报 — 每周工作汇报与下步计划
最新进展
本周(07-07 ~ 07-09)完成了项目启动阶段的全部工作:
- 环境搭建:WSL2 Ubuntu-24.04 + venv 隔离环境,mock 栈三服务联调全通过
- 架构调研:产出《Agentos机器人架构调研》(业界 9 项目剖析 + MCP + 小模型引擎 + 边缘部署)
- 总体规划:产出总览四件套(项目大纲、分阶段待办、完整规划、执行约束)
- 开发方案:方案 01(整体计划)和方案 02(编排核心增强)均通过审核,待进入 EXECUTE
- 边界澄清:明确双下游黑盒(机械臂同学A + 底盘同学B)+ 自有路线规划模块
当前处于 第一月(mock) 阶段,方案 02 已 PASS,等待授权进入 S2-S4 编码实现。
备注
- 双轨记录(任务日志 + 任务详情)存于
D:\THU\BeiJing\嘲风\ - 开发方案与审核结果一一对应编号,归档于
开发方案\和审核结果\
AgentOS 编排层
宋红 · AgentOS 编排层技术文档 代码位置:
agent-llm-vla/src/agent_api/配套约束:D:\THU\BeiJing\嘲风\AgentOS任务约束手册.md
一、职责定位
AgentOS 编排层是“嘲风“桌面机器人的决策中枢,负责:
| 能力 | 现状 | 待补 |
|---|---|---|
| 意图识别 | 关键词硬匹配(28行) | 语义/LLM 分类,支持说法多样化 |
| 指令下发 | 已有 VLAClient.execute_skill() | 复用,不重写 |
| 环境交互反馈 | 无 | 解析执行状态 + 视觉判定任务成败 |
| 失败检测与重试 | 无 | 编排状态机:DISPATCH→EXECUTE→JUDGE→RETRY/REPORT |
| 多轮会话 | 无(session_id 仅透传) | 维护 session 上下文 |
核心文件:
router.py— 意图识别与工具路由(主战场)main.py— Agent 服务入口与编排流程tool_clients.py— 调用 VLA/LLM 服务的客户端
二、系统架构
┌─────────────┐
│ 用户语音/文本 │
└──────┬──────┘
│
┌──────▼──────┐
│ ASR 模块 │ SenseVoice-Small (254MB, CER~8%)
│ (音频→文本) │
└──────┬──────┘
│
┌──────▼──────┐
│ Agent API │ ← 我的主战场 (8010端口)
│ 编排状态机 │
└──┬──────┬───┘
│ │
┌──────────▼┐ ┌▼──────────┐
│ VLA Service│ │ LLM Service│
│ (8011端口) │ │ (8012端口) │
└──────┬─────┘ └───────────┘
│
┌──────────┼──────────┐
│ │ │
┌────▼────┐ ┌──▼───┐ ┌───▼────┐
│机械臂(VLA)│ │底盘(Nav)│ │视觉判定 │
│ 同学A │ │ 同学B │ │(YOLO等)│
└─────────┘ └──────┘ └────────┘
三服务解耦架构(已跑通):
- Agent API: 8010 — 编排中枢
- VLA Service: 8011 — 视觉语言动作(机械臂技能)
- LLM Service: 8012 — 大语言模型(通用问答)
三、编排状态机(方案02,已审核通过)
DISPATCH(意图识别)
│
├─ 安全检查:置信度 < 0.75 → REPORT_FAIL
│
▼
EXECUTE(调用执行)
│
├─ dry-run 预演 → 碰撞/边界检查
│
▼
JUDGE(视觉判定)
│
├─ 成功 → DONE
│
└─ 失败 → RETRY(≤ max_retries 次)
│
└─ 超限 → REPORT_FAIL → TTS 报告
关键设计决策:
- router 只做纯决策:
(intent, ToolCall)输出签名不变,下游零改动 - orchestrator 管执行编排:抽成独立
orchestrator.py,main.py 保持薄 - MockJudge 走 metadata 注入:smoke_test 可覆盖“一次过“与“失败重试“两条路径
- Judge 契约:
{success, detail, evidence},mock 阶段 evidence 恒{}
四、两个下游黑盒
| 下游 | 负责人 | 我下发什么 | 我不关心什么 |
|---|---|---|---|
| 机械臂(VLA) | 同学A | skill_id(如 ball_pick_v1) | 手臂怎么动 |
| 底盘移动 | 同学B | 高层路径/路线命令 | 轮子怎么驱动 |
路线规划是自有模块(route_planner):高层路线决策归我,轮子低层电机驱动归同学B。复合任务中 orchestrator 交替调度 VLA 和底盘。
五、技术选型
| 组件 | 选型 | 理由 |
|---|---|---|
| ASR | SenseVoice-Small (254MB) | 中文 CER~8%,20x 实时,纯 CPU |
| 意图识别(规则层) | 文本归一化 + 扩充同义词 | mock 阶段即见效 |
| 意图识别(LLM兜底) | Qwen2.5-1.5B/3B | 默认关闭,预留插槽 |
| 视觉判定(简单) | YOLO-small | 本地 CPU 实时,灯灭/球进桶 |
| 视觉判定(语义) | 云端 VLM | 叠衣服整齐度等,低频 |
| 边缘部署 | 昇腾310B (4GB) → K3 (8GB) | 310B 先演示,K3 后落地 |
| 推理后端 | llama.cpp + CANN/Q4_K_M | 社区成熟,310B 适配 |
六、开发阶段规划
第一月(mock): S1 ✅ → S2 → S3 → S4 → S5 → S6
第二月(仿真): S7 真实VLA仿真 → S8 本地LLM决策脑 → S9 关灯闭环
进阶: S10 边缘部署 → S11 决策引擎Phase3 → S12 MCP/SSE/多轮
路线规划(SR): SR1 接口占位 → SR2 骨架 → SR3 复合任务状态机
当前进度:S1 已完成,方案02(S2-S4)已 PASS,待进入 EXECUTE。
七、约束与红线
- 不破坏三服务解耦架构
- 不破坏
schemas.py契约(只允许向后兼容新增) - 不改 VLA/LLM 同事的 provider 内部代码
- 不在 agent 层 import lerobot / 绑定具体大模型 SDK
- 真机动作前必须 dry-run;危险动作需安全确认
- commit/PR 只署名本人,不添加任何 AI 共同署名
详见 D:\THU\BeiJing\嘲风\AgentOS任务约束手册.md。
第 1 周(2026-07-07 ~ 2026-07-09)
宋红 · AgentOS 编排层 · 暑期实习第一周 阶段声明:第一月(mock) 详细记录:
D:\THU\BeiJing\嘲风\任务日志.md+任务详情.md
一、本周工作总览
| 日期 | 阶段 | 工作内容 | 状态 |
|---|---|---|---|
| 07-07 | 阶段0 | 项目熟悉与任务约束建立 | ✅ 完成 |
| 07-07 | 阶段1 | mock 栈环境配置与联调验证 | ✅ 完成 |
| 07-07 | 阶段2 | 技术选型调研与整体计划确认 | ✅ 完成 |
| 07-08 | 阶段2 | 依据审核结果01进行整改 | ✅ 完成 |
| 07-08 | 阶段2 | 开发方案独立归档并编号 | ✅ 完成 |
| 07-08 | 阶段3 | 产出方案02(编排核心增强) | ✅ 完成 |
| 07-08 | 阶段3 | 依据审核02优化方案02 | ✅ 完成 |
| 07-09 | 阶段3 | 产出总览四件套文档 | ✅ 完成 |
| 07-09 | 阶段3 | 边界澄清:双下游黑盒 + 路线规划 | ✅ 完成 |
二、关键成果
2.1 环境搭建与联调验证
- WSL2 Ubuntu-24.04 + venv 隔离环境(fastapi/uvicorn/pydantic/pyyaml)
- 三服务(Agent:8010 / VLA:8011 / LLM:8012)mock 栈联调全通过
- smoke_test 四项测试全过:
/health→ ok- “帮我把球捡起来” →
robot.pick_ball→ball_pick_v1(中文命中) - “pick ball” → 同技能(英文命中)
- “北京有什么旅游景点” →
llm.general_qa(LLM 兜底)
- 修复 WSL 挂载导致的脚本 mode 位漂移(
git config core.fileMode false)
2.2 架构调研
产出《Agentos机器人架构调研》(36KB),覆盖:
- 业界 9 项目剖析(rosaOS、ROSA、ros-mcp-server、LiteVLA-Edge、OK-Robot、Octo、RAI、EMOS、Code as Policies)
- MCP 协议与动态能力发现
- 小模型决策引擎设计(Qwen2.5-1.5B/3B + Code as Policies)
- 任务编排状态机(DAG 流转:DISPATCH→EXECUTE→JUDGE→RETRY)
- 边缘硬件部署方案(昇腾310B / 进迭时空K3)
2.3 总体规划(总览四件套)
| 文档 | 内容 | 用途 |
|---|---|---|
| 01-项目大纲 | 项目简介、职责边界、六层架构、技术栈、硬件路线 | 给不了解项目的人的入口 |
| 02-分阶段任务待办 | Phase0~Phase5 极细粒度可勾选待办 | 给要动手的人的 checklist |
| 03-项目完整规划 | 各阶段具体实现方式 + 可选方案利弊 | 给要做技术决策的人 |
| 04-Agent执行约束 | 契约铁律、命名风格、provider 可插拔、安全闸门 | 给写代码的 agent 的紧箍咒 |
2.4 开发方案(已通过审核)
- 方案01:整体计划与开发大纲(ASR 选型、视觉判定分层、首发任务为关灯)
- 方案02:编排核心增强(S2 意图识别 + S3 反馈闭环 + S4 失败重试状态机)
- 审核结论:PASS(可进入 EXECUTE)
- 吸收审核02全部意见(Judge 契约补 evidence、职责切分钉死、MockJudge 不硬编码等)
2.5 边界澄清
- 明确两个隔离的下游黑盒:机械臂(同学A)+ 底盘移动(同学B)
- 路线规划是自有模块(route_planner),夹在 orchestrator 与底盘之间
- 复合任务中 orchestrator 交替调度 VLA 和底盘
- 四份总览文档全部贯通新边界
三、关键决策与取舍
| 决策 | 选择 | 排除 | 理由 |
|---|---|---|---|
| 架构定位 | 多端到端技能 + AgentOS 上层编排 | 单体端到端 | 各技能可独立开发,AgentOS 只做壳 |
| ASR 方案 | 复用 SenseVoice-Small | 自研语音识别 | 254MB、20x 实时、CER~8%,成熟领域不造轮子 |
| 视觉判定 | 本地 YOLO 为主,云端 VLM 为辅 | 全云端 | 快+断网可用,语义判定才上云 |
| 首发任务 | 关灯 | 捡垃圾丢垃圾桶 | 单步定点、反馈直观、最小闭环验证 |
| 编排状态机 | 硬边界 DAG 状态机 | 纯 ReAct 自由发挥 | OK-Robot 经验:刚性状态机大幅提升物理环境成功率 |
| 边缘硬件 | 310B 先演示 → K3 后落地 | 锁定单一平台 | 310B 4GB 内存先跑通,K3 8GB 60TOPS 后上量 |
四、遗留问题与待确认项
需与队友/带教对齐
| # | 问题 | 需要谁 |
|---|---|---|
| 1 | 上游给的是音频流还是音频文件?采样率/格式? | 录音端同学 |
| 2 | 判定图像从哪来?(板载相机/仿真渲染/VLA 回传) | VLA 同学 |
| 3 | 真实 VLA 关灯策略何时给?仿真器是哪套? | VLA 同学 |
| 4 | 命令颗粒度选 A(语义目标)/B(waypoints)/C(离散指令)? | 底盘同学 B |
| 5 | 移动执行结果字段、坐标系/地图来源 | 底盘同学 B |
| 6 | 复合任务分解由谁做? | 底盘同学 B + 带教 |
可推后(不阻塞当前实现)
- 310B 推理后端选型(MindIE vs llama.cpp CPU)
- Code-as-Policies 路径 A/B
- MCP 迁移时机
- 断网降级细化策略
五、下周计划
- 进入 EXECUTE 阶段:按方案02执行 S2→S3→S4 编码
- S2 意图识别增强:文本归一化 + 扩充同义词 + LLM 分类兜底插槽
- S3 反馈闭环骨架:新增
orchestrator.py,MockJudge 实现 - S4 失败重试状态机:DISPATCH→EXECUTE→JUDGE→RETRY/REPORT
- 每步跑
smoke_test.sh回归验证 - 收尾补双轨记录 + 结构化任务清单,交审核03
- (可选)开始方案03 准备:S5 ASR + S6 视觉判定
六、产出文件清单
| 文件 | 位置 | 大小 |
|---|---|---|
| AgentOS任务约束手册 | D:\THU\BeiJing\嘲风\ | ~10KB |
| 任务日志 | D:\THU\BeiJing\嘲风\ | ~14KB |
| 任务详情 | D:\THU\BeiJing\嘲风\ | ~30KB |
| Agentos机器人架构调研 | D:\THU\BeiJing\嘲风\ | ~36KB |
| 开发方案 01/02 | D:\THU\BeiJing\嘲风\开发方案\ | ~11KB + ~15KB |
| 审核结果 01/02 | D:\THU\BeiJing\嘲风\审核结果\ | - |
| 总览四件套 | D:\THU\BeiJing\嘲风\总览\ | ~51KB |
| 本地优先架构讨论 | D:\THU\BeiJing\嘲风\本地优先架构讨论\ | ~60KB |
蒋丰泽
在 rk3588 开发板上开发轮足机器人,实现平衡控制、机械臂托举等功能。并将 Starry OS 改造成实时操作系统,移植到机器人上。
核心任务
在此项目中我负责机器人的结构选择,硬件配置,平衡控制。
选型
针对轮足机器人在市面上进行了大量调研,选型,发现在售的成熟产品不多。寻找了开源项目,成熟的路面级也很少。
努力寻找轮足机器人合适的机械结构以及相应电机,得出合适的架构有两种,一个是四电机方案,一个是六电机方案。
四电机:简单、轻量、高效率。
六电机:增加腿部自由度,提高地形适应能力和运动能力。
最后综合考虑需求暂时确定六电机结构。
准备
为轮足机器人所需要的算法和模型进行环境配置和学习,准备为轮足机器人的平衡控制进行算法控制和模型训练。配置了isaac gym环境,并学习与之相关的使用教程,和强化学习的知识。为后面机器人可能需要的建模做足了充分准备。
下周工作
等下周有了原型机器,对其进行研究算法控制,和模型训练。为其接入大脑,移植所需要的驱动等。