Serial robot arms have complicated kinematic equations which must be solved to write effective arm planning and control software (the Inverse Kinematics Problem). Existing software packages for inverse kinematics often rely on numerical methods which have significant shortcomings. Here we report a new symbolic inverse kinematics solver which overcomes the limitations of numerical methods, and the shortcomings of previous symbolic software packages. We integrate Behavior Trees, an execution planning framework previously used for controlling intelligent robot behavior, to organize the equation solving process, and a modular architecture for each solution technique. The system successfully solved, generated a LaTex report, and generated a Python code template for 18 out of 19 example robots of 4-6 DOF. The system is readily extensible, maintainable, and multi-platform with few dependencies. The complete package is available with a Modified BSD license on Github.
Previous research on inverse kinematics lays a good foundation for IKBT. @cite_17 used a rule-based pattern matching approach (implemented as an expert system in LISP) from which IKBT adapted the sin or cos solver, tangent solver, and simultaneous equation solver. Similar to IKBT, that system scanned a list of equations, and found the ones matching patterns, then fetching the respective solutions. Their method solved several commercial robots, including the more complicated PUMA 560. Limitations of this work include a hard coded framework for solution sequencing, and dependence on obsolescent software. Comparatively, IKBT uses very few rule-based solvers, indicative of more efficient logical reasoning.
@cite_17
2171102569
A software package has been developed to solve, symbolically, the direct and inverse kinematics of an n-degree-of-freedom manipulator. As an input, SRAST (symbolic robot arm solution tool) expects the corresponding parameters described by Denavit and Hartenberg (1955). As an output it generates (in closed form) the direct- and inverse-kinematics solutions. When solving the inverse kinematics it is capable of excluding solutions with the n, o, and a vectors, dealing with redundant manipulators, and documenting how the solutions were found. SRAST implements its own symbolic processor and makes use of artificial intelligence techniques. To solve the inverse kinematics, eleven trigonometric rules are heuristically applied to identify a mathematical set of solutions. SRAST has successfully solved a number of industrial manipulators. At present it is the only software package capable of generating the inverse kinematics in symbolic form. >