meam5200
grad intro robo
Not making the repository with my lab work publicly available (yet).
The labs centered around developing Python code to accurately model and manipulate a 7DOF Franka-Emika Panda robot. Code was initially tested in ROS during development, then demonstrated on a physical robot.
Labs had us implement the basic robotics principles
Lab 1: DH Parameters and FK
Goal: can we accurately know where each joint on the robot is located, given a set of joint angles?
Setting up the kinematic chain. Making a coordinate system for each linkage using the Denavit–Hartenberg parameters convention. Implementing known formulas to derive the homogenous transformation matrices from joint-to-joint based on the joint angles, then considering off-joint origin position vectors, to ultimately get a matrix that represented the end effector’s orientation and position with respect to the world frame. This was tested by passing in joint angles that would result in a known configuration. Each joint had an indicator that represented where the math I implemented thought the joint was located. The goal was to ensure these indicators were “stuck” to the robot in ROS, and not floating away as it moved to these known configurations. (For faster iterative testing, I implemented a quick matplot
script to plot the joint positions.)
To ensure my forward kinematic math was correct, I ran different joint configurations on the physical robot. I measured by hand the position of the end effector (w.r.t. world frame) and compared that with where the Python code thought it was.