MuJoCo UR10e — Kinematics & Control + Mid-Air Intercept
FK/IK + Jacobian-based velocity kinematics in MuJoCo, plus offline torque planning for a mid-air 'Fruit Ninja' intercept task
What I built
Two-part MuJoCo UR10e simulation project: (1) a kinematics/control suite implementing DH forward kinematics, numerical inverse kinematics, Jacobian-based forward velocity kinematics, and pseudoinverse inverse velocity kinematics; and (2) a 'Fruit Ninja' mid-air interception task solved via offline torque planning with open-loop torque replay under fixed simulation constraints.
Problem
Build a UR10e simulation workflow that is both (a) mathematically correct for kinematics/velocity kinematics, and (b) realistic under constraints when executing a dynamic interception task using offline, open-loop torque replay.
Approach
- Forward kinematics using standard DH formulation and multiplying six joint transforms to get base→end-effector pose
- Inverse kinematics (position) using a numerical nonlinear solver (scipy.optimize.least_squares) with multiple initial guesses for convergence
- Forward velocity kinematics using the linear part of the geometric Jacobian (3×6) to map joint rates → end-effector linear velocity
- Inverse velocity kinematics using the Jacobian pseudoinverse to obtain minimum-norm joint velocities for desired end-effector velocities
- Offline torque planning in MuJoCo: predicted fruit trajectories with a ballistic model under gravity, selected intercept points, and generated torques offline
- Task-space PD mapped to joint torques via Jacobian transpose, replayed open-loop during execution
- Improved robustness by arriving slightly early at intercept points and holding position; prevented retargeting already-intercepted fruits; aligned offline rollout timing with execution timing
Engineering decisions
Numerical IK over analytic IK
Used least-squares numerical IK (analytic IK is long and not required); multiple initial guesses improved convergence.
Jacobian methods for velocity kinematics
Used the geometric Jacobian for forward velocity kinematics and pseudoinverse for minimum-norm inverse velocity solutions in a redundant 3×6 setup.
Robustness strategy for open-loop torque replay
Open-loop replay is timing-sensitive, so the planner biases early-arrival + hold rather than perfect tracking at a single instant.
Ownership
- DH FK implementation and validation against MuJoCo behavior
- Numerical IK pipeline (least-squares) and convergence strategy (multiple initial guesses)
- Jacobian computation and velocity kinematics (forward + pseudoinverse inverse)
- Offline planner for torque generation + execution alignment for the interception task
- Jupyter-based reporting, plots, and experiment documentation
Results
- FK matched MuJoCo simulation accurately; numerical IK reached most random targets reliably.
- Velocity predictions matched simulated motion; pseudoinverse behaved as expected including near singularities.
- For the interception task: all fruits spawned within the fixed simulation window were successfully intercepted (6 spawned during runtime).