Menu

Home

Kirill Van Heerden

RobotJoint is a humanoid robot modeling, control and trajectory planning C++ library thats:

  1. FAST :
    • RobotJoint uses the Eigen matrix library which makes computation very fast thanks to expression templates.
    • RobotJoint is also geared to take advantage of Eigen's SSE optimizations.
    • RobotJoint also buffers results to prevent unnecessary recalculation costs and leverages this caching facility by updating data structures according to they're dependence on each other. For example, calculating Jacobian's requires forward kinematics for each joint. Therefore instead of calculating forward kinematics and Jacobian's separately, RobotJoint first calculates the forward kinematics and remembers each joints results then this data is used to quickly calculate the Jacobian. Likewise COM position calculation can also benefit from cached forward kinematics and in turn COM Jacobian calculation can benefit from cached partial COM calculations. As a result caching of results combined with the right execution order can considerably decrease computation time.
    • RobotJoint treats each leg and arm as a separate manipulator and will in the future update each manipulator in its own thread
  2. Well documented : TODO! Doxy... Wiki...
    Project Admins: