Spatial Kinematics of a 7-DoF Robotic Arm

In this programming assignment, I calculated the forward and inverse kinematics of the 7-DoF robot arm using which I implemented a box-box collision checking scheme.

The forward kinematics of the Franka Panda robot were computed from the Denavit-Hartenberg parameters provided by the robot manufacturer. The inverse kinematics of the arm were computed using the Jacobian Transpose Method, for which this link proved to be very helpful.

In order to implement a collision checker, the links of the robot arm were modelled as oriented bounding boxes (OBB). The Separating Axis Theorem (SAT) was applied to determine if the arm was in collision with a user-controlled object in 3D space. SAT states that: “If two convex objects are not intersecting, there exists an axis for which the projection of the objects will not overlap.” This link provides significant insight into the SAT.

The video below depicts the collion checking scheme. The cube is moved around and the light turns red when the cube is in collision with the robot.

My foothold of robot controls and manipulations was strengthened in doing this project, and I absolutely enjoyed watching my code manifest into a real-time collion checker that could have diverse real-world applications!