Skip to main content
Back to Projects
Robotics Completed

Robot Kinematics Solver Using Screw Theory

Developed a comprehensive robot kinematics library implementing forward/inverse kinematics, Jacobian computation, and trajectory planning using screw theory and the Product of Exponentials formula.

Duration

Spring 2025

Role

Developer

Institution

NTNU

Status

Completed

Technologies Used

C++EigenROS2KDLTracIKPythonScrew Theory

Overview

This AIS4104 Robotics and Intelligent Systems portfolio project (Part 1) involved implementing a complete robot kinematics library from scratch using screw theory and the Product of Exponentials (PoE) formula. The implementation includes forward and inverse kinematics solvers, space and body Jacobian computation, and various trajectory generators for point-to-point and multi-point motions.

Problem Statement

Understanding and implementing robot kinematics is fundamental to robotics. This project required building a comprehensive library that can compute robot configurations, end-effector positions, and plan smooth trajectories, all based on the mathematical foundation of screw theory as presented in Modern Robotics by Lynch and Park.

Challenges & Solutions

Challenge Solution Outcome
Gimbal Lock in Euler Angles Implemented singularity detection and handling for ZYX Euler angle extraction from rotation matrices Robust angle extraction even near singular configurations
IK Convergence Implemented Newton-Raphson iteration with damped least squares for numerical stability Reliable convergence to valid joint configurations
Trajectory Smoothness Implemented cubic polynomial interpolation with velocity constraints Smooth trajectories with continuous velocity profiles

Progress

Mathematical foundations (rotation matrices, twists, adjoint maps)
Forward kinematics using PoE formula
Inverse kinematics with Newton-Raphson iteration
Space and body Jacobian computation
KDL chain definition for TracIK comparison
Point-to-point trajectory generator
Multi-point trajectory with cubic interpolation
Linear (LIN) trajectory planning