Skip to content
◂ Engineering

Projects

30 December 2025

Forward and Inverse Kinematics of the ABB IRB120 Using Numerical Methods

Developed and simulated the forward and inverse kinematics of the ABB IRB120 industrial robot using MATLAB. Forward kinematics was modeled using successive homogeneous transformation matrices. Inverse kinematics was solved numerically using Gradient Descent and Newton–Raphson methods.

MechatronicsKinematicsNumerical MethodsMATLAB
Notebook

Full write-up

Modern industrial robots rely heavily on accurate kinematic modeling to achieve precise motion control, path planning, and automation tasks. Forward kinematics (FK) and inverse kinematics (IK) form the foundation of robotic manipulation, enabling the mapping between joint space and task space. While forward kinematics provides a direct mathematical relationship between joint variables and end-effector pose, inverse kinematics is inherently more complex due to its nonlinear nature and the possibility of multiple or no solutions. Analytical IK solutions are often difficult or infeasible for complex manipulators, making numerical methods such as Gradient Descent and Newton–Raphson highly relevant in practical robotics applications.


In this project, the forward and inverse kinematics of the ABB IRB120 six-degree-of-freedom industrial robotic arm were developed and analyzed. The forward kinematics model was derived using successive homogeneous transformation matrices, constructed based on the robot’s Denavit–Hartenberg (DH) parameters. Each joint transformation captured the relative rotation and translation between adjacent links, and these were multiplied sequentially to obtain the final transformation matrix describing the end-effector position and orientation with respect to the base frame. This modeling approach provided a systematic and scalable method for representing the robot’s geometry and was validated through simulation.

For the inverse kinematics problem, two numerical optimization techniques were implemented: Gradient Descent and Newton–Raphson. Both methods iteratively minimized the positional error between the desired end-effector pose and the pose predicted by the forward kinematics. Gradient Descent was used for its conceptual simplicity and robustness, relying on the Jacobian transpose to guide joint updates toward the target configuration. Newton–Raphson, on the other hand, leveraged the Jacobian inverse (or pseudo-inverse) to achieve faster convergence near the solution, highlighting the trade-off between computational efficiency and numerical stability. The project involved computing the Jacobian matrix, handling singularities, and tuning step sizes to ensure convergence.
The entire system was implemented and simulated in MATLAB, which was used for numerical computation, visualization, and iterative algorithm testing. This project significantly strengthened my understanding of robotic kinematics, numerical optimization, and matrix-based modeling. From a technical standpoint, I developed skills in MATLAB programming, Jacobian-based analysis, numerical solvers, and debugging convergence issues in nonlinear systems.

The results demonstrated that both numerical methods successfully solved the inverse kinematics for a range of target poses. Gradient Descent showed stable but slower convergence, while Newton–Raphson achieved faster convergence when initialized near the solution. Overall, the project provided a practical and in-depth understanding of how industrial robot kinematics are modeled and solved in real-world control and automation systems.

You can view the project here.


©️Trueman Hama Mabumbo