PHASE 2 · INTERACTIVE LABORATORY
Learn by moving robots.
Explore the mathematics visually, then implement and test the corresponding Python code. All simulations on this page run in your browser using JavaScript; the downloadable Python exercises run locally.
LAB 01 · KINEMATICS
Two-link robot arm
Move joint angles and link lengths. Watch the end-effector move through task space.
x = L₁ cos θ₁ + L₂ cos(θ₁ + θ₂)
y = L₁ sin θ₁ + L₂ sin(θ₁ + θ₂)
y = L₁ sin θ₁ + L₂ sin(θ₁ + θ₂)
Read Week 1 assignment · Download Python notebook · Download Python lab starter · Download pytest tests
LAB 02 · VELOCITY KINEMATICS
Jacobian and singularities
The Jacobian maps joint angular velocities into end-effector velocity. At a singularity, its determinant becomes zero.
J = [ −L₁ sin θ₁ − L₂ sin(θ₁+θ₂), −L₂ sin(θ₁+θ₂) ]
[ L₁ cos θ₁ + L₂ cos(θ₁+θ₂), L₂ cos(θ₁+θ₂) ]
det(J) = L₁L₂ sin θ₂
[ L₁ cos θ₁ + L₂ cos(θ₁+θ₂), L₂ cos(θ₁+θ₂) ]
det(J) = L₁L₂ sin θ₂
LAB 03 · FEEDBACK CONTROL
PID joint-position control
Change gains and watch a simulated joint respond to a position step. The example uses a simplified damped joint, not a full rigid-body robot model.