As part of Prof. Kevin Lynch’s class, Robotic Manipulation, I wrote a Python library of functions to implement the concepts learned in class. The functions span from basic operations on SO(3) and SE(3) elements, screw axes, matrix exponentials, calculating Jacobians, to more advanced algorithmic procedures like numerical inverse kinematics and dynamics, polynomial time-scaling and optimum joint trajectory generation. Head to the repository here for the commented code.
Many of these functions were used to simulate real robots - the UR5 (6DoF) and WAM (7DoF) robotic arms - using their URDF files. Below are some simulations visualized in RViz - the 3D visualization tool for ROS.
UR5 Robot Straight Line End-Effector Trajectory:
UR5 Robot Straight Line Joint-Space Trajectory:
Date: Dec 9, 2015
Categories: project