可执行任务 · 可量化指标 · 可答辩证据

从“看懂课程”到交付机器人系统

这份工作簿把完整目标拆成 8 个可执行实验。每个实验都包含任务目标、运行命令、评估指标、合格阈值、常见失败和必须提交的证据,帮助零基础机械设计工程师一步步构建就业级作品集。

开始实验链路 离线脚本说明 查看报告可视化 真实工程骨架 进入 Capstone 项目 作品集模板
8核心实验任务
42+交付证据检查项
18关键评估指标
1端到端就业作品集

实验主线

建议按顺序完成。每完成一个实验,就把结果放进 Capstone 作品集对应目录,而不是等最后才整理。

一键生成离线报告

cd website/full-chain-labs
python3 -u full_chain_lab_runner.py --lab all --output reports

用途说明

离线脚本不会替代 ROS2/MoveIt2/真机实验,但能先训练“运行命令、指标阈值、报告产物、失败复盘”的工程闭环。生成的 reports/full_chain_summary.json 可以放入 报告可视化页面 检查。

迁移到真实工程

python3 robot-stack-template/scripts/validate_vla_episode.py robot-stack-template/vla_dataset/sample_episode.json
python3 robot-stack-template/deployment/guarded_policy_gateway.py --action-json robot-stack-template/vla_dataset/sample_action.json --dry-run

真实工程骨架

robot-stack-template 提供 URDF/Xacro、MoveIt2、行为树、VLA数据格式、安全网关和部署 checklist,用于从离线实验迁移到真实机器人项目。

01

传感器标定与数据质量

相机内参、手眼标定、RGB-D/IMU/力觉同步,证明数据可信。

运行命令

python tools/calibrate_camera.py --images data/chessboard --square 0.025
python tools/solve_hand_eye.py --poses data/hand_eye.csv
python tools/check_sync.py --rgb rgb/ --depth depth/ --wrench wrench.csv

合格指标

指标阈值
重投影误差< 0.5 px
手眼平移误差< 5 mm
多传感器时间偏差< 30 ms

必须提交

  • calibration/result.yaml 与误差表
  • 标定图、重投影误差分布、TF 校验截图
  • 失败样例:模糊图、角点不足、时间戳漂移

常见失败

误差很低但抓取偏移:通常是手眼坐标方向、深度尺度或 TF 时间戳错了。必须用独立验证集检查,而不是只看训练图像。

02

机器人建模:CAD 到 URDF/Xacro

把机械结构变成仿真、规划和控制都能使用的机器人模型。

运行命令

xacro robot_description/arm.urdf.xacro > build/arm.urdf
check_urdf build/arm.urdf
ros2 launch robot_description display.launch.py
ros2 run tf2_tools view_frames

合格指标

指标阈值
TF 断链0
joint limit 缺失0
惯量单位错误0

必须提交

  • robot_description/、TF 树截图、RViz/Gazebo 截图
  • 质量、质心、惯量来源说明
  • 从 SolidWorks/CAD 到 URDF 的转换记录

工程提醒

机械设计工程师最容易踩的坑是 kg·mm² 与 kg·m² 的惯量单位转换,以及 visual/collision/inertial 原点不一致。

03

控制算法实现:FK/IK/Jacobian/PID

用最小控制栈证明机械臂能按轨迹稳定运动。

运行命令

python control/fk_ik_check.py --robot build/arm.urdf
python control/trajectory_pid.py --target configs/pick_pose.yaml
python control/evaluate_tracking.py --log logs/control.csv

合格指标

指标阈值
末端位姿误差< 5 mm / 3°
轨迹超调< 10%
关节限位违反0 次

必须提交

  • FK/IK 单元测试、Jacobian 数值校验
  • 目标轨迹 vs 实际轨迹曲线
  • 奇异位形、限速、急停处理说明

练习题

解释为什么 IK 解存在多解;当 Jacobian 接近奇异时,速度控制会出现什么风险?给出一个阻尼最小二乘修复方案。

04

MoveIt2 运动规划与行为树

把“到达目标位姿”升级成可重试、可恢复的任务执行流程。

运行命令

ros2 launch moveit_config demo.launch.py
python planning/run_pick_place.py --scene configs/table_scene.yaml
python planning/evaluate_plans.py --trials 50 --out reports/planning.csv

合格指标

指标阈值
规划成功率> 90%
碰撞轨迹0
失败恢复率> 50%

必须提交

  • MoveIt2 配置、场景文件、行为树 XML/JSON
  • 50 次规划统计表和失败原因分类
  • 重试、回退、安全位姿策略

常见失败

规划成功但执行失败,多数不是“规划器不好”,而是碰撞模型过粗、joint limit 不真实、控制延迟或夹爪工具坐标未对齐。

05

