Robot kinematics and control on the course's two-joint arm. Task space shows where the hand is. Configuration space maps every pair of joint angles (θ₁, θ₂) as one pixel. Follow the lesson on each tab, or just play. Tab 5 gives the real arm its other joints back, in 3D.
so101_new_calib.urdf at commit 385e8d7, Apache‑2.0). A copy sits in this repo, and npm test checks this tab's joint table against it number for number.Tick a joint to unlock it. A locked joint is what tabs 1–4 assumed. Slider ranges are the URDF's joint limits in whole degrees (the elbow's ±96.8° shows as ±96°).
The green target appears when you solve or follow. Drag it in the 3D view (it slides in the screen's plane) or, more precisely, in either flat view. On a phone, use the flat views: put your finger on the target.
Drag in the task pane to move the green target.
Iterative IK starts from the current pose and steps downhill on ‖p(q) − p*‖² using the damped Jacobian. It ignores obstacles, just like a bare solver.
Drag in the task pane to set the desired hand velocity ṗ* (green arrow).
Teleop: hold the pad or ←↑→↓ / WASD to drive the hand. Diff-IK converts each command into joint speeds.