Robot SysID Lab

Lessons Curriculum Design Review

中文版 · Editorial principles · Course map · Existing lessons

Status: K/L reading and contract pages published; L0, L0-E and L1 have local numerical evidence, 2026-09-26. This document records the agreed scope and tradeoffs from the batch discussion and defines the shared content contract. It owns the K/L teaching sequence and this rollout's scope; the long-term roadmap retains research directions. Numerical values, algorithm settings, asset versions, runtime budgets, and media scripts are frozen after individual reviews. The formal pages claim no numerical results that have not been produced and verified.

K0, K1, L0, and L1 already have lesson pages; both L1 delay and friction experiments are delivered. Independent learner acceptance for L0/L1 remains open. Formal pages now cover K2–K8, L0-E, L1-O, elective L1-S, and L2–L6. Hardware H lessons are outside this round; D06 retains the earlier draft for future discussion.

Review entry points: outcomes · sequence and prerequisites · shared structure and evidence · K cards · L cards · delivery · individual review checklist. Cite lesson IDs in feedback; existing D01–D08 and L anchors remain available.

D01 · What learners should be able to do

The audience is robotics engineers who can read plots and have basic Python experience. The main outcome is independently designing identification experiments, fitting models, and diagnosing failures. L4 also includes one bounded downstream control comparison. RL training is an extension, not a core completion requirement.

After the core sequence, learners should be able to:

  1. Draw a plant boundary, distinguish commands, applied torque, state, and observations, and specify what the fitter may use.
  2. Choose excitation that exposes target effects and assess parameter correlation and coverage limits.
  3. Use controlled comparisons to distinguish optimization failure, insufficient information, and inadequate model structure, then propose a next experiment.
  4. Evaluate predictions on conditions withheld from adjustment and separate parameter recovery, behavioral prediction, and downstream performance claims.
  5. Carry component evidence into whole robots, choose parameter sharing, and report an operating envelope and remaining uncertainty under mismatch.
  6. Generate controller settings from different models using the same design method, then compare them in one Oracle without assuming the identified model wins every metric.

Mathematics uses engineering derivations: explain necessary equations, units, and key steps so learners can change models and objectives. Full proofs and advanced optimization details belong in supplementary reading. Each K lesson answers a general judgment question; L lessons test those judgments with data.

Start with a concrete failure: predict its cause, then compare controlled cases. Retain a verifiable matched baseline, but allow conclusions such as “only a range is constrained” or “another experiment is needed.” Before L2, introduce one main difficulty at a time; from L2 onward, explicitly study coupling and compensating solutions.

Length targets: 10–15 minutes for a K core reading and 25–40 minutes for a small lab explanation and exercise. Divide L2–L6 into continuous sections around individual questions; time local assignments separately. These are writing targets, not measured runtimes. Static reading must support understanding and plot exercises without installing a simulator or using a GPU.

D02 · Learning sequence and lesson boundaries

K0–K8 organize knowledge by topic; L0–L6 increase experiment complexity. Their numbers do not pair one to one. K lessons remain independent and L lessons link the needed sections; completing the entire knowledge track is not a prerequisite. Suffixed labs stay within their existing level and do not renumber delivered lessons.

Stage Recommended reading and experiments Capability gained
Start K0 → K1 → L0 Complete the smallest inertia/damping identification loop
Method K4 → K5 → K6 → L0-E, revisiting L0 Understand excitation, fitting, held-out validation, and weak constraints
Actuators K2 basics → K3 → L1 delay → L1 friction Separate dynamics from the command chain and isolate effects
Observations L1-O; L1-S is an elective branch Separate measurement errors from plant behavior; study limits as needed
Structure K7 → L2 → L3, revisiting coupling/contact in K2 Recognize compensation and validate free space before contact
Whole robot K8 → L4 Compare identification routes and test downstream control effects
Scale and mismatch Default L5 → L6; either is accessible after L4 Study parameter sharing and models that cannot exactly match the system

