6-DOF Serial Robot Kinematics and Numerical Inverse Kinematics
MATLAB project for forward kinematics, position-only damped-least-squares inverse kinematics, Cartesian trajectory reconstruction, and position-Jacobian analysis of a 6-DOF serial robot model.
This MATLAB project studies the kinematics of an archived six-degree-of-freedom serial robot model. I implemented the forward kinematics directly from the preserved homogeneous transformation matrices, then added position-only damped-least-squares inverse kinematics, Cartesian trajectory reconstruction, numerical Jacobian analysis, and automated result export.
The project is available here: GitHub repository
The original academic project was later reorganized into a self-contained and reproducible portfolio implementation. The current version keeps the archived robot geometry and Cartesian reference path, while making the numerical inverse-kinematics workflow, validation, diagnostics, figures, and exported data easier to reproduce and inspect.
Cartesian trajectory and inverse kinematics
The reference trajectory is a horizontal circular path sampled at 141 points over 7 seconds. The inverse-kinematics problem constrains Cartesian position only, so the task provides three constraints for six joint variables. End-effector orientation is not prescribed.
I used a damped-least-squares solver with a numerical 3 × 6 position Jacobian. The solution from each trajectory point is used as the initial guess for the next point. This continuation strategy encourages a smooth progression along one local solution branch of the redundant inverse-kinematics problem.
Cartesian reconstruction
For the supplied trajectory, the numerical IK solver converged at every sample. Each solved joint configuration was then evaluated again through the full forward-kinematics chain so that the reconstructed tool position could be compared directly with the desired Cartesian position.
| Metric | Value |
|---|---|
| Trajectory samples | 141 |
| Time span | 7.00 s |
| IK convergence | 100% |
| RMS Cartesian residual | 6.10 × 10⁻⁹ m |
| Maximum Cartesian residual | 1.00 × 10⁻⁸ m |
These residuals describe numerical IK/FK consistency. They are not measurements of physical robot accuracy, controller tracking performance, calibration accuracy, or experimental performance.
Numerical reconstruction error
The residual remains at the numerical solver tolerance scale throughout the tested path. This figure is mainly a consistency check: it verifies that the joint configurations returned by the numerical IK solver reproduce the requested Cartesian positions when evaluated with the same forward model.
Position-Jacobian analysis
The minimum singular value gives a local indication of proximity to rank loss in the Cartesian position mapping, while the condition number describes how unevenly joint-space changes are mapped into Cartesian position changes.
| Jacobian metric | Value |
|---|---|
| Minimum singular value | 0.1118 |
| Maximum finite condition number | 5.48 |
| Minimum position manipulability | 0.0154 |
These quantities apply only to the 3 × 6 position Jacobian along this tested trajectory. They should not be interpreted as a global singularity analysis or as a full 6D pose-manipulability result for the robot workspace.
Representative configurations
Because the task constrains three Cartesian position coordinates using six joint variables, more than one joint configuration can satisfy the same target position. The configurations shown here therefore represent one numerical solution branch rather than a unique global inverse-kinematics solution.
Scope and limitations
The archived project identifies the mechanism as a Staubli robot, but the available source files do not reliably establish the exact commercial model or a manufacturer-validated Denavit–Hartenberg convention. For this reason, the public project treats the preserved homogeneous transformation matrices directly as the definition of the archived 6-DOF serial robot model.
The current implementation is limited to numerical kinematic analysis. End-effector orientation is not an IK objective, validated manufacturer joint limits are not available, collision checking is not implemented, and no dynamics or actuator model is simulated. The project also contains no hardware validation.
The joint velocities, joint accelerations, Cartesian velocity and acceleration, and Jacobian quantities reported by the repository are numerical trajectory quantities. They should not be interpreted as measured robot motion or closed-loop control performance.
Reproducibility
The repository contains the self-contained MATLAB runner together with generated figures, GIF and MP4 animation, trajectory CSV data, summary metrics, MATLAB result data, and technical documentation. Running the main script regenerates the portfolio results in the repository's results/ directory.