ANYbotics/kindr

Fill out interface of pose representation

Opened this issue · 4 comments

Here we need the following:

  1. Match the rotation implementation by implementing inverted() and invert()
  2. Transformation by multiplication (see #28)
  3. Transformation of 4x1 vectors
  4. Support for setRandom() (see #31)
  5. Initialize from a 4x4 matrix (maybe this already exists?)
  6. Fill out the documentation for this (see #22)

Also: transformation of native types (Eigen::Vector3d, Eigen::Vector4d).

@HannesSommer, @remod, @gehrinch, this is a show stopper for me. I want to push to use Kindr in the rewrite of aslam_cv but it isn't possible without:

  1. Match the rotation implementation by implementing inverted() and invert()
  2. Transformation of 4x1 vectors
  3. Initialize from a 4x4 matrix (maybe this already exists?)
  4. Fill out the documentation for this (see #22)

and I realized that the Pose/transformation is missing composition!

I honestly tried to implement it myself but it isn't possible without getting some design document that explains how to put something like that together (and why it is put together like this).

Any chance someone has some cycles to help?

I can certainly write something about the design goals and rational about some decisions (see #21). But can that wait till tomorrow? Btw. I don't think the design has completely stabilized yet - it is not even consistent over all classes.
This library is young and has quite difficult goals. The most important thing at the moment is the exterior interface. So people can start to use - at least the part that is implemented.
From that usage the exterior interface will stabilize. The interior structure can and will still change a bit. But I don't think there is a much simpler then existing in it with various fashions without scarifying important goals.

Yes, of course it can wait until tomorrow. Thanks for helping me understand the design. As I said, the external interface is very nice.