This is a recommended sequence, not a strict dependency chain. Necessary prerequisites describe capabilities and may be satisfied by equivalent experience; cards list them explicitly. L5 is not required for L6. Reuse K4–K6 throughout. Introduce the relevant K7 idea locally in L1 and study it systematically before L2. Read K8 before L4 and revisit it in L6.

K0/K1 → L0 → K4/K5/K6 → L0-E
                         ↓
                 K2 basics / K3 → L1 delay → L1 friction → L1-O
                                      └→ L1-S (elective)
                 K7 / K2 coupling → L2 → K2 contact / L3 → K8 / L4
                                                             ├→ L5 sharing
                                                             └→ L6 structure mismatch → cross-engine case

The recommended reading path is K0 → K1 → L0 → L1 (including friction) and then the formal K/L pages shown in D02. Every released page is readable on its own where its listed prerequisites are met; numerical evidence status is stated per lesson. Required concepts for L1 are explained locally.

Maintain asset and backend continuity: use the same fixed-base two-joint leg for L2/L3 and connect its conventions to the full Microduck in L4. L5 moves to the designated Microban while reusing the primary backend and experiment protocol. Freeze the primary backend and asset versions at L2 review and retain them afterward; introduce the second engine in L6. Geometry adaptation is not assumed to be implemented.

Compliance, backlash, Stribeck friction, active excitation, optimizer leaderboards, broad/targeted randomization, and RL training are topics for extensions. Promote one into a lesson only when a concrete failure motivates it.

D03 · A shared reading structure

Stage Learner experience Author supplies
01 · Failure and prediction See a mismatch and predict a cause Initial-model comparison and one judgment question
02 · Boundary and derivation Identify inputs, unknowns, fixed quantities, and equations Signal visibility diagram, units, and key derivation
03 · Controlled experiment Explain what changes and what is held fixed Matched baseline, comparison groups, fit/development/final evaluation split
04 · Evidence and diagnosis Judge the model, data, or optimizer Fit/held-out views, residuals or sensitivity, bounded claims
05 · Exercise and answer guide Predict, then read plots or change one setting Exercise that needs no code execution, explanation, optional bounded interaction
06 · Limits and next step Propose a discriminating experiment Remaining ambiguity, next lesson, and necessary prerequisites

Use the same three-level signal visibility diagram at the start of each lesson:

Level Purpose and access Examples
Fitter-visible Only public inputs, measurements, and metadata from the fitting split may enter estimation Commands, encoders, declared force measurements
Evaluation Scoring only; unavailable to fitting and tuning. If used for selection, relabel as development data Final held-out observations, comparable shared-parameter truth
Oracle diagnostics Generation and explanation only; excluded from objectives, initialization, bound selection, and model selection Applied torque, exact hidden state, solver internal forces

These levels describe use, not permanent assignments by signal name. L0 explicitly supplies applied torque; L1 delay does not. Every diagram names the split and visibility. Even public measurement types from held-out data are unavailable to the fitter.

The minimum evidence package for computational labs is a True/Initial/Identified comparison, separately reported fit and final held-out metrics, residual or sensitivity plots, an evidence note, and a next-experiment proposal. Label candidate Students separately. K lessons reuse actual L evidence or clearly labeled conceptual illustrations; they do not invent runs to satisfy the template.

Each lesson asks for: “I expected…; this plot or metric shows…; under these conditions it supports…; it still cannot exclude…; next I would test….” Discuss inadequate structure, insufficient data, and optimization failure. Explain when a branch is inapplicable rather than fabricating all three failures in every lesson. Answer guides identify the supporting plot, unsupported conclusions, and an experiment that distinguishes remaining hypotheses.

Model selection is development. Declare candidate structures, bounds, weights, regularization, and controller design rules before final evaluation. Validation used for selection becomes development data; final claims require another untouched split. Declare seeds and budgets for repeated runs; do not repeatedly inspect final evaluation to select the best run.

Use a continuous page for one learning question. Section anchors aid scrolling; clips sit beside the relevant question with a written explanation, and curves retain labels and line styles. Replay never fits; previews and completed results remain distinct. Reuse the existing course visual system and review scripts and controls per lesson.

