ABSTRACT

This chapter introduces examples of forward and inverse kinematics libraries and uses these to illustrate common issues in robot kinematics. Any open-chain robot in robot operating system (ROS) already has a corresponding forward kinematics solver (via KDL). Forward and inverse kinematics is only one step in motion control of robot arms. The code used to compute forward kinematics for the two-DOF rrbot and the example six-DOF arm is virtually identical, except for the number of joints and the specific numerical values of the DH parameters. The algorithmic approach is valid in general for all open kinematic chains. In contrast, inverse kinematics can require robot-specific algorithms and may be problematic for handling multiple solutions, which is exacerbated with kinematically-redundant robots. The rrbotfkik.cpp program includes a class for forward kinematics and a class for inverse kinematics. The example kinematic libraries provided include Jacobian computations.