Ask Your Question

Revision history [back]

One problem you will have is that a point and a normal vector do not fully define a 6 FOF pose. For this reason you cannot convert a normal into a quaternion without an addition constraint that defines the rotation about the axis of the normal.

Converting the point and normal into the a world frame is easier though. You can lookup the transform from the frame_id of the point cloud to the world frame. Then you'll need to apply it in two stages:

1) Make a point object from the x y z elements of the cloud point and transform it.

2) Zero the translation of the transform (so it's a pure rotation) then apply it to the normal.

Hope this helps.