D04 · Knowledge lesson cards

K0/K1 are delivered and retained: K0 motivates identification; K1 separates inputs, state, observations, models, and parameters. The K2–K8 cards now have corresponding formal reading pages with the shared structure. Conceptual visuals remain explicitly labeled until a numerical run supplies verified evidence. Reuse the books and references.

K2 · K3 · K4 · K5 · K6 · K7 · K8

K2 · Locate dynamics terms from motion errors

K3 · Trace commands to joint torque

K4 · Decide whether an experiment separates parameters

K5 · Understand what fitting actually solved

K6 · Challenge predictions with new experiments

K7 · Interpret fitted parameter values

K8 · Use identification for control and transfer

D05 · Synthetic lab cards

L0, L0-E and L1 have checked local evidence. L1-O, L1-S and L2–L6 remain designs awaiting implementation. The course matrix records exact evidence and media availability. Every lab follows D03's visibility levels, data splits, and minimum evidence package; cards specify the new teaching emphasis. Freeze numerical truth, bounds, sampling/integration, tolerances, seeds, and budgets at individual review.

L0 · L0-E · L1 delay · L1 friction · L1-O · L1-S · L2 · L3 · L4 · L5 · L6

L0 · Recover inertia and damping

Delivered core foundation; its numerical contract is not redesigned here. The lesson and fixed report use J*qdd + b*qd = u, known applied torque, ideal t/u/q/qd, and only unknown J/b. K0/K1 are sufficient to begin. Fit a chirp and test held-out multisine motion, showing True, Initial, and Identified models.

Learners change initial inertia or damping, distinguish previews from completed fits, and explain held-out predictions. Matched structure, known torque, and ideal observations bound the claim. Independent learner acceptance remains open. Revisit this plant in K4–K6/L0-E.

L0-E · When input hides a parameter's effect

Local evidence available: the frozen report and lesson now implement this card.

L1 · Identify command delay

Delivered core foundation; retain the implementation. The lesson and fixed report use q_des → fixed PD → full torque-command delay → gravity-loaded pendulum. Fit effective delay from public t/q_des/q/qd only. Derive qd from position; applied torque and delay internals are diagnostics. Geometry, load, gains, and integration settings are known.

Necessary capabilities are L0 and command/state distinctions. K2 basics/K3 are recommended; introduce K7's effective-parameter idea locally. Fit chirp input, predict separately defined reversal motion, and explain phase clues, residuals, and closed-loop effects. Changes to initial delay require explicit fitting; replay reads completed results. The estimate is not a motor electromagnetic time constant. Independent learner acceptance remains open. Continue to the delivered friction experiment.

L1 extension · Separate friction from viscous damping

Delivered and retained in the core sequence. The second isolated experiment on the L1 page and its fixed report use known inertia and applied torque. Oracle resistance is b*qd + tau_c*tanh(qd/v_eps), with public fixed v_eps. Compare a viscous-only Student with one fitting b/tau_c. Delay is zero; gravity and saturation are absent.

Study after L1 delay with K3/K6. Bidirectional motion across speeds and predeclared held-out amplitudes/reversal rates expose structural residuals. Learners explain viscous-only mismatch near reversals and propose inputs that separate the resistance terms. Velocity-correlated residuals alone do not uniquely establish friction. This is smooth Coulomb-like resistance, without stiction, Stribeck, or backlash. Static explanation, CPU report, and notebook are delivered; browser comparison remains deferred. Continue to L1-O or elective L1-S.

L1-O · Separate observation quality from plant behavior

L1-S · Make torque saturation visible

L2 · Separate actuator and body errors in a fixed-base leg

L3 · Add contact after validating free space

L4 · Compare whole-robot fitting routes and control outcomes

L5 · Share parameters across Microban joints

L6 · From structural mismatch to a true cross-engine test

D06 · Hardware lesson cards

Outside this round: the existing draft is retained without renewed review and does not create K/L prerequisites.

These are procedure and interpretation designs. Hardware, instrumentation, and operating limits must be specified for a concrete platform before an acquisition exercise exists. There are no generic hardware execution commands in this proposal.

