-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Confused about the orientation of frames #1099
Comments
Hi @sayali-purdue, Please provide references to ROS official documentation and ROS/ROS Wrapper source code lines for each convention/transformation/etc. you have mentioned. That way we will be sure that we on the same page and referencing to the same information. Thank you! |
Thanks for the reply. I am referring to the ROS conventions in: The transform code is in the function 'BaseRealSenseNode::calcAndPublishStaticTransform()' (line #1781) in file https://github.com/IntelRealSense/realsense-ros/blob/development/realsense2_camera/src/base_realsense_node.cpp The transform from _base_frame_id to _frame_id[STREAM] is performed at line #1812, and The quaternion_optical is defined at line #1785 as shown below: Please let me know if you need more details. Thanks again! |
I believe your confusion comes from not taking into account the original camera's orientation of the transformation. The expected orientation of _frame_id[STREAM]: X-forward, Y-left, Z-up. |
Has the comment provided by @doronhi helped to find an answer to your question? Thank you! |
Do you still need help with this question? Thank you! |
Thank you for the response and follow-up. As per your explanation, I understand that the orientation of the (inner) camera system is (X- right, Y- down, Z- forward), which means that the orientation of If this is true, then shouldn't the axes system of translation, Would really appreciate if you could help me to understand the translation part of these static transforms. Thanks! |
I think you are correct. The axes system of translation is changed, as you said, inside the |
Please let us know if you'd like to submit a PR or if you need any further clarifications regarding this topic. Thank you! |
I would be interested in submitting a PR. However, I am afraid if I will be able to do it before end of this month. Please let me know by when do you expect to see the PR. Thanks! |
Hi @sayali-purdue , |
I've tried this but nothing helped is their any other method of changing the orientation of camera in ROS??? |
@sayali-purdue @doronhi |
As per ROS convention, optical frame id should have (X- right, Y- down, Z- forward). Therefore, as per my understanding, in the code, the static transform from _frame_id[STREAM] to _optical_frame_id[STREAM] uses quaternion_optical which changes the axis orientation from (X- forward, Y- left, Z- up) to (X- right, Y- down, Z- forward). This means that _frame_id[STREAM] should have the orientation (X- forward, Y- left, Z- up).
However, I am confused about the transform from _base_frame_id to _frame_id[STREAM]. The code changes the axes orientation for the translation and rotation to (X- right, Y- down, Z- forward). This contradicts my understanding in the above paragraph.
Can somebody please explain me these transforms in terms of orientations? Also, what is the expected orientation of _frame_id[STREAM]?
Thanks!
The text was updated successfully, but these errors were encountered: