KUKA KR 6 Kinematics & Verification Suite
Forward and inverse kinematics, a geometric Jacobian, singularity diagnostics, and trajectories — cross-checked against finite differences and a generated URDF in a 39-test suite.
- Robotics packages can return a pose without proving that the model, derivative, inverse solution, and robot description agree.
- Analytic robotics library + numerical validation suite
- The project demonstrates mathematical readiness and a habit of validating the same mechanism through independent representations.
Who did what
- Individual course project — mathematical derivation, implementation, tests, figures, and later standalone packaging
- Individual undergraduate course project; later packaged independently.
- KUKA manufacturer specifications, standard robotics references, NumPy, URDF tooling, and visualization libraries.
Overview
This individual robotics course project became a small standalone Python library for the six-axis KUKA KR 6 R900 sixx. The implementation connects standard Denavit–Hartenberg modeling to forward kinematics, closed-form inverse position kinematics, a 6×6 geometric Jacobian, singularity diagnostics, inverse velocity kinematics, and quintic/LSPB trajectories. The important part is the verification chain: central finite differences check the analytic Jacobian, FK→IK→FK random trials check inverse solutions, manufacturer reach data provides a physical sanity check, and a generated URDF is reloaded as an independent forward-kinematics oracle.
Methodology
- Derived one standard Denavit–Hartenberg model and used it to implement forward kinematics, closed-form position IK, a geometric Jacobian, inverse velocity kinematics, singularity diagnostics, and trajectories.
- Generated a URDF from the same documented geometry but reloaded it through an independent representation for cross-checking.
One DH model feeds FK, Jacobian, IK, trajectory, and URDF-generation modules. Each path is checked by a different oracle: finite differences, random round trips, manufacturer data, or a reloaded URDF.
- KUKA geometry + DH table
- FK / Jacobian / IK
- Joint + task-space trajectories
- Generated URDF
- Independent numerical cross-checks


My contribution
- Implemented the six-link DH chain and forward kinematics with joint-limit and manufacturer-reach checks.
- Implemented geometric Jacobian, manipulability, singularity sweeps, closed-form position IK, and inverse velocity kinematics.
- Implemented quintic and LSPB trajectory primitives and task-space motion examples.
- Built a programmatic URDF and cross-validated its reloaded transforms against the analytic DH model.
- Packaged the project with 39 pytest tests, multi-version CI, reproducible figures, animations, and technical documentation.
Provenance & claim boundary
- This began as a course project; the public library and test packaging were completed later and should not be read as a separate research project.
- KUKA specifications and standard robotics references define the physical model; external libraries are used for visualization and independent cross-checks, not presented as authored algorithms.
Experimental design
- Compared the analytic Jacobian against central finite differences, ran 200 FK→IK→FK random round trips, checked reach against manufacturer data, and exercised 39 automated tests.
- Treated each oracle as a different failure detector rather than using one implementation to validate itself.
Results & evidence
Evidence
Automated verification
attached39 pytest tests across FK, Jacobian, IK, trajectories, and URDF behavior.
Jacobian check
attachedAnalytic Jacobian compared with central finite differences.
IK check
attachedFK→IK→FK round trips across 200 random configurations.
Model cross-check
attachedAnalytic DH transforms compared with an independently reloaded generated URDF.
Metrics
39 passing
200
≤ 50 µm
6 DoF
Failure analysis
- Singular or ill-conditioned configurations expose where inverse-velocity calculations become unstable.
- Agreement among analytic and numerical models still cannot reveal physical calibration or compliance error because no real KR 6 was measured.
Limitations
- The library models kinematics, not dynamics, collision checking, calibration uncertainty, or closed-loop execution on a physical KR 6.
- Closed-form IK relies on the robot's spherical-wrist geometry and does not transfer unchanged to arbitrary six-axis arms.
- Numerical agreement validates implementation consistency, not real-robot calibration accuracy.
Lessons & tradeoffs
- Independent representations are stronger than one self-consistent implementation.
- Singularities become easier to reason about when analytic structure, numerical conditioning, and visualization are shown together.
- Course work becomes useful evidence when its context remains visible and the verification story is reproducible.
Next questions
- How does calibration uncertainty propagate through the analytic model on a physical arm?
- Which dynamics, collision, and closed-loop control layers are needed before the library can support real motion experiments?