Date of Award


Document Type

Dissertation - Open Access

Degree Name

Doctor of Philosophy in Aerospace Engineering


Aerospace Engineering

Committee Chair

Dr. Troy Henderson

Committee Co-Chair

Dr. Richard Prazenica

First Committee Member

Dr. Morad Nazari

Second Committee Member

Dr. William MacKunis


This work presents several trajectory generation algorithms for multibody robotic systems based on the Product of Exponentials (PoE) formulation, also known as screw theory. A PoE formulation is first developed to model the kinematics and dynamics of a multibody robotic manipulator (Sawyer Robot) with 7 revolute joints and an end-effector.

In the first method, an Inverse Kinematics (IK) algorithm based on the Newton-Raphson iterative method is applied to generate constrained joint-space trajectories corresponding to straight-line and curvilinear motions of the end effector in Cartesian space with finite jerk. The second approach describes Constant Screw Axis (CSA) trajectories which are generated using Machine Learning (ML) and Artificial Neural Networks (ANNs) techniques. The CSA method smooths the trajectory in the Special Euclidean (SE(3)) space. In the third approach, a multi-objective Swarm Intelligence (SI) trajectory generation algorithm is developed, where the IK problem is tackled using a combined SI-PoE ML technique resulting in a joint trajectory that avoids obstacles in the workspace, and satisfies the finite jerk constraint on end-effector while minimizing the torque profiles. The final method is a different approach to solving the IK problem using the Deep Q-Learning (DQN) Reinforcement Learning (RL) algorithm which can generate different joint space trajectories given the Cartesian end-effector path.

For all methods above, the Newton-Euler recursive algorithm is implemented to compute the inverse dynamics, which generates the joint torques profiles. The simulated torque profiles are experimentally validated by feeding the generated joint trajectories to the Sawyer robotic arm through the developed Robot Operating System (ROS) - Python environment in the Software Development Kit (SDK) mode. The developed algorithms can be used to generate various trajectories for robotic arms (e.g. spacecraft servicing missions).