Closed balakumar-s closed 8 years ago
AFAIK I did that to publish a world-oriented coordinate frame, not a camera-oriented one. Camera frames often use Z as distance from camera pointing angle (depth) and X,Y align with the image axes.
Having Z pointing up made life much simpler for applications using these markers such as object manipulation or robot localisation.
The ideal way to do that would be to set a TF transform between the camera frame and the world frame and then publishing the pose of the object with reference to the camera frame would get transformed. TF setup link. I was setting up a common world frame between robot and camera and your rotations caused trouble and I removed the rotations and now it works well. Thanks for the ROS port.
Yes you are right, although I weighted the most common usages and went for the internal rotation solution to save head scratching for most users.
Actually, this started some head scratching for me: If I visualize the marker coordinate frame from the result
topic with image_view
, I get different coordinate systems than the rviz tf
visualization:
(or is that a different issue?)
One is the internal aruco visualisation, the tf frame is the output I wanted in 2012 :) There's no further explanation to that. If you want to fix that, feel free to send in a pull request.
I'm fine with it -- I only use the ros tf output. I primarily wanted to document this issue :-)
It is in the arucMarker2Tf function.