ID Question and prerequisites Experiment and evidence Learner output / delivery
H0 Which bench measurements support the chosen actuator boundary? Actuator lessons, L1-O, and a platform-specific bench procedure Establish signs, units, torque/current calibration, clocks, and operating limits. Fit repeated bench motions; withhold a session or operating condition. Record voltage/temperature and distinguish sensor uncertainty from parameter variation. No assumption of known physical ground truth. Annotated signal boundary, calibration record, repeated-fit/validation note. Static procedure and recorded example; acquisition and fitting run locally.
H1 Does component evidence predict the real Microduck or Microban? H0 plus the applicable L2–L4 evidence Progress from supported subsystem motions to whole-robot tests; preserve upstream validation. Hold out motion families or sessions and record hardware/controller versions. Report joint/base/contact evidence only for measured signals. Explain one transfer success and one remaining mismatch; distinguish simulation prediction from demonstrated physical behavior. Local acquisition and completed-run review.
H2 Can another engineer reproduce the full-humanoid result? H1 and platform-specific collection/operation procedures Track actuator families, per-joint calibration, dataset lineage, fit budgets, and evaluation sessions. Recheck the downstream controller/policy under declared conditions rather than assuming identification implies deployment readiness. Reproducible data-to-model handoff with a bounded claim and unresolved uncertainty. Local/server computation; static report and replay for review.

D07 · Delivery and bilingual review

Follow the delivery policy and lesson pipeline: the static explanation is the primary learning surface; local experiments supply numerical evidence when the lesson is Runnable, and bounded WASM is optional. Clips are named support surfaces rather than a universal completion requirement. Build and verify the local numerical path before producing its static evidence and deciding on browser interaction. The present L0/L1 Marimo apps run through a local Python server; a self-contained WASM release is still backlog work.

Surface Review requirement
Static lesson Question, boundary, evidence, exercise answer guide, limits, and local instructions are readable without running an app. Available clips sit beside their named question; planned and unnecessary clips are labelled.
Browser interaction, if delivered Declare dependencies and measured cold-start/run/memory budgets; check the worst allowed control setting. State whether it fits, previews, or only replays.
Local experiment One implementation/configuration produces the report and lesson evidence. Document dependencies, runtime/resources, outputs, and reproduction command once available.
English and Chinese Keep lesson IDs, equations, units, numbers, observation boundaries, and status aligned. Use the same report/data/assets; update both narratives when a contract changes.

The static website provides English and Chinese course pages, lesson notes, report explanations, and curriculum design, with a language switch on each page. Available teaching videos have both subtitle tracks and matching written explanations; the source footage and numerical data are shared. The local Python app and implementation records remain separate research tools. Maintain both languages when adding a lesson or changing its contract.

The agreed curriculum now has formal reading pages for every row below. The table records the remaining numerical and evidence work; a static page does not claim that its local experiment has already run:

Lessons Main reading and presentation Full computation
K2–K8 Static knowledge pages, illustrations, and cited fixed lab evidence No independent fitting requirement
L0-E Static comparison, checked report and teaching clip Local CPU available
L1-O, L1-S Design drafts; static comparisons planned Local CPU planned
L2/L3 Static, video, and precomputed replay Local native simulation and fitting
L4/L5 Static lessons, report summaries, and precomputed replay Local CPU/GPU or scheduled work with actual requirements declared
L6 Static evidence and replay for both cases Local reproduction with both backends

K and L pages share the explanatory structure; only computational labs require full numerical artifacts. Published pages remain classified individually: K reading/concepts, L0/L0-E/L1 runnable evidence, and the remaining L design drafts. Local reports, simulator replays, and performance evidence for drafts remain implementation work. Large experiments are accepted in their declared CPU/GPU environment rather than requiring CPU for every lesson. Static reading still requires no compute setup. A planned visual becomes a course result only after an actual run produces and verifies it.

Shared terminology for future lesson translations:

