moveit / moveit_calibration

Hand-eye calibration tools for robot arms.
BSD 3-Clause "New" or "Revised" License
143 stars 79 forks source link

Documentation on Roll, Pitch, Yaw Angle Convention for Calibration #106

Open seanbergman98 opened 2 years ago

seanbergman98 commented 2 years ago

Hello! I've been using this tool for the past few weeks, and have to say it works quite well. However, I was realizing there is a lack of documentation on the convention for the output roll, pitch, and yaw angles. When trying to incorporate these angles into a URDF (via the rpy arg) the transform ended up being way off despite looking good during the calibration, which made me realize that two different angle conventions are likely being used.

If there is pre-existing documentation that I missed kindly point me in that direction. Thank you!

JStech commented 2 years ago

There is no documentation for that, although I did implement it specifically so I could copy and paste the values directly into a URDF. I don't know why it's not working for you.

abenbihi commented 1 year ago

Hi,

I have run into a similar issue where using the commented rpy flipped the camera. It might be related to #132

Could it be a conversion difference between how eigen and ros-geometry convert quaternion to euler angles?

In my case, using the ros-geometry euler_from_quaternion on the quaternion saved in the launch file with sxyzprovides good euler angles. (Here "good" means "the tf associated to the optical camera frame points where it should in rviz").

Currently, the code estimates euler angles from quaternion using the eigen library here Eigen::Vector3d r_euler = camera_robotpose.rotation().eulerAngles(0, 1, 2)