I ended up with a small collection of PUMA robot arms with no documentation and bare cables, so I spent some time reverse engineering the pinouts and wiring. Once I had the motors working and the quadrature counts decoded, I wrote a Inverse kinematics library for the 6DOF arm. It is progressing to the point where the arms can play shuffleboard against each other or a human. Read on for more details about interfacing with the arms...
I used a 1983 thesis on solving the inverse kinematics for the PUMA 6-DOF arms to write a simple IK library for our robot arms. Read on for more details...
For the 2013 programming contest at work we had teams write AIs to allow our PUMA robot arms to play table top shuffleboard and compete against the best humans in the office. We mounted cameras above the board and I wrote a constrained IK solver that provided a simple REST API to the positioning code the teams so that they could focus on the machine vision and strategy portions of their programs.
I've been known to give the Rethink Robotics Baxter robot a hug once in a while. It is nice to work with a robot that doesn't try to kill or maim you.