Robot SysID Lab
Robot SysID Lab · A course in robot modeling

Learn robot system identification through experiments

A robot can work well in simulation and behave differently on hardware. System identification helps us learn from experimental data, improve the model, and test whether it can predict new motions.

Start with one rotating joint, then work toward actuators, robot structures, and hardware experiments. See why models make errors, how data can improve them, and how to evaluate the result.

For robotics engineers who can read a time-series plot. You can read the lessons without installing software; L0, L0-E and L1 include local reproduction instructions; the other L pages are design drafts.

Recommended starting path

Start here

Understand why identification is useful, learn the quantities in an experiment, then study a joint. These three lessons take you from the question to your first validation.

  1. K0

    Why identification matters

    See an inaccurate model and understand the problem we want to solve.

  2. K1

    Understand the first experiment

    Learn the inputs, states, observations, and parameters in a simple experiment.

  3. L0

    Complete your first identification

    Estimate joint inertia and damping, then check predictions on a new motion.

Already familiar with these ideas? Open L0 or continue to L1 · Command delay and friction.

Study knowledge alongside experiments

How to combine K and L lessons

K0–K8 organize knowledge by topic; L0–L6 increase experiment complexity. Their numbers do not pair one to one. Follow the experiments, add knowledge when needed, and revisit it with your results.

Formal pages cover K0–K8, L0, L0-E, L1, L1-O, L1-S, and L2–L6, with different delivery classes and evidence states. The sequence below is a recommendation for the full course; hardware lessons remain outside this rollout.

  1. 01

    K0 → K1 → L0 · Complete your first identification

    Understand the question and basic quantities, then use inertia and damping to complete a small cycle of experiment design, fitting, and validation.

  2. 02

    K4 → K5 → K6 → L0-E · Understand the method

    Revisit L0, then compare inputs in L0-E to understand when parameters can be separated, how fitting works, and why predictions need a new motion for validation.

  3. 03

    K2 → K3 → L1 → L1-O · Actuators and observations

    Read the dynamics and command-to-torque basics, then study delay and friction in L1 and observation noise in L1-O. Torque saturation in L1-S is an elective branch.

  4. 04

    K7 → L2 → L3 · Understand coupling and contact

    Distinguish physical parameters from effective values that compensate for errors. Revisit coupling and contact in K2, validating the free-space model before adding contact.

  5. 05

    K8 → L4 → L5 · Scale to a complete robot

    Use K8 to distinguish prediction from downstream performance. Compare fitting routes and test control outcomes in L4, then study sharing in L5. Reuse K4–K7 for diagnosis.

  6. 06

    L6 · From structural mismatch to cross-engine prediction

    Return to a small plant, isolate structural mismatch, then test predictions across genuinely different simulators. Revisit uncertainty in K8. L6 is accessible after L4; L5 is not required.

This is a suggested sequence. Each lesson also lists necessary prerequisites, which equivalent experience can satisfy. Reuse experiment design, fitting, and validation from K4–K6 throughout. See the curriculum design for dependencies and extensions.

The complete course map

All lessons

Knowledge lessons explain the ideas, synthetic experiments let you test them, and hardware experiments apply the method to physical systems. Browse the categories below by topic, or follow the combined reading order for a study sequence. Formal pages are classified as Reading, Concept, Runnable, or Design draft; publication does not certify an experiment or video delivery. Hardware lessons marked “Coming later” remain outside this rollout.

See evidence and video status for all 19 lessons

K0-K8

Knowledge

Learn the ideas you need to design experiments and interpret their results.

  1. K0Why system identification mattersSee why a plausible model can make poor predictions and how to check an improvementConcept
  2. K1System identification fundamentalsDistinguish inputs, states, observations, and parameters before your first experimentReading
  3. K2Robot dynamicsUnderstand how inertia, gravity, coupling, and contact affect motionConcept
  4. K3Actuator modelsFollow the path from a control command to applied torqueConcept
  5. K4Design an identification experimentChoose inputs and measurements that reveal the parameter effectsConcept
  6. K5Estimate model parametersLearn how fitting works and how to examine its resultConcept
  7. K6Test model predictionsUse new experiments and residuals to test where a model worksConcept
  8. K7Interpret fitted parametersAsk whether fitted values represent physical properties or compensate for errorsConcept
  9. K8Use models for control and transferUse identification results to inform control design and policy trainingConcept
L0-L6

Synthetic experiments

Start with a simple joint and work toward actuators and complete robots.

  1. L0Estimate inertia and dampingFit two parameters from motion data, then predict a new motion; read L0-E for excitation limitsRunnable
  2. L0-EHow excitation constrains parametersCompare slow and chirp inputs with coverage, sensitivity and held-out evidenceRunnable
  3. L1Actuator delay and frictionSeparate timing error from resisting-torque mismatch; continue to L1-O or elective L1-SRunnable
  4. L1-OObservation noiseExperiment contract written; numerical run and report pendingDesign draft
  5. L1-STorque saturation (elective)Saturation contract written; numerical run and report pendingDesign draft
  6. L2A fixed-base legSeparate actuator and link-model errors when joints are coupledDesign draft
  7. L3Add ground contactStudy how foot contact changes a model checked in free spaceDesign draft
  8. L4The complete MicroduckCompare fitting components first with fitting the whole robot directlyDesign draft
  9. L5The Microban humanoidExplore when similar joints can share parametersDesign draft
  10. L6Test across simulatorsTest what a model can predict when it cannot exactly match the systemDesign draft
H0-H2

Hardware experiments

Apply the method to physical measurements and validation.

  1. H0An actuator test benchCalibrate sensors, record timing, and check measurement errorsComing later
  2. H1Microduck / MicrobanEvaluate physical robot models with component and whole-robot experimentsComing later
  3. H2A full humanoidBuild a reproducible process for data collection, identification, and hardware evaluationComing later
Practice throughout the course

How an identification experiment works

Choose the properties you want to understand, then design an experiment and record data. After fitting the model, check its predictions using observations that were withheld from fitting.

01Choose a questionChoose the input, observations, and unknown parameters
02Design the experimentUse motion that reveals the parameter effects
03Record dataRecord input and motion; check units and timing
04Fit the modelAdjust parameters to approach the observations
05Test predictionsCheck data that was withheld from fitting
06Examine errorsLook for patterns that guide the next experiment