English Chinese Meaning in the course
System identification / SysID 系统辨识 Infer a declared model from observations
Plant boundary 被辨识系统边界 Defines what input enters which system and which output is observed
True system / Oracle 真实系统 / Oracle Synthetic source of hidden ground truth; not physical hardware
Student model 待辨识模型 / Student Declared candidate structure and tunable parameters
Initial model / Identified model 初始模型 / 辨识后模型 Before/after fitting roles
Fit / held-out validation 拟合 / 留出验证 Estimation data / data withheld from estimation and tuning
Residual 残差 model - observed, with the quantity and units stated
Excitation / identifiability 激励 / 可辨识性 How the input reveals effects / whether data can distinguish parameters
Physical / effective parameter 物理参数 / 等效参数 Independently meaningful quantity / value tied to a modeling boundary

D08 · Individual review and next steps

This round delivers a unified content design, not new lesson prose, runnable experiments, or measured reports. Delivered L1 friction is no longer listed as the next experiment to build from scratch. Agreement on the overall design neither replaces independent L0/L1 learner acceptance nor freezes the details below.

Review batch Scope Decisions to produce
1 · Method bridge K4/K5/K6 and L0-E Derivation depth, excitation comparison, scaling, diagnostic plots, and answer guides
2 · Actuators and observations K2 basics/K3, L1-O; elective L1-S Noise/correlated channels, objectives, saturation comparison; reuse delivered delay/friction evidence
3 · Structure and contact Later K2/K7, L2/L3 Primary asset/backend, parameter combinations, component constraints, normal contact, force measurements, and numerical checks
4 · Whole robot and control K8 and L4 Costs of the two fitting routes, control task/design method, model selection, and final evaluation
5 · Two later branches L5 and L6, reviewed independently Sharing/exceptions and repeat budget; small plant, second engine, and interface semantics

These are suggested review batches, not implementation dates, and an individual lesson need not wait for the entire sequence to be reviewed. After its review, freeze one numerical contract and content outline, then progress through local numerics → fixed evidence → bilingual lesson → optional interaction. K lessons may begin with clearly labeled conceptual illustrations; experimental plots and performance claims must come from actual later runs.

Each review asks whether the question is focused, prerequisites are reasonable, comparisons distinguish hypotheses, signals/splits are explicit, plots support the claims, and exercise answers follow from evidence. Identify remaining values, budgets, and media decisions. Amend the card here when a detail changes rather than creating a parallel design.

Agreed decision index: The table records conclusions from batch questions Q1–Q18 for traceability; it is not a new approval checklist.

Discussion IDs Agreed direction Location
Q1, Q11, Q17 Identification/diagnosis is the main outcome; L4 requires a small control comparison with one design method, model-dependent settings, and one Oracle. RL/randomization comparisons are extensions D01, K8, L4
Q2, Q6 Engineering derivations; independent K judgment lessons, with L linking needed sections and testing them using data D01, D04
Q3, Q13 L0-E/L1-O are core, L1-S elective; advanced physics, active excitation, and leaderboards are extensions D02, D05
Q4, Q7 Begin with failure/prediction, isolate effects before compensation from L2, and allow ranges or calls for new experiments D01, D03, D05
Q5, Q12 Compact core; static-first explanation, precomputed replay, full fitting locally D01, D07
Q8 One leg for L2/L3 aligned with Microduck in L4; Microban in L5 retains the primary backend; L6 adds a second engine D02, L2–L6
Q9, Q10 Three signal visibility levels and a shared evidence template, with diagnosis and a next experiment in every lesson D03
Q14 Separate suggested sequence from prerequisites; L5/L6 are independent after L4; introduce K8 before L4 D02
Q15, Q16 L3 begins with normal contact only; L6 contains both single-engine structural mismatch and a genuine cross-engine case L3, L6
Q18 Update this bilingual draft and related entry points; retain H's old draft outside this review; implement no new labs This document, course homepage

Feedback format: lesson ID → proposed adjustment → reason or hypothesis to test. Example: “L3 → add force comparisons at equal compression but different speeds → test whether stiffness and damping can actually be separated.” The delivery backlog owns packaging/deployment, not curriculum content design.