When the camera is at an extreme angle, ArUco doesn't seem to handle the rotation well. As a result, the ArucoLocalizer::rodriguesToTFQuat method seems to spit out NaNs (which, maybe there is some work there that needs to be done).
It would be nice if there was a way for users of this node to reset the pose tracker with a service call whenever this happens. At it doesn't seem like there is a built-in ArUco way of doing this (looking at the MarkerMapPoseTracker class in posetracker.h) perhaps the next best thing to do is have the service call just re-instantiate the mmPoseTracker_ object.
Thanks @wynn4 for pointing this out.
When the camera is at an extreme angle, ArUco doesn't seem to handle the rotation well. As a result, the
ArucoLocalizer::rodriguesToTFQuatmethod seems to spit out NaNs (which, maybe there is some work there that needs to be done).It would be nice if there was a way for users of this node to reset the pose tracker with a service call whenever this happens. At it doesn't seem like there is a built-in ArUco way of doing this (looking at the
MarkerMapPoseTrackerclass inposetracker.h) perhaps the next best thing to do is have the service call just re-instantiate themmPoseTracker_object.Thanks @wynn4 for pointing this out.