Abstract
Robot kinematics generally includes forward and inverse kinematics at the position, velocity, and acceleration level. These constructs are essential for the cartesian control of serial manipulators. This paper presents the development of a C++ class library that supports the forward and inverse kinematics of all possible geometries of serial manipulators. Object-oriented analysis and design is the primary software development methodology used. Application of this methodology led to the sub-division of the kinematics domain into forward, and inverse kinematics. Analysis of these sub-domains resulted in their further sub-division, identification of abstract components, development of classes, interface specifications, and finally implementation and testing. Examples demonstrating programming and extensibility of the components in the kinematics domain are given. This work was part of the development of the Operational Software Components for Advanced Robotics (OSCAR) at the Robotics Research Group of The University of Texas at Austin. OSCAR supports reusable software components for the control of advanced robotic manipulators. This includes mathematical constructs, kinematics, dynamics, fault-tolerance, performance criteria, manual controllers, and a variety of physical manipulators and simulations.