Closed pragmaticTNT closed 8 years ago
Hello @pragmaticTNT , thanks for your report. It's difficult to see on the RViz screenshot how the frames are oriented... could you provide a clearer screenshot?
To be honest, the tf trnasformation code has been fairly well tested and extensively used, so I'd be surprised of such an issue... :-/ Note that we use the ROS convention for the camera (Z pointing forward, Y pointing up) when converting to TF.
Here are some more screen shots of the of the head orientation. Doesn't the ROS convension specify suffix specify Z forward, X right, Y down for the suffix frame? (This is what is shown in the RVIZ models).
@pragmaticTNT you've closed the issue because you've fixed the problem?
No, sorry. I might have closed the issue by accident. Below is one more picture that may illustrate my dilemma. I have aligned the camera frame as Z-forward, Y-up, X-right in RVIZ and the head movements in the image matches the tf, but there seems to be a slight issue with the head pointing direction (see below). In the image stream the axis created from the projected points suggests that the head is pointing towards the camera - which it is -, but this is not so in the tf visualization. Is the pointing direction only suppose to work when the head is centered in the image? I agree that the code most likely works as intended, but I just want to understand why there is this disparity between the projected points axis and tf transform. Thank you for your time and patience.
Hum... indeed, the disparity is surprising. May it be simply an issue with the perspective 3D projection used by RVIZ?
In any case, I would check the actual angles viewed from ROS (something like rosrun tf_echo tf_echo camera_optical head_pose
) and viewed from the face tracker (cf code here for the code to get the Euler angle)
Just an update: I needed my camera_optical coordinates orientated X-left Y-down Z-forwards. I ended up applying transformations to the output of the head pose estimation. This only sort of fixes the problem... will try to look into the transformations some more. Anyway, thanks for your help @severin-lemaignan !
The coordinate axis presented by the debugger (projected points mapped back onto the image) does not match the published tf transform displayed in RVIZ. The head coordinate axis is upside down and the movements are inverted (compared to those displayed by the debug image).