pal-robotics / aruco_ros

Software package and ROS wrappers of the Aruco Augmented Reality marker detector library
MIT License
449 stars 307 forks source link

Why do you have a rotation of axes when converting to TF in aruco_ros_utils? #19

Closed balakumar-s closed 8 years ago

balakumar-s commented 8 years ago

It is in the arucMarker2Tf function.

bmagyar commented 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.

balakumar-s commented 8 years ago

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.

bmagyar commented 8 years ago

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.

kopp commented 7 years ago

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:

issue

(or is that a different issue?)

bmagyar commented 7 years ago

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.

kopp commented 7 years ago

I'm fine with it -- I only use the ros tf output. I primarily wanted to document this issue :-)