多模态感知与 6D 位姿估计

融合 RGB、深度、点云、力觉或触觉,输出可用于抓取的目标状态。

运行命令

python perception/segment_rgbd.py --rgb rgb.png --depth depth.npy
python perception/estimate_pose.py --cloud object.pcd --model models/object.ply
python perception/evaluate_pose.py --pred pred.json --gt gt.json

合格指标

指标阈值
平移误差< 10 mm
旋转误差< 8°
遮挡失败样例≥ 5 个

必须提交

  • RGB-D 输入、分割 mask、点云、配准可视化
  • 位姿误差表、失败样例和修复策略
  • 感知结果如何进入 MoveIt2 或控制器

面向 VLA

VLA 不是替代感知质量评估的魔法。你仍然要知道视觉 token 或状态估计错在哪里,否则语言指令再聪明也会抓错。

06

模仿学习与 VLA 数据闭环

采集遥操作数据,训练 BC/ACT/Diffusion 或 VLA action head 小规模适配。

运行命令

python learning/record_episode.py --task pick_place --operator teleop
python learning/validate_dataset.py --dataset data/episodes
python learning/train_bc.py --dataset data/episodes --out checkpoints/bc.pt
python vla/format_vla_dataset.py --episodes data/episodes --lang tasks.jsonl

合格指标

指标阈值
有效 episode≥ 100
离线动作误差持续下降
仿真成功率> 70%

必须提交

  • 语言-视觉-动作数据格式说明
  • 训练曲线、验证集指标、rollout 视频
  • 分布偏移失败案例与补数据策略

过渡练习

把“把红色方块放到蓝色区域”拆成语言目标、视觉状态、动作 chunk、终止条件和失败恢复码。

07

世界模型、Sim2Real 与持续学习

量化仿真-真机 gap,用域随机化、系统辨识和少量真实数据缩小差距。

运行命令

python sim/randomize_domain.py --config sim/domain.yaml --trials 200
python sim/evaluate_gap.py --sim logs/sim.csv --real logs/real.csv
python world_model/train_dynamics.py --dataset data/mixed --horizon 20
python continual/evaluate_forgetting.py --tasks old,new

合格指标

指标阈值
Sim2Real gap< 25%
多步预测误差随 horizon 可解释
旧任务保持率> 85%

必须提交

  • 随机化范围、系统辨识参数、消融表
  • 仿真/真实成功率对比和 gap 曲线
  • 持续学习新旧任务评估表

判断题

如果仿真成功率高但真机失败,不要先调大模型。先定位视觉差距、动力学差距、控制延迟和安全限幅是否匹配。

08

真实机器人部署、安全与答辩

把策略接入真实机器人,具备日志、回滚、急停、限速和现场排错能力。

运行命令

ros2 launch deployment bringup_safe.launch.py
python deployment/run_policy_guarded.py --policy checkpoints/bc.pt --dry-run
python deployment/run_policy_guarded.py --policy checkpoints/bc.pt --enable-robot
python deployment/analyze_latency.py --log logs/deploy.csv

合格指标

指标阈值
端到端延迟< 120 ms
真机成功率> 60%
急停/回滚验证100% 可触发

必须提交

  • 部署脚本、SOP、安全 checklist、日志样例
  • 成功/失败/恢复视频,至少 30 次试验统计
  • 答辩用 10 分钟讲稿和岗位能力映射

一票否决

没有急停、安全边界、限速或人工接管记录的真机演示,不算就业级作品;把 LLM/VLA 输出直接发给执行器也不合格。

交付证据清单

每个实验结束后都要把证据放入作品集。面试官应能在 10 分钟内看懂系统,在 60 分钟内复现实验核心结果。

必须有

  • 架构图、模块输入输出、频率和失败码
  • 运行命令、环境版本、随机种子和数据样例
  • 指标表、曲线图、日志样例和失败复盘

建议目录

calibration/
robot_description/
control/
planning/
perception/
learning/
vla/
sim2real/
deployment/
report/

全链路 Troubleshooting

真实机器人系统的错误通常跨越多个模块。排错时先看证据,不要凭直觉乱改参数。

症状:抓取总是偏一侧

优先检查手眼标定方向、深度尺度、TCP 定义、TF 时间戳,而不是先调策略模型。

标定TF

症状:仿真成功真机失败

拆分视觉差距、动力学差距、控制延迟、摩擦/质量参数和执行器限幅。

Sim2Real

症状:训练 loss 低但上线失败

通常是数据覆盖不足或分布偏移。补扰动数据、失败数据、DAgger 或动作平滑。

VLA/IL

症状:规划成功但执行碰撞

检查 collision mesh、规划场景更新频率、夹爪 TCP、关节限位和控制器延迟。

MoveIt2
实验进度 0/8