TriP

trip_logo

Goal

While the problem of forward and inverse kinematic calculations for open chains is well supported by existing technologies, there are relatively few solutions dealing with closed chains or hybrid chains. TriP was designed to close that gap.

Contribution

The simulation was a joint effort between Torben Miller and me. I first designed a system architecture and developed software requirements. I then supervised Torben Millers Bachelor thesis where he implemented the basic objects based on the requirements. I also developed the testing Framework, implemented kinematic solvers and and wrote the documentation. The project is still ongoing and I continue to develop every facet of the code.

Result

TriP is a fully featured and Tested library capable of modelling the kinematics of arbitrary mechanisms. Its features include:

  • Modelling any robot (including closed and hybrid chains)
  • Generateting symbolic representations of forward kinematics
  • Computting Jacobian matrices for differential kinematics
  • Computting the inverse kinematics of arbitrary rigid mechanisms (faster than IKPy)
  • Computting the Inverse Kinematics in position and/or orientation
  • Supporting arbitrary joint types and quaternions
  • Including several ready to use examples (TriPed robot, Excavator Arm)
  • TriPs validates the inverse kinematics algorithms with extensive testing using analytic solutions.

What I learned

While the rogata engine was my first software development project meant to be used by other people, TriP was the first mayor project where I used continous integration and other devops workflows. The prohject showed me once again the importance of a proper workflow for poth efficiency and reliability. In terms of specific technologies I learned how to properly Lint my code and write fully pep8 conform python code. The project also deepend my understanding of system architecture.