Inverse Kinematics for the Kuka Arm
Wrote an inverse kinematics server as an ROS node to control a 6-DOF Kuka arm in Gazebo simulation. The Kuka arm was taked with picking up cylindrical objects and collecting them in a recepticle to the left. The ROS package used MoveIt! as a collision aware trajectory planner that queried IK_server.py for Kuka arm joint angles given a desired position and orientation. Inverse Kinematics solution produces joint states with errors < 10^-6 and high repeatability, seen as the arm was able to stack 6 cylinders autonomously.
Experience with Inverse Kinematics, DH parameter assignment, ROS, Gazebo, Python, SymPy, numpy, urdf, CMake, XML.
Full code and writeup available here